netflat15 0 Postado Janeiro 9, 2010 Share Postado Janeiro 9, 2010 Bom, queria um NPC que vendesse o primeiro addon por 50k. (NPC First addon) E o outro NPC que vendesse o second addon por 200k. (NPC Second addon) Procurei em alguns servers e não achei então vim pedir. Versão 8.54 Obrigado a quem ajudar Link para o comentário Compartilhar em outros sites More sharing options...
Oneshot 732 Postado Janeiro 9, 2010 Share Postado Janeiro 9, 2010 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 function buyAddons(cid, message, keywords, parameters, node) --TODO: buyAddons function in modules.lua if(not npcHandler:isFocused(cid)) then return false end local addon = parameters.addon local cost = parameters.cost local premium = (parameters.premium ~= nil and parameters.premium) if isPlayerPremiumCallback == nil or (isPlayerPremiumCallback(cid) and premium) then if doPlayerRemoveMoney(cid, cost) then doPlayerAddAddons(cid, addon) npcHandler:say('There, you are now able to use all addons!', cid) else npcHandler:say('Sorry, you do not have enough money.', cid) end else npcHandler:say('I only serve customers with premium accounts.', cid) end keywordHandler:moveUp(1) return true end local node1 = keywordHandler:addKeyword({'first addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the first addons set for 5000 gold coins?'}) node1:addChildKeyword({'yes'}, buyAddons, {addon = 1, cost = 50000, premium = true}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Too expensive, eh?'}) local node2 = keywordHandler:addKeyword({'second addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Would you like to buy the second addons set for 10000 gold coins?'}) node2:addChildKeyword({'yes'}, buyAddons, {addon = 2, cost = 200000, premium = true}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Too expensive, eh?'}) keywordHandler:addKeyword({'addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell the first addons set for 5000 gold coins and the second addons set for 10000 gold coins.'}) npcHandler:addModule(FocusModule:new()) Link para o comentário Compartilhar em outros sites More sharing options...
IrapuanPuan 3 Postado Janeiro 9, 2010 Share Postado Janeiro 9, 2010 (editado) Oneshot, explique melhor, você só colocou o script, não colocou npc, e nem disse como era. Caro Ryl, vou tentar lhe explicar, e com ScreenShot: Primeiro: pasta do seu ot/data/npcs, crie um arquivo xml, renomeie para Addon Seller abra-o em bloco de notas e coloque isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Addon Seller" script="data/npc/scripts/addons.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="9" head="114" body="114" legs="114" feet="114" addons="3"/> </npc> Em seguida va na: Pasta do seu ot/data/npc/scripts, copie qualquer arquivo lua, que situa lá, renomeie para "addons", abra-o em bloco de notas e coloque isso: 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 function buyAddons(cid, message, keywords, parameters, node) --TODO: buyAddons function in modules.lua if(not npcHandler:isFocused(cid)) then return false end local addon = parameters.addon local cost = parameters.cost local premium = (parameters.premium ~= nil and parameters.premium) if isPlayerPremiumCallback == nil or (isPlayerPremiumCallback(cid) and premium) then if doPlayerRemoveMoney(cid, cost) == TRUE then doPlayerAddAddons(cid, addon) npcHandler:say('Pronto! Agora você pode usar os tipos de addons que você comprou', cid) else npcHandler:say('Desculpe Mas Você não tem o dinheiro Necessário', cid) end else npcHandler:say('Eu vendo apenas para premium accounts', cid) end keywordHandler:moveUp(1) return true end local node1 = keywordHandler:addKeyword({'first addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Quer comprar o primeiro addon por apenas 50000 gps? '}) node1:addChildKeyword({'yes'}, buyAddons, {addon = 1, cost = 50000, premium = true}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = ':S'}) local node2 = keywordHandler:addKeyword({'second addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Quer comprar a segunda addon por apenas 200000 gps?'}) node2:addChildKeyword({'yes'}, buyAddons, {addon = 2, cost = 200000, premium = true}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = ':S'}) keywordHandler:addKeyword({'addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Eu vendo o primeiro addon por apenas 50000 gps e a seccond addon por apenas 200000 gps'}) npcHandler:addModule(FocusModule:new()) SS do NPC: __________________ Passei o NPC para o português para que auxilie os players para que consigam comprar ageitei também as falas que estavam meias ruins, e ageitei também as informações sobre o addon... __________________ Mapa que estava usando na ss, Mapa para teste: Slayer Yourots Créditos : 100% meus. Grato SirAvatar. Se tirei sua dúvida reporte o tópico para algum moderador, ou alguém de um nível acima de moderador poder fechar o Tópico. FLW! Editado Janeiro 10, 2010 por SirAvatar Link para o comentário Compartilhar em outros sites More sharing options...
Megahh 0 Postado Janeiro 19, 2010 Share Postado Janeiro 19, 2010 Pow velho, eu fiz ai a parada, mas quando eu digo "yes" pro npc, ele não faz nda. quando eu digo "no" ele fala e talz... da pra ver isso pra mim aew ? Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados