Naelsena 0 Postado Janeiro 10, 2009 Share Postado Janeiro 10, 2009 quero colocar um certo NPC para vender Itens por Outro tipo de Moeda sem ser o Gold Coin o Meu ot é 8.31 Link para o comentário Compartilhar em outros sites More sharing options...
tozinho123 0 Postado Janeiro 13, 2009 Share Postado Janeiro 13, 2009 no script do seu npc, no item que ele vende, ao inves de doPlayerRemoveMoney(cid, 5000) bote: doPlayerRemoveItem(cid, 9298, 1) Em Rosa: a quantia de GPS que ele ira tirar do player (mais nao sera necessario que voce vai substituir essa parte) Em Azul: o id do item que voce quer que ele receba inves do gp tradicional Em Verde: a quantia do item que ele ira receber, por exemplo se for 10 scarab coins voce bota doPlayerRemoveItem(cid, ID DA SCARAB,10) Link para o comentário Compartilhar em outros sites More sharing options...
Naelsena 0 Postado Janeiro 13, 2009 Autor Share Postado Janeiro 13, 2009 no script do seu npc, no item que ele vende, ao inves dedoPlayerRemoveMoney(cid, 5000) bote: doPlayerRemoveItem(cid, 9298, 1) Em Rosa: a quantia de GPS que ele ira tirar do player (mais nao sera necessario que voce vai substituir essa parte) Em Azul: o id do item que voce quer que ele receba inves do gp tradicional Em Verde: a quantia do item que ele ira receber, por exemplo se for 10 scarab coins voce bota doPlayerRemoveItem(cid, ID DA SCARAB,10) Bem que eu tentei fazer isso só que os NPC aqui não tem essa parte PlayerRemoveMoney, Alguem pode mandar uma script de NPC que tenha isso Link para o comentário Compartilhar em outros sites More sharing options...
tozinho123 0 Postado Janeiro 14, 2009 Share Postado Janeiro 14, 2009 mande o script do seu npc que eu ajudo OBS: manda pm quando fizer isso, estou sem tempo pra ficar olhando todos os topicos que postei ;S Link para o comentário Compartilhar em outros sites More sharing options...
luizi 0 Postado Janeiro 14, 2009 Share Postado Janeiro 14, 2009 manda aí o script do npc Link para o comentário Compartilhar em outros sites More sharing options...
Naelsena 0 Postado Janeiro 14, 2009 Autor Share Postado Janeiro 14, 2009 manda aí o script do npc 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 shopModule = ShopModule:new() npcHandler:addModule(shopModule) shopModule:addBuyableItem({'Golden Bow', 'bow'}, 7438, 10000, 'Golden Bow') shopModule:addBuyableItem({'solar axe', 'axe'}, 7424, 20000, 'Solar Axe') shopModule:addBuyableItem({'lunar staff', 'staff'}, 2188, 50000, 'Lunar Staff') npcHandler:addModule(FocusModule:new()) Link para o comentário Compartilhar em outros sites More sharing options...
tozinho123 0 Postado Janeiro 14, 2009 Share Postado Janeiro 14, 2009 (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 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 money = getPlayerItemCount(cid,[color="#FF00FF"]2159[/color]) if msgcontains(msg, 'no') and talkState[talkUser] > 0 then selfSay("Come back when you have the money!",cid) talkState[talkUser] = 2 else end if msgcontains(msg, '[color="#00FF00"]sword[/color]') then -- primeiro item (1º de 2) selfSay("Do you want buy a [color="#00FF00"]sword[/color] for [color="#FFFF00"]25[/color] scarab coins?",cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] = 1 then if money >= [color="#FFFF00"]25[/color] then doPlayerRemoveItem(cid, money, [color="#FFFF00"]25[/color]) doPlayerAddItem(cid, [color="#0000FF"]2376[/color], 1) else selfSay("you don\'t have enough money', cid) end if msgcontains(msg, 'mace') then -- segundo item (2º de 2) selfSay("Do you want buy a mace for 30 scarab coins?",cid) talkState[talkUser] = 2 elseif msgcontains(msg, 'yes') and talkState[talkUser] = 2 then if money >= 30 then doPlayerRemoveItem(cid, money, 30) doPlayerAddItem(cid, 2398, 1) else selfSay("you don\'t have enough money', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Em Rosa: ID do item que voce quer que o npc receba inves do gp tradicional (no caso usei scarab coin) Em Verde: NOME do item que o npc vai vender (1º de 2) Em Amarelo: quantidade de moedas(no caso scarab coin) que o npc vai pedir para vender o item Em Azul: ID do item que o npc vai vender (1º de 2) eu só usei as cores no primeiro item, pois no segundo o procedimento é todo igual, só muda os numeros...se voce quiser adicionar mais algum item pra que o npc venda mais itens só adicionar mais um if, por exemplo: if msgcontains(msg, '[color="#00FF00"]sword[/color]') then -- primeiro item (1º de 2) selfSay("Do you want buy a [color="#00FF00"]sword[/color] for [color="#FFFF00"]25[/color] scarab coins?",cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] = 1 then if money >= [color="#FFFF00"]25[/color] then doPlayerRemoveItem(cid, money, [color="#FFFF00"]25[/color]) doPlayerAddItem(cid, [color="#0000FF"]2376[/color], 1) else selfSay("you don\'t have enough money', cid) end mas lembrese sempre de mudar tudo o que esta colorido e o TALKSTATE, elseif msgcontains(msg, 'yes') and talkState[talkUser] = 1 then no caso esta 1 a cada item que adicionar aumente 1 talkstate, agora nesse ficaria 2, mais como a mace ja usa o talkstate 2, mude pra 3 assim: if msgcontains(msg, '[color="#00FF00"]sword[/color]') then selfSay("Do you want buy a [color="#00FF00"]sword[/color] for [color="#FFFF00"]25[/color] scarab coins?",cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] = 1 then if money >= [color="#FFFF00"]25[/color] then doPlayerRemoveItem(cid, money, [color="#FFFF00"]25[/color]) doPlayerAddItem(cid, [color="#0000FF"]2376[/color], 1) else selfSay("you don\'t have enough money', cid) end mas assim ele nao tera o trade window, pra mudar no trade window só mudando na lib dos npcs, e isso afetaria todos eles.. OBS: fiz esse script postando esse post, nao testei e nao sei se funciona espero ter ajudado :smile_positivo: Editado Janeiro 14, 2009 por Tozao Link para o comentário Compartilhar em outros sites More sharing options...
Naelsena 0 Postado Janeiro 15, 2009 Autor Share Postado Janeiro 15, 2009 Não deu certo o NPC não ta aparecendo olha só o error Link para o comentário Compartilhar em outros sites More sharing options...
Naelsena 0 Postado Janeiro 15, 2009 Autor Share Postado Janeiro 15, 2009 Eu Coloquei a Script assim ai não mostrou nenhum erro no NPC quando eu abro o serve o NPC aparece normal só que quando eu falo "HI" ele não fala nada deem uma Olhada como coloquei local ke ywordHandler = 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) end if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local money = getPlayerItemCount(cid,2159) if msgcontains(msg, 'no') and talkState[talkUser] > 0 then selfSay("Come back when you have the money!",cid) talkState[talkUser] = 2 else end if msgcontains(msg, 'sword') then -- primeiro item (1º de 2) selfSay("Do you want buy a sword for 25 vip coins?",cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] > 1 then end if money >= 25 then doPlayerRemoveItem(cid, money, 25) doPlayerAddItem(cid, 2376, 1) else selfSay('you don\'t have enough money', cid) end if msgcontains(msg, 'mace') then -- segundo item (2º de 2) selfSay("Do you want buy a mace for 30 scarab coins?",cid) talkState[talkUser] = 2 elseif msgcontains(msg, 'yes') and talkState[talkUser] > 2 then if money >= 30 then doPlayerRemoveItem(cid, money, 30) doPlayerAddItem(cid, 2398, 1) else selfSay('you don\'t have enough money', cid) 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...
Heitorzin 2 Postado Janeiro 15, 2009 Share Postado Janeiro 15, 2009 Naelsena, Cuidado com o double post, Isso é considerado como flood. Caso precise postar denovo, edite seu post anterior. Abraços, Heitorzin. Link para o comentário Compartilhar em outros sites More sharing options...
tozinho123 0 Postado Janeiro 16, 2009 Share Postado Janeiro 16, 2009 que estranho.. vou testar no meu ot, e ai posto o resultado Link para o comentário Compartilhar em outros sites More sharing options...
DaNDaNrOxX 15 Postado Janeiro 16, 2009 Share Postado Janeiro 16, 2009 Não tenho certeza, mas pode ser por causa do talkstate. Tente usar este script assim: 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 money = getPlayerItemCount(cid,2159) if msgcontains(msg, 'no') and talkState[talkUser] > 0 then selfSay("Come back when you have the money!",cid) talkState[talkUser] = 2 else end if msgcontains(msg, 'sword') then -- primeiro item (1º de 2) selfSay("Do you want buy a sword for 25 scarab coins?",cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then if money >= 25 then doPlayerRemoveItem(cid, money, 25) doPlayerAddItem(cid, 2376, 1) else selfSay("you don\'t have enough money', cid) end if msgcontains(msg, 'mace') then -- segundo item (2º de 2) selfSay("Do you want buy a mace for 30 scarab coins?",cid) talkState[talkUser] = 2 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then if money >= 30 then doPlayerRemoveItem(cid, money, 30) doPlayerAddItem(cid, 2398, 1) else selfSay("you don\'t have enough money', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Não sei se irá funcionar, mas o que vale é a intenção ;x PS: Eu apenas modifiquei coisas muito pequenas no script do Tozao, os créditos são 100% dele. Abraço! Link para o comentário Compartilhar em outros sites More sharing options...
Naelsena 0 Postado Janeiro 16, 2009 Autor Share Postado Janeiro 16, 2009 Usei a Script que o Daniel Oliveira Postou e Modifiquei umas coisas e deu certo Vel ai Daniel Créditos 100% do Tozao que é o Criador da Script Vlw msm cara ajudou Muito vcs nem sabem o tanto Obrigado vlw msm Mais só ta funcionando a Venda da Sword a Mace não mais pode deixar que agora eu mim viro aki Olha ai como ficou a 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 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 money = getPlayerItemCount(cid,2159) if msgcontains(msg, 'no') and talkState[talkUser] > 0 then selfSay("Come back when you have the money!",cid) talkState[talkUser] = 2 else end if msgcontains(msg, 'sword') then -- primeiro item (1º de 2) selfSay("Do you want buy a sword for 25 scarab coins?",cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then if money >= 25 then doPlayerRemoveItem(cid, 2159, 25) doPlayerAddItem(cid, 2376, 1) else selfSay("you don\'t have enough money'", cid) end if msgcontains(msg, 'mace') then -- segundo item (2º de 2) selfSay("Do you want buy a mace for 30 scarab coins?",cid) talkState[talkUser] = 2 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then if money >= 30 then doPlayerRemoveItem(cid, 2159, 30) doPlayerAddItem(cid, 2398, 1) else selfSay("you don\'t have enough money'", cid) end end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Tozao vlw msm cara vc é 10... Obrigado Vlw... Link para o comentário Compartilhar em outros sites More sharing options...
Rickzs 0 Postado Janeiro 16, 2009 Share Postado Janeiro 16, 2009 Dúvida sanada. Fechado Qualquer outra coisa, só mandar MP! Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados