Postado Agosto 21, 2017 7 anos Eu fiz um scripts mas nao deu certo coloquei ele em (actionid) quando jogador passa ganha itens mas se ele passa novamente ele ganha de novo ai coloquei em (uniqueid) Ai novo jogador passa na ganha nada por favor ajuda ver se eu fiz algo errado Eu Quero Que Jogado Ganha So Uma Vez <movevent type="StepIn" uniqueid="12670" event="script" value="pisopicareta.lua"/> function onStepIn(cid, item, position, fromPosition) local itemid = 12670 --(Nome Do Itens Que vai Ganha) local itemcount = 1 --(quantos itens jogado vai ganha) if getPlayerStorageValue(cid, 97864) < 1 then doPlayerAddItem(cid, itemid, itemcount) doPlayerSendTextMessage(cid,25,"Você Ganho 1 Picareta.") --(aqui vai Ficar mensagem) setPlayerStorageValue(cid, 97864, 0) end end Editado Agosto 21, 2017 7 anos por Soaresdk (veja o histórico de edições)
Postado Agosto 21, 2017 7 anos @Soaresdk, eu refiz pra você, mas o único problema do seu script é na storage: A condição para entregar o item é: if getPlayerStorageValue(cid, 97864) < 1 then -- se o valor da storage for menor que 1 então E sua linha de alterar storage, está alterando ela para 0, então sempre vai estar na condição de ganhar o item: setPlayerStorageValue(cid, 97864, 0) --CORRETO> setPlayerStorageValue(cid, 97864, 1) Script: local item = {12670, 1} function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 97864) < 1 then doPlayerAddItem(cid, item[1], item[2]) doPlayerSendTextMessage(cid, 25, "Você encontrou ".. item[2] .." ".. getItemNameById(item[1]) ..".") setPlayerStorageValue(cid, 97864, 1) else doPlayerSendTextMessage(cid, 25, "Você já pegou esse item.") end return true end ➥ Regras | Seções OTServ | Seções BOT
Postado Agosto 21, 2017 7 anos local itemid = 12670 --(Nome Do Itens Que vai Ganha) local itemcount = 1 --(quantos itens jogado vai ganha) local msg_ongain = "Você Ganhou 1 Picareta." local msg_fail = "Desculpe, mas voce ja pegou a picareta" function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 97864) < 1 then -- Se a storage 97864 for menor que 1 ganha o item doPlayerAddItem(cid, itemid, itemcount) -- Aqui enviamos o item ao player doPlayerSendTextMessage(cid,25,msg_ongain) --Mensagem setPlayerStorageValue(cid, 97864, 1) -- aqui damos a storage 1 para ele nao ganha mais o item else doPlayerSendTextMessage(cid,25,msg_fail) --Mensagem doTeleportThing(cid, fromPosition) doSendMagicEffect(getCreaturePos(cid), 1) end end Editado Agosto 21, 2017 7 anos por DboExplorer (veja o histórico de edições) Te ajudei ?? Que tal fazer uma contribuição ?
Postado Agosto 21, 2017 7 anos Autor 10 horas atrás, Wakon disse: @Soaresdk, eu refiz pra você, mas o único problema do seu script é na storage: A condição para entregar o item é: if getPlayerStorageValue(cid, 97864) < 1 then -- se o valor da storage for menor que 1 então E sua linha de alterar storage, está alterando ela para 0, então sempre vai estar na condição de ganhar o item: setPlayerStorageValue(cid, 97864, 0) --CORRETO> setPlayerStorageValue(cid, 97864, 1) Script: local item = {12670, 1} function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 97864) < 1 then doPlayerAddItem(cid, item[1], item[2]) doPlayerSendTextMessage(cid, 25, "Você encontrou ".. item[2] .." ".. getItemNameById(item[1]) ..".") setPlayerStorageValue(cid, 97864, 1) else doPlayerSendTextMessage(cid, 25, "Você já pegou esse item.") end return true end Vou Testa Ok Ja Editor ( Vlw ) 1 hora atrás, DboExplorer disse: local itemid = 12670 --(Nome Do Itens Que vai Ganha) local itemcount = 1 --(quantos itens jogado vai ganha) local msg_ongain = "Você Ganhou 1 Picareta." local msg_fail = "Desculpe, mas voce ja pegou a picareta" function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 97864) < 1 then -- Se a storage 97864 for menor que 1 ganha o item doPlayerAddItem(cid, itemid, itemcount) -- Aqui enviamos o item ao player doPlayerSendTextMessage(cid,25,msg_ongain) --Mensagem setPlayerStorageValue(cid, 97864, 1) -- aqui damos a storage 1 para ele nao ganha mais o item else doPlayerSendTextMessage(cid,25,msg_fail) --Mensagem doTeleportThing(cid, fromPosition) doSendMagicEffect(getCreaturePos(cid), 1) end end Obrigado Mano Vlw Pela Ajuda De Todos TÓPICO RESOLVIDO Editado Agosto 21, 2017 7 anos por Soaresdk (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.