viniciusdrika 26 Postado Junho 4, 2013 Share Postado Junho 4, 2013 o titulo ja dis mas vou explicar ; Seria da seguinte maneira : Eu dou um x item e o player ganharia um x pokemon . Obrigado desde ja estou sem rep mas amanha darei para quem ajudar . Lembrando: procurei mais nao achei nenhum lugar e ja achei pedido e outro lugar mas nao foi respondido e estava em outra area . Link para o comentário Compartilhar em outros sites More sharing options...
StyloMaldoso 330 Postado Junho 4, 2013 Share Postado Junho 4, 2013 testa ae 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 local msg = string.lower(msg) local pokeNAME = {"Nome do poke"} local itemID = xxxx -- id do item q vai remove local storage = 23905 -- n mexa if msgcontains(string.lower(msg), 'ajuda') or msgcontains(string.lower(msg), 'help') then if getPlayerStorageValue(cid, storage) == 1 then return true end selfSay("Ola eu preciso de x item, você tem? se sim fale yes que irei te dar um poke de troca!", cid) return true talkState[talkUser] = 2 elseif msgcontains(msg, "yes") or msgcontains(msg, "sim") and talkState[talkUser] == 2 then if doPlayerRemoveMoney(cid, itemID) == 1 then -- no 1 é q quantidade selfSay("Você não tem o item!", cid) talkState[talkUser] = 0 return true end selfSay("Muito bom, tome aqui seu pokémon!", cid) addPokeToPlayer(cid, pokeNAME, 0, -1, 'normal', true) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) obs pra server sem lvl Link para o comentário Compartilhar em outros sites More sharing options...
viniciusdrika 26 Postado Junho 4, 2013 Autor Share Postado Junho 4, 2013 eu nao sei mt de script, o que eu boto em .xml ? Link para o comentário Compartilhar em outros sites More sharing options...
Enself 44 Postado Junho 4, 2013 Share Postado Junho 4, 2013 (editado) Acho que seria ,não tenho certeza Na pasta Npcs/Scripts copie algum npc e abra essa pasta e apague tudo que esta dentro e coloque este codigo. 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 local msg = string.lower(msg) local pokeNAME = {"Nome do poke"} local itemID = xxxx -- id do item q vai remove local storage = 23905 -- n mexa if msgcontains(string.lower(msg), 'ajuda') or msgcontains(string.lower(msg), 'help') then if getPlayerStorageValue(cid, storage) == 1 then return true end selfSay("Ola eu preciso de x item, você tem? se sim fale yes que irei te dar um poke de troca!", cid) return true talkState[talkUser] = 2 elseif msgcontains(msg, "yes") or msgcontains(msg, "sim") and talkState[talkUser] == 2 then if doPlayerRemoveMoney(cid, itemID) == 1 then -- no 1 é q quantidade selfSay("Você não tem o item!", cid) talkState[talkUser] = 0 return true end selfSay("Muito bom, tome aqui seu pokémon!", cid) addPokeToPlayer(cid, pokeNAME, 0, -1, 'normal', true) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) A tag não tenho muita certeza <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome Do NPC" script="Nome do NPC.lua" walkinterval="0" floorchange="0"> <health now="100" max="100"/> <look typeex="ID Da Outfit" corpse="ID Co Corpse"/> </npc> Editado Junho 4, 2013 por Enself Link para o comentário Compartilhar em outros sites More sharing options...
StyloMaldoso 330 Postado Junho 4, 2013 Share Postado Junho 4, 2013 <?xml version="1.0" encoding="UTF-8"?> <npc name="nome do npc" script="ChangePoke.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1438" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value=hello, talk {help}."/> </parameters> </npc> agora em data/npc/script/cria um arquivo e apague e renomeia para ChangePoke e coloke isso 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 local msg = string.lower(msg) local pokeNAME = {"Nome do poke"} local itemID = xxxx -- id do item q vai remove local storage = 23905 -- n mexa if msgcontains(string.lower(msg), 'ajuda') or msgcontains(string.lower(msg), 'help') then if getPlayerStorageValue(cid, storage) == 1 then return true end selfSay("Ola eu preciso de x item, você tem? se sim fale yes que irei te dar um poke de troca!", cid) return true talkState[talkUser] = 2 elseif msgcontains(msg, "yes") or msgcontains(msg, "sim") and talkState[talkUser] == 2 then if doPlayerRemoveMoney(cid, itemID) == 1 then -- no 1 é q quantidade selfSay("Você não tem o item!", cid) talkState[talkUser] = 0 return true end selfSay("Muito bom, tome aqui seu pokémon!", cid) addPokeToPlayer(cid, pokeNAME, 0, -1, 'normal', true) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Link para o comentário Compartilhar em outros sites More sharing options...
viniciusdrika 26 Postado Junho 4, 2013 Autor Share Postado Junho 4, 2013 quando tento invocar o npc aparece . [04/06/2013 16:46:46] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/Arquiologo.xml). [04/06/2013 16:46:46] Line: 8, Info: Couldn't find end of Start Tag parameter line 8 Link para o comentário Compartilhar em outros sites More sharing options...
StyloMaldoso 330 Postado Junho 4, 2013 Share Postado Junho 4, 2013 usa oq eu postei Link para o comentário Compartilhar em outros sites More sharing options...
viniciusdrika 26 Postado Junho 4, 2013 Autor Share Postado Junho 4, 2013 Eu usei o que você postou . Link para o comentário Compartilhar em outros sites More sharing options...
Skymagnum 234 Postado Junho 4, 2013 Share Postado Junho 4, 2013 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 local msg = string.lower(msg) local poke = "Poke Name" local itemID = 123456 local quant = 10 if(msgcontains(msg, 'ajuda')) then if(getPlayerStorageValue(cid, 82392) < 1) then selfSay("Mensagem, fale {yes}.", cid) talkState[talkUser] = 2 elseif(msgcontains(msg, "yes") and talkState[talkUser] == 2) then if(doPlayerRemoveItem(cid, itemID, quant)) then selfSay("Tome aqui seu pokemon!", cid) addPokeToPlayer(cid, poke, 0, -1, 'normal', true) setPlayerStorageValue(cid, 82392, 1) talkState[talkUser] = 0 else selfSay("Você não tem o item.", cid) talkState[talkUser] = 0 end else selfSay("Desculpe, não posso trocar com você.", cid) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Link para o comentário Compartilhar em outros sites More sharing options...
viniciusdrika 26 Postado Junho 4, 2013 Autor Share Postado Junho 4, 2013 apareceu isso [04/06/2013 18:23:21] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/arquiologo.xml). [04/06/2013 18:23:21] Line: 8, Info: Couldn't find end of Start Tag parameter line 8 Não conheco nada de script; se eu fiz algo de errado me desculpem '-' Link para o comentário Compartilhar em outros sites More sharing options...
Enself 44 Postado Junho 4, 2013 Share Postado Junho 4, 2013 Vou testar aqui acho q é tu que ta fazendo merda jaja edito. Link para o comentário Compartilhar em outros sites More sharing options...
viniciusdrika 26 Postado Junho 4, 2013 Autor Share Postado Junho 4, 2013 '-' ok estou no aguardo . (tambem acho que to fazendo merda mas fiz tudo corretinho) Link para o comentário Compartilhar em outros sites More sharing options...
Enself 44 Postado Junho 4, 2013 Share Postado Junho 4, 2013 Realmente , o bug está na tag estou tentando resolver so um momento. Link para o comentário Compartilhar em outros sites More sharing options...
viniciusdrika 26 Postado Junho 4, 2013 Autor Share Postado Junho 4, 2013 é parece que desistiro Link para o comentário Compartilhar em outros sites More sharing options...
Enself 44 Postado Junho 4, 2013 Share Postado Junho 4, 2013 (editado) Acho que arrumei a tag use a script do -Skymagnum Em Npc criei um arquivo chamado Arquiologo.xml Adicione o seguinte script. <?xml version="1.0" encoding="UTF-8"?> <npc name="Arquiologo" script="arquiologo.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="134" head="78" body="88" legs="0" feet="88"/> <parameters> <parameter key= "message_greet" value= "hello, talk {help}."/> </parameters> </npc> Testei aqui pelomenos o bug que dava na distro foi retirado mas testei falar com npc não funcionou, ve ai. Editado Junho 4, 2013 por Enself Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados