groku 13 Postado Outubro 1, 2011 Share Postado Outubro 1, 2011 (editado) Olá! Estou fazendo um projeto com meu primo, não posso falar de que é. Mas achei uma outra função para o SOUL e preciso muito (mesmo) de um NPC que vende a quantidade de soul que o player pedir. Por exemplo: -Hi -Buy Soul -100 PS: Mas assim, a quantidade de soul comprada seja a que o PLAYER ESCOLHER PS: Para versão 8.54 Editado Outubro 1, 2011 por groku Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Outubro 2, 2011 Share Postado Outubro 2, 2011 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local talkState = {} 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 p = 50 -- preço de cada soul local max = 100 -- quantidade max que podera ser vendida if msgcontains(msg, "soul") then selfSay("Você deseja comprar quantos soul?", cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if getNumber(msg) <= max then n = getNumber(msg) if n ~= 0 then if getPlayerMoney(cid) > p*n then selfSay('Você deseja mesmo comprar '..n..' soul por '..n*(p)..' gold coins {yes}?', cid) talkState[talkUser] = 2 else selfSay('Desculpe, você não possue dinheiro suficiente para comprar '..n..' soul.', cid) talkState[talkUser] = 0 end else selfSay('Escolha um numero maior que 0.', cid) talkState[talkUser] = 0 end else selfSay('Você não pode comprar mais que '..max..' soul.', cid) talkState[talkUser] = 0 end elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then if doPlayerRemoveMoney(cid, p*n) == TRUE then doPlayerSoulPoints (cid, n) selfSay('Obrigado,receba suas soul!', cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) else selfSay('Desculpe, você não possue dinheiro suficiente.', cid) talkState[talkUser] = 0 end elseif msg == "no" and talkState[talkUser] >= 1 then selfSay("Then not", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function getNumber(txt) x = string.gsub(txt,"%a","") x = tonumber(x) if x ~= nill and x > 0 then return x else return 0 end end Link para o comentário Compartilhar em outros sites More sharing options...
groku 13 Postado Outubro 2, 2011 Autor Share Postado Outubro 2, 2011 Vlw cara, quando der pra dar REP+ eu te dou ;d hoje nem dei rep e falo que eu ja dei Link para o comentário Compartilhar em outros sites More sharing options...
Waterson 9 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 Tem como fazer um igual a esse só que assim, o player fala o nome do item(entre varios que poderá falar) ai ele compra o item, e o player escolhe a quantidade que quer comprar... Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados