Ir para conteúdo
  • 0

Npc life crystal e Flawless Ice Crystal


Pergunta

Queria saber se vcs poderiam fazer esse npc pra mim

 

nome DO NPC = Flawless Ice Crystal

 

 

quando um player for falar com ele quero que seja asim

 

player : hi

npc : ola [nome do player] voce deseja trocar 10 life crystal por 1 Flawless Ice Crystal

player : yes

 

aew se o player tiver 10 life crystal na bp o npc pega esses 10 life crystal e da 1 Flawless Ice Crystal

 

valendo rep+

 

Link para o comentário
https://xtibia.com/forum/topic/223913-npc-life-crystal-e-flawless-ice-crystal/
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Essa seção não deve ser usada para pedidos ou dúvidas, temos uma seção específica para isso. Por favor, preste mais atenção da próxima vez.
Movido para Pedidos e Dúvidas - Scripting.

Link para o comentário
https://xtibia.com/forum/topic/223913-npc-life-crystal-e-flawless-ice-crystal/#findComment-1582033
Compartilhar em outros sites

  • 0

Sei que saberá editar depois que o script estiver pronto, mas quando for assim, coloque as ids dos items para facilitar para os scripters.

Se não fizerem pra ti, quando eu voltar eu monto.

 

Boa sorte.

Link para o comentário
https://xtibia.com/forum/topic/223913-npc-life-crystal-e-flawless-ice-crystal/#findComment-1582041
Compartilhar em outros sites

  • 0

Fiz rapidinho aqui, porque jaja estou saindo:

XML do NPC:

<?xml version="1.0" encoding="UTF-8"?>
 
<npc name="Flawless Ice Crystal" script="flawlesscrystal.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="523" head="114" body="119" legs="114" feet="114" corpse="2212"/>
 
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|, voce deseja trocar 10 life crystal por 1 Flawless Ice Crystal?"/>
</parameters>
</npc>
data/npc/scripts, crie um arquivo com extensão .lua com o nome flawlesscrystal.
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 cfg = {
    life_crystal = xxx,        --ID do life crystal
    life_crystal_qnt = 10,     --Quantidade de life crystal necessários.
    flawless_ice_crystal = xxx,  --ID do flawless ice crystal.
    flawless_ice_crystal_qnt = 1,    --Quantidade de flawless ice crystal que o player irá receber.
}
    if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then
        if getPlayerItemCount(cid, cfg.life_crystal) >= cfg.life_crystal_qnt then
            selfSay("Aqui está seu Flawless Ice Crystal!", cid)
            doPlayerRemoveItem(cid, cfg.life_crystal, cfg.life_crystal_qnt) 
            doPlayerAddItem(cid, flawless_ice_crystal, flawless_ice_crystal_qnt)
            talkState[talkUser] = 0
            return true
        else
            selfsay("Você não tem "..life_crystal_qnt.." Life Crystals para trocar...", cid)
            talkState[talkUser] = 0
            return true
        end
    end
    return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Qualquer erro, é só postar.
Editado por zipter98
Link para o comentário
https://xtibia.com/forum/topic/223913-npc-life-crystal-e-flawless-ice-crystal/#findComment-1582060
Compartilhar em outros sites

  • 0

Zipter, só corrigindo que sairá um erro aqui:

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 cfg = {
    life_crystal = xxx,        --ID do life crystal
    life_crystal_qnt = 10,     --Quantidade de life crystal necessários.
    flawless_ice_crystal = xxx,  --ID do flawless ice crystal.
    flawless_ice_crystal_qnt = 1,    --Quantidade de flawless ice crystal que o player irá receber.
}
    if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then
        if getPlayerItemCount(cid, cfg.life_crystal) >= cfg.life_crystal_qnt then
            selfSay("Aqui está seu Flawless Ice Crystal!", cid)
            doPlayerRemoveItem(cid, cfg.life_crystal, cfg.life_crystal_qnt) 
            doPlayerAddItem(cid, flawless_ice_crystal, flawless_ice_crystal_qnt)
            talkState[talkUser] = 0
            return true
        else
            selfsay("Você não tem "..life_crystal_qnt.." Life Crystals para trocar...", cid)
            talkState[talkUser] = 0
            return true
        end
    end
    return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

O seu está assim:

 selfsay("Você não tem "..life_crystal_qnt" Life Crystals para trocar...", cid)

Correto:

 selfsay("Você não tem "..life_crystal_qnt.." Life Crystals para trocar...", cid)

Se esqueceu dos ".." ali hehehe' abraços.

Link para o comentário
https://xtibia.com/forum/topic/223913-npc-life-crystal-e-flawless-ice-crystal/#findComment-1582083
Compartilhar em outros sites

  • 0

so vou testar aki se der certo rep+


aki não deu não quando vou ponhar o npc ele fica invezivel n da pa ver ele e quando chego in game perto dele da debug no char e nem da de logar o char até eu tirar o npc ;/

Link para o comentário
https://xtibia.com/forum/topic/223913-npc-life-crystal-e-flawless-ice-crystal/#findComment-1582126
Compartilhar em outros sites

  • 0

Deve ser problema do XML que mandei. Recomendo que faça um XML próprio, ou mude essa parte:

<look type="523" head="114" body="119" legs="114" feet="114" corpse="2212"/>

Respectivamente, a "roupa" do NPC (look type); as cores da outfit dele (head, body, legs e feet); e a corpse dele. (esse último, como não altera muita coisa, pode deixar 2212.)

Editado por zipter98
Link para o comentário
https://xtibia.com/forum/topic/223913-npc-life-crystal-e-flawless-ice-crystal/#findComment-1582382
Compartilhar em outros sites

×
×
  • Criar Novo...