miroking 1 Postado Janeiro 19, 2011 Share Postado Janeiro 19, 2011 Opa eu pedi um script pra um cara e ele o fez, até certo ponto estava perfeito, o script consiste de um npc que você falara com ele, se voce tiver 1kk ele tira 1kk de voce e te da um item. porem se voce tiver 10kk e quiser 10 itens iguais basta voce falar 10 vezes com o npc, eu queria pedir se algum de voces poderiam terminar o script para mim fazendo com que voce só possa pegar esse item 1 vez, após isso se voce tentar novamente nada acontece e ele fala "Humano ganancioso, saia daqui" acho que é até facil fazer isso mas eu sou uma besta para scripts kkkk, creio que seja adicionando um StorageValue aqui está o script 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'QUEST') then selfSay('hmm... vejo que sabe sobre nós, aqui esta esse item por 1kk, diga yes se o quiser') talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then local price = 1000000 if getPlayerItemCount(cid, 2160) >= 100 and getPlayerMoney(cid) >= price then if doPlayerRemoveMoney(cid, price) then selfSay('aqui esta esse item por 1kk', cid) doPlayerRemoveItem(cid, 2160, 100) doPlayerAddItem(cid, 2407, 1) talkState[talkUser] = 0 end else selfSay('mas oque é isso, estou pedindo uma quantidade tao baixa, nada feito', cid) talkState[talkUser] = 0 end elseif msgcontains(msg, 'no') and (talkState[talkUser] >= 1 and talkState[talkUser] <= 3) then selfSay('ok até mais', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Link para o comentário https://xtibia.com/forum/topic/149762-script-de-quest-mal-acabado/ Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Janeiro 19, 2011 Share Postado Janeiro 19, 2011 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local price = 1000000 local storage = 95745 if msgcontains(msg, 'QUEST') then selfSay('hmm... vejo que sabe sobre nós, aqui esta esse item por 1kk, diga yes se o quiser') talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage) <= 0 then if doPlayerRemoveMoney(cid, price) == TRUE then selfSay('aqui esta esse item por 1kk', cid) doPlayerAddItem(cid, 2407, 1) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 else selfSay('mas oque é isso, estou pedindo uma quantidade tao baixa, nada feito', cid) talkState[talkUser] = 0 end else selfSay('Humano ganancioso, saia daqui', cid) talkState[talkUser] = 0 end elseif msgcontains(msg, 'no') and talkState[talkUser] >= 1 then selfSay('ok até mais', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Link para o comentário https://xtibia.com/forum/topic/149762-script-de-quest-mal-acabado/#findComment-990259 Compartilhar em outros sites More sharing options...
miroking 1 Postado Janeiro 19, 2011 Autor Share Postado Janeiro 19, 2011 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local price = 1000000 local storage = 95745 if msgcontains(msg, 'QUEST') then selfSay('hmm... vejo que sabe sobre nós, aqui esta esse item por 1kk, diga yes se o quiser') talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage) <= 0 then if doPlayerRemoveMoney(cid, price) == TRUE then selfSay('aqui esta esse item por 1kk', cid) doPlayerAddItem(cid, 2407, 1) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 else selfSay('mas oque é isso, estou pedindo uma quantidade tao baixa, nada feito', cid) talkState[talkUser] = 0 end else selfSay('Humano ganancioso, saia daqui', cid) talkState[talkUser] = 0 end elseif msgcontains(msg, 'no') and talkState[talkUser] >= 1 then selfSay('ok até mais', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) nas linhas if getPlayerStorageValue(cid, storage) <= 0 then setPlayerStorageValue(cid, storage, 1) eu devo mudar o "storage" pro numero que eu quiser ? Link para o comentário https://xtibia.com/forum/topic/149762-script-de-quest-mal-acabado/#findComment-990265 Compartilhar em outros sites More sharing options...
Eskylo 175 Postado Janeiro 19, 2011 Share Postado Janeiro 19, 2011 deixa escrito storage ai mesmo, se quiser mudar muda aki [color="#000088"]local[/color] storage [color="#666600"]=[/color] [color="#006666"]95745[/color] muda o numero Link para o comentário https://xtibia.com/forum/topic/149762-script-de-quest-mal-acabado/#findComment-990267 Compartilhar em outros sites More sharing options...
miroking 1 Postado Janeiro 19, 2011 Autor Share Postado Janeiro 19, 2011 certo brigadao, a duvida em questao ja foi mtu bem sanada porem uma mini-duvida : como eu faço para achar todos os storage values que ainda podem ser usados, digo achar os que nao foram usados em outra quests etc ? Link para o comentário https://xtibia.com/forum/topic/149762-script-de-quest-mal-acabado/#findComment-990268 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Janeiro 19, 2011 Share Postado Janeiro 19, 2011 seilá faz um comando/action que check se tem a storage... Link para o comentário https://xtibia.com/forum/topic/149762-script-de-quest-mal-acabado/#findComment-990278 Compartilhar em outros sites More sharing options...
miroking 1 Postado Janeiro 19, 2011 Autor Share Postado Janeiro 19, 2011 ok brigadao te dei um +REP Link para o comentário https://xtibia.com/forum/topic/149762-script-de-quest-mal-acabado/#findComment-990280 Compartilhar em outros sites More sharing options...
Posts Recomendados