Thacio Silvah 0 Postado Novembro 15, 2019 Share Postado Novembro 15, 2019 Ola Galerinha Do Xtibia Blz? Estou Criando Esse Topico Para Pedir a Ajuda De Vocês Com Um Npc Que Possa Vender Uma Segunda Promote Exemplo: Como Nois Criamos Um Char Nois Escolhe a Vocação Certo Druid Certo? Dai Eu Compro a Primeira Promote Para Virar Elder Druid Mais Eu Preciso De Um Npc Que Venda a Segunda PROMOTE Que é o Slayer Druid o Meu Servidor é Versão 8.4 Se Alguem Me Ajuda Dou +REP Obrigado Pela Atenção! Link para o comentário Compartilhar em outros sites More sharing options...
1 JulianoZN 61 Postado Novembro 15, 2019 Share Postado Novembro 15, 2019 23 minutos atrás, Thacio Silvah disse: Ola Galerinha Do Xtibia Blz? Estou Criando Esse Topico Para Pedir a Ajuda De Vocês Com Um Npc Que Possa Vender Uma Segunda Promote Exemplo: Como Nois Criamos Um Char Nois Escolhe a Vocação Certo Druid Certo? Dai Eu Compro a Primeira Promote Para Virar Elder Druid Mais Eu Preciso De Um Npc Que Venda a Segunda PROMOTE Que é o Slayer Druid o Meu Servidor é Versão 8.4 Se Alguem Me Ajuda Dou +REP Obrigado Pela Atenção! xml do npc Spoiler <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome do NPC" script="Nome do Script.lua" walkinterval="350000" floorchange="0" speed="0" skull="0"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="484" head="114" body="119" legs="132" feet="114"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|, Eu posso te promover para Slayer Druid, diga {promover/promote}."/> </parameters> </npc> Script Nome do Script.lua Spoiler 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, 'promover') or msgcontains(msg, 'promote')) then selfSay('Quer que eu te promova a Slayer Druid? vai custar xxxx .', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 2152) >= 20) then --- pode colocar item ou dinheiro depois do >= será a quantidade cobrada doPlayerRemoveItem(cid, 2152, 20) --- Item/Dinheiro, quantidade que será removida doPlayerSetVocation(cid, 4) --- ID da vocação <Encontrada no vocations.xml> --- setPlayerStorageValue(cid, xxx, 1) --- Caso queira liberar alguma outfit com "xxx" Storage <Encontrada no outfits.xml> selfSay('Parabéns, Você foi promovido a Slayer Druid!', cid) else selfSay('Você não tem o item/dinheiro necessario.', cid) end talkState[talkUser] = 0 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...
0 Thacio Silvah 0 Postado Novembro 15, 2019 Autor Share Postado Novembro 15, 2019 15 horas atrás, JulianoZN disse: xml do npc Mostrar conteúdo oculto <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome do NPC" script="Nome do Script.lua" walkinterval="350000" floorchange="0" speed="0" skull="0"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="484" head="114" body="119" legs="132" feet="114"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|, Eu posso te promover para Slayer Druid, diga {promover/promote}."/> </parameters> </npc> Script Nome do Script.lua Mostrar conteúdo oculto 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, 'promover') or msgcontains(msg, 'promote')) then selfSay('Quer que eu te promova a Slayer Druid? vai custar xxxx .', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 2152) >= 20) then --- pode colocar item ou dinheiro depois do >= será a quantidade cobrada doPlayerRemoveItem(cid, 2152, 20) --- Item/Dinheiro, quantidade que será removida doPlayerSetVocation(cid, 4) --- ID da vocação <Encontrada no vocations.xml> --- setPlayerStorageValue(cid, xxx, 1) --- Caso queira liberar alguma outfit com "xxx" Storage <Encontrada no outfits.xml> selfSay('Parabéns, Você foi promovido a Slayer Druid!', cid) else selfSay('Você não tem o item/dinheiro necessario.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Ok Funcionou 100% mais quando o player desloga volta a vocação anterior isso é normal ou é erro do ot ou do script? des de já agradeço pela ajuda Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Thacio Silvah 0
Ola Galerinha Do Xtibia Blz?
Estou Criando Esse Topico Para Pedir a Ajuda De Vocês Com Um Npc Que Possa
Vender Uma Segunda Promote
Exemplo: Como Nois Criamos Um Char Nois Escolhe a Vocação Certo Druid Certo?
Dai Eu Compro a Primeira Promote Para Virar Elder Druid Mais Eu Preciso De Um Npc Que Venda a Segunda PROMOTE
Que é o Slayer Druid o Meu Servidor é Versão 8.4 Se Alguem Me Ajuda Dou +REP
Obrigado Pela Atenção!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados