Postado Julho 7, 2017 7 anos Em 10/06/2017 ás 16:23, Sekk disse: precisa fazer um script de action assim: em actions.xml vc coloca <action actionid="9995" script="nomedoarquivo.lua" /> <action actionid="9996" script="nomedoarquivo.lua" /> <action actionid="9997" script="nomedoarquivo.lua" /> <action actionid="9998" script="nomedoarquivo.lua" /> <action actionid="9999" script="nomedoarquivo.lua" /> obs.: as 5 tags usam o mesmo arquivo. agora no arquivo .lua vc coloca isso: Ocultar conteúdo local stor = getPlayerStorageValue(cid, 100) function onUse(cid, item, frompos, item2, topos) if item.aid == 9995 then if stor <= 0 then doPlayerSendTextMessage(cid,22,"Parabens, voce recebeu seu premio!") doPlayerAddItem(cid,7415,1) -- item que vai dar ao player setPlayerStorageValue(cid,100,1) else doPlayerSendTextMessage(cid,22,"Voce ja recebeu seu premio.") end end if item.aid == 9996 then -- esse é pra paladin pq ta dando arco e flecha if stor <= 0 then doPlayerSendTextMessage(cid,22,"Parabens, voce recebeu seu premio!") doPlayerAddItem(cid,7364,1) -- item que vai dar ao player doPlayerAddItem(cid,8851,1) -- item que vai dar ao player setPlayerStorageValue(cid,100,1) else doPlayerSendTextMessage(cid,22,"Voce ja recebeu seu premio.") end end if item.aid == 9997 then if stor <= 0 then doPlayerSendTextMessage(cid,22,"Parabens, voce recebeu seu premio!") doPlayerAddItem(cid,7405,1) -- item que vai dar ao player setPlayerStorageValue(cid,100,1) else doPlayerSendTextMessage(cid,22,"Voce ja recebeu seu premio.") end end if item.aid == 9998 then if stor <= 0 then doPlayerSendTextMessage(cid,22,"Parabens, voce recebeu seu premio!") doPlayerAddItem(cid,8924,1) -- item que vai dar ao player setPlayerStorageValue(cid,100,1) else doPlayerSendTextMessage(cid,22,"Voce ja recebeu seu premio.") end end if item.aid == 9999 then if stor <= 0 then doPlayerSendTextMessage(cid,22,"Parabens, voce recebeu seu premio!") doPlayerAddItem(cid,2433,1) -- item que vai dar ao player setPlayerStorageValue(cid,100,1) else doPlayerSendTextMessage(cid,22,"Voce ja recebeu seu premio.") end end return true end Nesse script ta configurado para 5 baús, para remover um é só vc remover isso: if item.aid == XXXX then if stor <= 0 then doPlayerSendTextMessage(cid,22,"Parabens, voce recebeu seu premio!") doPlayerAddItem(cid,XXXX,1) -- item que vai dar ao player setPlayerStorageValue(cid,100,1) else doPlayerSendTextMessage(cid,22,"Voce ja recebeu seu premio.") end end e para adicionar é o mesmo esquema. No RME vc adiciona as actionids referentes ao script nos baús Cara eu sou iniciante em script, pode me esclarecer esse parte da sua script: local stor = getPlayerStorageValue(cid, 100) function onUse(cid, item, frompos, item2, topos) if item.aid == 9995 then if stor <= 0 then doPlayerSendTextMessage(cid,22,"Parabens, voce recebeu seu premio!") doPlayerAddItem(cid,7415,1) -- item que vai dar ao player setPlayerStorageValue(cid,100,1) Minha observaçao é a seguinte: Você deu o valor inicial na Storage de 100, porem na hora de verificar a Storage está if stor <= 0 then 100 é maior que 0 então vai dar false e vai pular e consequentemente não vai dar premio ao player Essa foi a logica que eu aprendi, poderia me explicar oque você fez? Obs: Quero adquirir conhecimento por isso estou te perguntando, obrigado desde já. Editado Julho 7, 2017 7 anos por UsToOliNN (veja o histórico de edições)
Postado Julho 7, 2017 7 anos 13 minutos atrás, UsToOliNN disse: Cara eu sou iniciante em script, pode me esclarecer esse parte da sua script: local stor = getPlayerStorageValue(cid, 100) function onUse(cid, item, frompos, item2, topos) if item.aid == 9995 then if stor <= 0 then doPlayerSendTextMessage(cid,22,"Parabens, voce recebeu seu premio!") doPlayerAddItem(cid,7415,1) -- item que vai dar ao player setPlayerStorageValue(cid,100,1) Minha observaçao é a seguinte: Você deu o valor inicial na Storage de 100, porem na hora de verificar a Storage está if stor <= 0 then 100 é maior que 0 então vai dar false e vai pular e consequentemente não vai dar premio ao player Essa foi a logica que eu aprendi, poderia me explicar oque você fez? Obs: Quero adquirir conhecimento por isso estou te perguntando, obrigado desde já. Aprender sempre é bom kkk, eu faço bastante isso ainda mas vamos la: a linha local stor = getPlayerStorageValue(cid, 100) O 100 não é o valor da storage, ele é apenas a identificação de qual storage é entendeu? if stor <= 0 Aqui eu to checando se a storage 100 tem o valor menor que 0, se tiver(sempre começa com -1 ou 0 as storages), seta a storage pro valor 1(agora o player ja possui a storage) e acontece os efeitos. Eu fiz a mesma checagem em todos os itens pq tipo, eu sou um kina, a storage ta menor que 0, eu pego uma sword, storage vai pra 1, se eu tentar pegar o axe, não vai da, pq a storage ja ta em 1, e ele só entrega o item se for menor ou igual a 0, sacou? GitHub: https://github.com/s3kk Conteúdo: [SERVER] Heromassa[GESIOR] Gesior 2012 modificado por Sekk[GESIOR] Shop Addons & Mounts - TFS 1.x[GESIOR] Outfitter para Characters e Rank[SISTEMA] Castle 24h[TALKACTION] Multi Element Wand[ACTION] Multi Elemental Arrow & Shield[PROGRAMAÇÃO] Compilar TFS 0.4 no Linux[PROGRAMAÇÃO] Compilando TFS 0.4 no MSVC(x64 e x32) [INFRAESTRUTURA] Configuração COMPLETA Google VM + Tibia 11.x
Postado Julho 7, 2017 7 anos 6 minutos atrás, Sekk disse: Aprender sempre é bom kkk, eu faço bastante isso ainda mas vamos la: a linha local stor = getPlayerStorageValue(cid, 100) O 100 não é o valor da storage, ele é apenas a identificação de qual storage é entendeu? if stor <= 0 Aqui eu to checando se a storage 100 tem o valor menor que 0, se tiver(sempre começa com -1 ou 0 as storages), seta a storage pro valor 1(agora o player ja possui a storage) e acontece os efeitos. Eu fiz a mesma checagem em todos os itens pq tipo, eu sou um kina, a storage ta menor que 0, eu pego uma sword, storage vai pra 1, se eu tentar pegar o axe, não vai da, pq a storage ja ta em 1, e ele só entrega o item se for menor ou igual a 0, sacou? Caramba agora saquei, o 100 é apenas uma identificação se a storage for -1 quer dizer que ele não fez porém após você fazer a quest acrecenta 1 a storage então na proxima vez que ele tentar fazer a quest não passa na verificação e manda a mensagem que ele já fez. CARAMBA EU ESTAVA PENSANDO DE UMA MANEIRA NADA HAVER KKKKKKKKKKKKKKKKKKKKKKKK' OBRIGADO POR CONTRIBUIR :D
Postado Julho 8, 2017 7 anos Em 07/07/2017 ás 01:12, UsToOliNN disse: Caramba agora saquei, o 100 é apenas uma identificação se a storage for -1 quer dizer que ele não fez porém após você fazer a quest acrecenta 1 a storage então na proxima vez que ele tentar fazer a quest não passa na verificação e manda a mensagem que ele já fez. CARAMBA EU ESTAVA PENSANDO DE UMA MANEIRA NADA HAVER KKKKKKKKKKKKKKKKKKKKKKKK' OBRIGADO POR CONTRIBUIR :D magina cara kkkk qualquer coisa, tamo ae xD GitHub: https://github.com/s3kk Conteúdo: [SERVER] Heromassa[GESIOR] Gesior 2012 modificado por Sekk[GESIOR] Shop Addons & Mounts - TFS 1.x[GESIOR] Outfitter para Characters e Rank[SISTEMA] Castle 24h[TALKACTION] Multi Element Wand[ACTION] Multi Elemental Arrow & Shield[PROGRAMAÇÃO] Compilar TFS 0.4 no Linux[PROGRAMAÇÃO] Compilando TFS 0.4 no MSVC(x64 e x32) [INFRAESTRUTURA] Configuração COMPLETA Google VM + Tibia 11.x
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.