CaioValverde 1 Postado Maio 5, 2015 Share Postado Maio 5, 2015 Então, eu estou precisando para meu projeto um NPC de promotion que faça o seguinte: Ex: Vocação: Knight Promotions disponíveis no lvl 50: Defensor ou Blader. Eu queria o que o NPC me desse mais de uma opção das promotions e que o player pudesse escolher somente uma. Obrigado desde já!!! Link para o comentário Compartilhar em outros sites More sharing options...
0 notle2012 233 Postado Maio 16, 2015 Share Postado Maio 16, 2015 (editado) já tava fazendo aqui fiz ate tabela -- config by uotl£ config = {[4] = { -- [coloca vocation que tem que ser antes de escolher] lvl = 50, -- level tem que ser maior que 50 id_da_vocation = 8,nome_da_vocation = "Elite Knight", -- id da primeira vocation que pode compra e o nome dela id_da_vocation2 = 12,nome_da_vocation2 = "Citizen Knight"} -- id da segunda vocation que pode compra e o nome dela } -- config by uotl£ mais promotion vai ser de graça você não diz no topico? não liga pros nome que você ver na tabela você que ia editar os números e oque ta entre "aspas" EDIT NPC.XML data\npc\ cria Notle.xml coloca isso <npc name="Promotion Notle" script="data/npc/scripts/Promotion_Notle.lua" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="129" head="75" body="115" legs="125" feet="85" addons="3"/> <parameters> <parameter key="module_travel" value="1"/> <parameter key="message_greet" value="Olá |PLAYERNAME|. Eu Vendo Promotions Quer comprar alguma {promotion} ?" /> </parameters> </npc> ARQUIVO.LUA data\npc\scripts\ cria promotion_notle.lua -- config by uotl£ config = {[4] = { -- [coloca vocation que tem que ser antes de escolher] lvl = 50, -- level tem que ser maior que 50 id_da_vocation = 8,nome_da_vocation = "Elite Knight", -- id da primeira vocation que pode compra e o nome dela id_da_vocation2 = 12,nome_da_vocation2 = "Citizen Knight"} -- id da segunda vocation que pode compra e o nome dela } local fala_do_npc = "pra você não tenho nada pra vender fdp" -- fala do npc se já tiver comprado e se não for vocation certa local preco = 100 -- preço por platinum 100 que é igual 1 crystal -- config by uotl£ 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 voc = config[getPlayerVocation(cid)] if(msgcontains(msg, 'promotion') or msgcontains(msg, 'promotions')) then check (cid,talkUser) elseif (msgcontains(msg, voc.nome_da_vocation) and talkState[talkUser] == 1) then talkState[talkUser] = 2 selfSay("tem certeza que você quer ser [ "..voc.nome_da_vocation.." ] por "..preco.." moedas de platinum [yes] ou [no]", cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then v1_check (cid,talkUser,numero_s) elseif (msgcontains(msg, 'no') and talkState[talkUser] == 2) then talkState[talkUser] = 0 selfSay("até mais volte quando decidir", cid) elseif (msgcontains(msg, voc.nome_da_vocation2) and talkState[talkUser] == 1) then talkState[talkUser] = 3 selfSay("tem certeza que você quer ser ["..voc.nome_da_vocation2.."] por "..preco.." moedas de platinum [yes] ou [no]", cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 3) then v2_check (cid,talkUser,numero_s) talkState[talkUser] = 0 elseif (msgcontains(msg, 'no') and talkState[talkUser] == 3) then talkState[talkUser] = 0 selfSay("até mais volte quando decidir", cid) end end function check (cid,talkUser) if voc then if getPlayerLevel(cid) >= voc.lvl then talkState[talkUser] = 1 selfSay('pra você eu vendo [ '..voc.nome_da_vocation..' ] OU ['..voc.nome_da_vocation2..'] por '..preco..' moedas de platinum', cid) else selfSay('volta aqui quando pegar level '..voc.lvl..'', cid) talkState[talkUser] = 0 end else selfSay(fala_do_npc, cid) talkState[talkUser] = 0 return true end end function v1_check (cid,talkUser) if(doPlayerRemoveMoney(cid, (preco*100)) == true) then doPlayerSetVocation(cid, voc.id_da_vocation) selfSay("parabens agora você é "..voc.nome_da_vocation.."", cid) talkState[talkUser] = 0 else selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid) talkState[talkUser] = 0 end return true end function v2_check (cid,talkUser) if(doPlayerRemoveMoney(cid, (preco*100)) == true) then doPlayerSetVocation(cid, voc.id_da_vocation2) selfSay("parabens agora você é "..voc.nome_da_vocation2.."", cid) talkState[talkUser] = 0 else selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) cara agora só você editar essa parte -- config by uotl£ config = {[4] = { -- [coloca vocation que tem que ser antes de escolher] lvl = 50, -- level tem que ser maior que 50 id_da_vocation = 8,nome_da_vocation = "Elite Knight", -- id da primeira vocation que pode compra e o nome dela id_da_vocation2 = 12,nome_da_vocation2 = "Citizen Knight"} -- id da segunda vocation que pode compra e o nome dela } local fala_do_npc = "pra você não tenho nada pra vender fdp" -- fala do npc se já tiver comprado e se não for vocation certa local preco = 100 -- preço por platinum 100 que é igual 1 crystal -- config by uotl£ programei com vocation Knight que é ID 4 que ele pode comprar vocation 8 Elite Knight e 12 Citizen Knight Editado Maio 16, 2015 por notle2012 Link para o comentário Compartilhar em outros sites More sharing options...
0 Furabio 257 Postado Maio 17, 2015 Share Postado Maio 17, 2015 Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
CaioValverde 1
Então, eu estou precisando para meu projeto um NPC de promotion que faça o seguinte:
Ex: Vocação: Knight
Promotions disponíveis no lvl 50: Defensor ou Blader.
Eu queria o que o NPC me desse mais de uma opção das promotions e que o player pudesse escolher somente uma.
Obrigado desde já!!!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados