Ir para conteúdo

[Encerrado] Pedido de área e baú exclusivo para clan (Pokémon).


lgan

Posts Recomendados

fala galera... olha soh estou querendo fazer algumas areas especificas, onde apenas players com determinados clans possam passar...

 

ex: uma area exclusiva para Malefic Lord.. estou com dificuldade de fazer isso funcionar...(sou muito ruim com scripts.. kkkk)

 

vou postar aki em ex. de movement que uso em meu ot, se alguem souber como faço para que ele seja exclusivo pra o clan expecifico...

 

 

function onStepIn(cid, item, position, fromPosition)
local storage = 659875
if getPlayerStorageValue(cid, storage) <= 0 or not isPremium(cid) then
doPlayerSendCancel(cid, 'Você precisa completar a quest da SilphCO para passar por aqui.')
doTeleportThing(cid, fromPosition, true) return true
end
return true
end

 

 

ah outra coisa um báu tb que só pode ser aberto por malefic rank 5, por exemplo... se alguem souber e puder ajudar ai...

 

vlw

Editado por zipter98
Link para o comentário
Compartilhar em outros sites

Opa, primeiramente, seja mais objetivo no título de seu tópico. Este deve conter, resumidamente, o objetivo/conteúdo do tópico. Mais cuidado da próxima vez.

Título alterado. Caso esteja insatisfeito, você pode alterá-lo usando a ferramenta "Usar Editor Completo".


@pedido

Você não acha mais fácil um script que funcione da seguinte maneira: uma única porta que teleporta o jogador para uma posição x (nesse caso, a posição da área exclusiva do clan). E um baú com a mesma funcionalidade?

Editado por zipter98
Link para o comentário
Compartilhar em outros sites

desculpas ai pelo titulo...

 

sobre o pedido... na realidade serão usados de maneiras diferentes....

 

o bau q soh pode ser aberto por determinado clan....

 

e a area q soh pode ser acessada por determinado clan...

 

peço desculpas novamente se não fui claro no meu topico...

Link para o comentário
Compartilhar em outros sites

Estava relendo meu comentário anterior, e não expliquei direito, desculpe.

Vou resumir: a porta teleporta o jogador para uma posição x que varia de acordo com o clan dele; mesmo caso com o baú. Ou seja, ao invés de criar 18 códigos, só serão usados 2.

Se você tiver feito algo como isso: cada clan tem uma porta/baú personalizada/personalizado; só avisar aqui o ID deles.

Pelo que entendi, a funcionalidade seria exatamente a mesma.

 

Uma pergunta, poderia informar os prêmios do baú? Ou, pelo menos, quantos irá ganhar (e a quantidade, claro).

 

De qualquer maneira, fiz aqui as opções. Se der algum erro, só mandar. (suponho que você saiba fazer as tags)

 

1ª opção:

 

1 código para cada clan.

Step in:

function onStepIn(cid, item, position, fromPosition)
 
local clan_valor = xxx     --Valor da storage 86228 (por exemplo, se colocar 1, vai ser Volcanic; já 2, Seavell).
 
    if getPlayerStorageValue(cid, 86228) ~= clan_valor then 
        return doPlayerSendCancel(cid, "Você não pode passar aqui.") and doTeleportThing(cid, fromPosition) 
    elseif getPlayerStorageValue(cid, 862281) <= 4 then     --Só rank 5 poderá entrar na área exclusiva.
        return doPlayerSendCancel(cid, "Só jogadores de rank 5 podem passar por aqui!")
    end
    
    doPlayerSendTextMessage(cid, 27, "Welcome to your clan's exclusive room.")
    return true
end
Baú:
function onUse(cid, item, frompos, item2, topos)
 
local clan_valor = xxx     --Valor da storage 86228 (por exemplo, se colocar 1, vai ser Volcanic; já 2, Seavell).
local recompensa = {{id do item, quantidade}}    --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}, seguindo como exemplo esse abaixo, com 3 items:
--[[ Exemplo:
local recompensa = {{2160, 10}, {2159, 20}, {2143, 30}}    --Sempre com uma vírgula separando os { }. Dessa maneira, o jogador irá receber: 10 unidades do item de ID 2160, 20 unidades do item de ID 2159, e 30 unidades do item de ID 2143.
]]--
 
    if getPlayerStorageValue(cid, 86228) ~= clan_valor then 
        return doPlayerSendCancel(cid, "Sorry, not possible.")
    elseif getPlayerStorageValue(cid, 862281) <= 4 then     --Só rank 5 poderá entrar na área exclusiva.
        return doPlayerSendCancel(cid, "Só jogadores de rank 5 podem passar por aqui!")
    elseif getPlayerStorageValue(cid, 71421) >= 1 then
        return doPlayerSendCancel(cid, "Sorry, you already got your prizes.")
    end
    
    for _, b in pairs(recompensa) do
        if not isItemStackable(b[1]) then
            for i = 1, b[2] do
                doPlayerAddItem(cid, b[1], 1)
            end
        else
            doPlayerAddItem(cid, b[1], b[2])
        end
    end
    setPlayerStorageValue(cid, 71421, 1)
    doPlayerSendTextMessage(cid, 27, "Congratulations, you complete the quest.")
    return true
end
2ª opção:
2 códigos que já envolvem todos os clans.
Porta (preferi fazer desta maneira, espero que não se importe):
function onUse(cid, item, frompos, item2, topos)
 
local cfg = {
    [1] = {x = x, y = y, z = z},    --Posição inicial da área exclusiva de Volcanic.
    [2] = {x = x, y = y, z = z},    --Posição inicial da área exclusiva de Seavell.
    [3] = {x = x, y = y, z = z},    --Posição inicial da área exclusiva de Orebound.
    [4] = {x = x, y = y, z = z},    --Posição inicial da área exclusiva de Wingeon.
    [5] = {x = x, y = y, z = z},    --Posição inicial da área exclusiva de Malefic.
    [6] = {x = x, y = y, z = z},    --Posição inicial da área exclusiva de Gardestrike.
    [7] = {x = x, y = y, z = z},    --Posição inicial da área exclusiva de Psycraft.
    [8] = {x = x, y = y, z = z},    --Posição inicial da área exclusiva de Naturia.
    [9] = {x = x, y = y, z = z},    --Posição inicial da área exclusiva de Raibolt.
}
 
local to_pos = cfg[getPlayerStorageValue(cid, 86228)]
 
    if getPlayerStorageValue(cid, 86228) <= 0 then
        return doPlayerSendCancel(cid, "Você não pertence à clan algum!")
    elseif getPlayerStorageValue(cid, 862281) <= 4 then     --Só rank 5 poderá entrar na área exclusiva.
        return doPlayerSendCancel(cid, "Só jogadores de rank 5 podem passar por aqui!")
    end
    
    doTeleportThing(cid, to_pos)
    doPlayerSendTextMessage(cid, 27, "Welcome to your clan's exclusive room.")
    return true
end
Baú:
function onUse(cid, item, frompos, item2, topos)
 
local cfg = {
    [1] = {{id do item, quantidade}},   --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}. Siga como exemplo o apresentado logo abaixo dessa tabela.
    [2] = {{id do item, quantidade}},   --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}. Siga como exemplo o apresentado logo abaixo dessa tabela.
    [3] = {{id do item, quantidade}},   --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}. Siga como exemplo o apresentado logo abaixo dessa tabela.
    [4] = {{id do item, quantidade}},   --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}. Siga como exemplo o apresentado logo abaixo dessa tabela.
    [5] = {{id do item, quantidade}},   --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}. Siga como exemplo o apresentado logo abaixo dessa tabela.
    [6] = {{id do item, quantidade}},   --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}. Siga como exemplo o apresentado logo abaixo dessa tabela.
    [7] = {{id do item, quantidade}},   --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}. Siga como exemplo o apresentado logo abaixo dessa tabela.
    [8] = {{id do item, quantidade}},   --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}. Siga como exemplo o apresentado logo abaixo dessa tabela.
    [9] = {{id do item, quantidade}},   --Se quiser adicionar mais items, basta colocar mais um {id do item, quantidade}. Siga como exemplo o apresentado logo abaixo dessa tabela.
}
 
-[[ Exemplo:
[número] = {{2160, 10}, {2159, 20}, {2143, 30}},    --Sempre com uma vírgula separando os { } (Lembre-se: NÃO coloque uma vírgula após o último { }). Dessa maneira, o jogador irá receber: 10 unidades do item de ID 2160, 20 unidades do item de ID 2159, e 30 unidades do item de ID 2143.
]]--
 
local prizes = cfg[getPlayerStorageValue(cid, 86228)]
 
    if getPlayerStorageValue(cid, 86228) <= 0 then
        return doPlayerSendCancel(cid, "Você não pertence à clan algum!")
    elseif getPlayerStorageValue(cid, 862281) <= 4 then     --Só rank 5 poderá entrar na área exclusiva.
        return doPlayerSendCancel(cid, "Só jogadores de rank 5 podem passar por aqui!")
    elseif getPlayerStorageValue(cid, 872231) >= 1 then
        return doPlayerSendCancel(cid, "Sorry, you already got your prizes.")
    end
 
    for _, b in pairs(recompensa) do
        if not isItemStackable(b[1]) then
            for i = 1, b[2] do
                doPlayerAddItem(cid, b[1], 1)
            end
        else
            doPlayerAddItem(cid, b[1], b[2])
        end
    end
    doPlayerSendTextMessage(cid, 27, "Congratulations, you complete the quest.")
    setPlayerStorageValue(cid, 872231, 1)
    return true
end
Tabela com valor da storage 86228, e seu respectivo clan:
[1] = Volcanic
[2] = Seavell
[3] = Orebound
[4] = Wingeon
[5] = Malefic
[6] = Gardestrike
[7] = Psycraft
[8] = Naturia
[9] = Raibolt
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

peço desculpas pela demora no teste... pois estava trabalhando muito nesse natal.

 

deu certo... aki... muito obrigado..... podem mover o topico...

Link para o comentário
Compartilhar em outros sites

  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...