Postado Maio 21, 2014 11 anos Autor Ótimo cara, meus parabéns, simplesmente maravilhoso! Mais uma dúvida, tem como colocar vender em npc? Sim, também é possível, fiz de uma maneira bem improvisada pra você ter uma ideia de como fazer : em data\npcs crie um arquivo NOMEDONPC.xml, e cole isto : <?xml version="1.0" encoding="UTF-8"?> <npc name="NOMEDOSEUNPC" script="data/npc/scripts/auranpc.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Oi |PLAYERNAME|. Eu possuo a habilidade de ceder {aura}. O que deseja?"/> </parameters> </npc> Coloque o nome do npc, e outfits de sua preferência. agora vá em data\npcs\scripts, crie um arquivo chamado auranpc.lua, e cole isto : 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 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, 'aura') then if getPlayerStorageValue(cid,20201) ~= 1 then selfSay('Para adquirir aura é necessário 10000000 golds. Você deseja adquirí-la?', cid) talkState[talkUser] = 1 else selfSay('Você já possui aura.', cid) end elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') then if doPlayerRemoveMoney(cid, 10000000) then setPlayerStorageValue(cid,20201,1) selfSay('Parabéns, agora você possui aura!', cid) talkState[talkUser] = 0 else selfSay('Você não possui o dinheiro necessário.', cid) end else selfSay('Então porque veio aqui?', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Você pode configurar o dinheiro (ou item) necessário ali na parte "doRemovePlayerMoney", logo após o if. Se desejar algum item, escreva "doRemovePlayerItem(cid,ID do item, quantidade)". Quando você fizer isso, também deve mudar a mensagem do NPC em que diz o que precisa, que é a parte "selfSay('Para adquirir aura é necessário 10000000 golds. Você deseja adquirí-la?', cid)". Logo após isso, vá no creaturescript da aura (data\creaturescripts\scripts\aura.lua), e apenas na função principal (onLogin), troque por isto : function onLogin(cid) if(getPlayerStorageValue(cid, 20201)==1) then return efeitosAura(1,tempo/8,cid) end return TRUE end E pronto, agora é só adicionar o NPC no seu mapa. Editado Maio 21, 2014 11 anos por bielzinhocrazy (veja o histórico de edições)
Postado Maio 21, 2014 11 anos seja bem vindo ao TK bielzinho, adorei seu trabalho. Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Maio 22, 2014 11 anos Sim, também é possível, fiz de uma maneira bem improvisada pra você ter uma ideia de como fazer : em data\npcs crie um arquivo NOMEDONPC.xml, e cole isto : <?xml version="1.0" encoding="UTF-8"?> <npc name="NOMEDOSEUNPC" script="data/npc/scripts/auranpc.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Oi |PLAYERNAME|. Eu possuo a habilidade de ceder {aura}. O que deseja?"/> </parameters> </npc> Coloque o nome do npc, e outfits de sua preferência. agora vá em data\npcs\scripts, crie um arquivo chamado auranpc.lua, e cole isto : 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 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, 'aura') then if getPlayerStorageValue(cid,20201) ~= 1 then selfSay('Para adquirir aura é necessário 10000000 golds. Você deseja adquirí-la?', cid) talkState[talkUser] = 1 else selfSay('Você já possui aura.', cid) end elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') then if doPlayerRemoveMoney(cid, 10000000) then setPlayerStorageValue(cid,20201,1) selfSay('Parabéns, agora você possui aura!', cid) talkState[talkUser] = 0 else selfSay('Você não possui o dinheiro necessário.', cid) end else selfSay('Então porque veio aqui?', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Você pode configurar o dinheiro (ou item) necessário ali na parte "doRemovePlayerMoney", logo após o if. Se desejar algum item, escreva "doRemovePlayerItem(cid,ID do item, quantidade)". Quando você fizer isso, também deve mudar a mensagem do NPC em que diz o que precisa, que é a parte "selfSay('Para adquirir aura é necessário 10000000 golds. Você deseja adquirí-la?', cid)". Logo após isso, vá no creaturescript da aura (data\creaturescripts\scripts\aura.lua), e apenas na função principal (onLogin), troque por isto : function onLogin(cid) if(getPlayerStorageValue(cid, 20201)==1) then return efeitosAura(1,tempo/8,cid) end return TRUE end E pronto, agora é só adicionar o NPC no seu mapa. Ótimo cara, meus parabéns, incrível! Oi
Postado Maio 25, 2014 10 anos Olá biel, teria como ajustar o script parecido com o desse pedido? { pedido aura system } Oi
Postado Junho 5, 2014 10 anos cara seria possivel coolocar pra somente uma vocação usar cara? Se Ajudei Clique no ao Lado, Não Custa nada !!
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.