- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] Pedido de área e baú exclusivo para clan (Pokémon).
[Encerrado] Pedido de área e baú exclusivo para clan (Pokémon).
Por lgan, 21 de dez. de 2013 em Tópicos Sem Resposta
Editado Dezembro 22 por zipter98
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...
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
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
endfunction 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
endfunction 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[1] = Volcanic [2] = Seavell [3] = Orebound [4] = Wingeon [5] = Malefic [6] = Gardestrike [7] = Psycraft [8] = Naturia [9] = Raibolt
Editado Dezembro 22 por zipter98
peço desculpas pela demora no teste... pois estava trabalhando muito nesse natal.
deu certo... aki... muito obrigado..... podem mover o topico...
Tópico movido para a seção de dúvidas e pedidos resolvidos.
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

+ 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.




info
Grupo: Campones
Registrado: 23/08/12
Posts: 67
Reputação: +1
Gênero: Masculino
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 Dezembro 22 por zipter98