Nitrox 6 Postado Novembro 23, 2011 Share Postado Novembro 23, 2011 Ot 8.6< Bom pessoal mexi em algumas coisas, juntei alguns script, e acabei fazendo um npc que dá xp por storage! bem como assim? bom você faz uma quest e volta pra falar com o npc, assim, ele te da tando de xp, só que, ele continua dando xp sempre, queria saber como faço pra ele só dar uma vez! local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end npcHandler:setMessage(MESSAGE_GREET, "Hello welcome to Global Server RPG, Make quest in 2 floor up of my House, and back to me saying Quest ") function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid -- Conversa Jogador/NPC if(msgcontains(msg, 'Quest')) and getPlayerStorageValue(cid, 60994)>=1 then doSendAnimatedText(getPlayerPosition(cid),"Exp", TEXTCOLOR_RED) doPlayerAddExp(cid,100) selfSay('Thanks, can continue your expedition!.',cid) talkState[talkUser] = 1 else selfSay('You dont maked quest!.',cid) talkState[talkUser] = 1 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Ta ai, desde já agradecido! Link para o comentário https://xtibia.com/forum/topic/173215-ajuda-com-script/ Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Novembro 23, 2011 Share Postado Novembro 23, 2011 (editado) Você precissa verificar a storage: if getPlayerStorageValue(cid, storage) E depois você precissa setar a storage: setPlayerStorageValue(cid, storage) -= No script você fez certo, para ele verificar porém você não setou nemhuma storage, nunca funcionará Editado Novembro 23, 2011 por SkyDangerous Link para o comentário https://xtibia.com/forum/topic/173215-ajuda-com-script/#findComment-1137880 Compartilhar em outros sites More sharing options...
Nitrox 6 Postado Novembro 23, 2011 Autor Share Postado Novembro 23, 2011 (editado) @SkyDangerous Poderia me mandar como ficaria o script, e como eu faço pra adicionar outra dessa nesse mesmo npc, só que usando a storage anterior pra pedir a próximo missão? dou REP+ Editado Novembro 23, 2011 por Nitrox Link para o comentário https://xtibia.com/forum/topic/173215-ajuda-com-script/#findComment-1137882 Compartilhar em outros sites More sharing options...
jhon992 371 Postado Novembro 23, 2011 Share Postado Novembro 23, 2011 esse aqui vai funcionar: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end npcHandler:setMessage(MESSAGE_GREET, "Hello welcome to Global Server RPG, Make quest in 2 floor up of my House, and back to me saying Quest ") function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid -- Conversa Jogador/NPC if(msgcontains(msg, 'Quest')) and getPlayerStorageValue(cid, 60994)>=1 then doSendAnimatedText(getPlayerPosition(cid),"Exp", TEXTCOLOR_RED) doPlayerAddExp(cid,100) setPlayerStorageValue(cid, 60994,0) -- quando o jogador receber o xp o storage dele é zerado, ou seja quando ele falar com o npc novamente ñ ganhara mais esse xp selfSay('Thanks, can continue your expedition!.',cid) talkState[talkUser] = 1 else selfSay('You dont maked quest!.',cid) talkState[talkUser] = 1 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) se não éh isso que tu quer, explica melhor que a galera aqui te ajuda! Link para o comentário https://xtibia.com/forum/topic/173215-ajuda-com-script/#findComment-1137944 Compartilhar em outros sites More sharing options...
Fir3element 185 Postado Novembro 23, 2011 Share Postado Novembro 23, 2011 (editado) local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end npcHandler:setMessage(MESSAGE_GREET, "Hello welcome to Global Server RPG, Make quest in 2 floor up of my House, and back to me saying Quest ") function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid -- Conversa Jogador/NPC if getPlayerStorageValue(cid, 60995) <= 0 then if(msgcontains(msg, 'Quest')) and getPlayerStorageValue(cid, 60994) >= 1 then doSendAnimatedText(getPlayerPosition(cid),"Exp", TEXTCOLOR_RED) doPlayerAddExp(cid,100) setPlayerStorageValue(cid, 60995, 1) setPlayerStorageValue(cid, 60994, 0) selfSay('Thanks, can continue your expedition!.', cid) talkState[talkUser] = 1 else selfSay('You do not maked quest!.', cid) talkState[talkUser] = 1 end else selfSay('You have done this quest!.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Novembro 23, 2011 por fireelement Link para o comentário https://xtibia.com/forum/topic/173215-ajuda-com-script/#findComment-1137950 Compartilhar em outros sites More sharing options...
Posts Recomendados