Ir para conteúdo
  • 0

[8.54] Npc Reborn


Raidou

Pergunta

Bom pessoal,estou com uma dúvida,estou criando um WoDBO 8.54,e peguei este NPC que o Beeki,postou aki no XTibia.

 

Reborn.LUA

 

 

 

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

local config = {

--[Vocation] = ( Nova Vocation, New Outfit )

[21] = { 22, 137},

[254] = { 255, 351},

[36] = { 37, 148},

[51] = { 52, 144},

[65] = { 66, 152},

[378] = { 379, 451},

[80] = { 81, 150},

[93] = { 94, 150},

[107] = { 108, 509},

[118] = { 119, 118},

[131] = { 132, 34},

[144] = { 145, 15},

[155] = { 156, 15},

[167] = { 168, 173},

[179] = { 180, 178},

[191] = { 192, 184},

[205] = { 206, 190},

[217] = { 218, 221},

[229] = { 230, 281},

[242] = { 243, 60},

[254] = { 255, 351},

[265] = { 266, 334},

[275] = { 276, 80},

[286] = { 287, 338},

[296] = { 297, 198},

 

}

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, 'reborn') and getPlayerStorageValue(cid,30025) == 4 then

selfSay('You are reborn.', cid)

focus = 0

talk_start = 0

 

elseif msgcontains(msg, 'reborn') and getPlayerLevel(cid) < 250 and getPlayerStorageValue(cid,30025) ~= 4 then

selfSay('Hehe, I say If you READY. You do not have 250 level.', cid)

 

elseif msgcontains(msg, 'reborn') then

selfSay('Are you sure? {yes}', cid)

talkState[talkUser] = 2

 

elseif msgcontains(msg, 'yes') and talkState[talkUser] ==2 and getPlayerLevel(cid) == 250 then

local voc = config[getPlayerVocation(cid)]

doPlayerSetVocation(cid, voc[1])

local outfit = {lookType = voc[2]}

doCreatureChangeOutfit(cid, outfit)

doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(1)))

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+20000)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)+30000)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

doCreatureAddMana(cid, getCreatureMaxMana(cid))

setPlayerStorageValue(cid,30025,4)

talkState[talkUser] = 0

 

elseif msgcontains(msg, 'yes') and getPlayerLevel(cid) ~= 250 then

selfSay('Desculpe, ' .. getCreatureName(cid) .. '! You need level 250 to reborn.', cid)

talkState[talkUser] = 0

 

elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then

selfSay('Sorry, ' .. getCreatureName(cid) .. '! You must revert or transform to reborn.', cid)

talkState[talkUser] = 0

 

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Good bye.', cid)

focus = 0

talk_start = 0

end

 

return true

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

 

 

 

Reborn.XML

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Reborn" script="data/npc/scripts/Reborn.lua" walkinterval="0" floorchange="0">

<health now="100" max="100"/>

<look type="143" head="78" body="82" legs="120" feet="94" addons="1"/>

</npc>

 

 

 

Mas,qual a minha dúvida?

 

Bom,queria que o player so poderá rebornar se for 250 ou maior.

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Usa seu script inicial e tenta dar reborn com um level 250, certinho.

 

Se funcionar me fala.

 

Caso contrario acho que o script está errado.

 

Amigo,rebornar 250 ele reborna.

So que eu quero que ele reborne 250 ou maior.Ou seja se o player for level 400 500,ele pode reborna tbm.

 

Você deve estar fazendo algo errado, se com 250 funciona o problema era no sinal, eu troquei o sinal e ainda não funciona?

 

LOL, como você está instalando?

 

----------------------------------------------

 

Lucas foi foda.

Editado por Newtonnotwen
Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa pelo nome,soltou um A kkk.

 

e voltando ao assunto.

Eu uso TFS 8.54.

Já nao sei mais oq fazer.Eu ja tinha conseguido,so q eskeci de fazer o backup.

 

e perdi,isto faz tempo.

 

Se alguem puder criar outro,ou editar este.

 

OBs:Se for criar outro,queria a msm função.

 

 

Meu Reborn.xml

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Reborn" script="data/npc/scripts/Reborn.lua" walkinterval="0" floorchange="0">

<health now="100" max="100"/>

<look type="143" head="78" body="82" legs="120" feet="94" addons="1"/>

</npc>

 

 

 

Meu Reborn.LUA

 

 

 

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

local config = {

--[Vocation] = ( Nova Vocation, New Outfit )

[7] = { 8, 137},

[254] = { 255, 351},

[36] = { 37, 148},

[51] = { 52, 144},

[65] = { 66, 152},

[378] = { 379, 451},

[80] = { 81, 150},

[93] = { 94, 150},

[107] = { 108, 509},

[118] = { 119, 118},

[131] = { 132, 34},

[144] = { 145, 15},

[155] = { 156, 15},

[167] = { 168, 173},

[179] = { 180, 178},

[191] = { 192, 184},

[205] = { 206, 190},

[217] = { 218, 221},

[229] = { 230, 281},

[242] = { 243, 60},

[254] = { 255, 351},

[265] = { 266, 334},

[275] = { 276, 80},

[286] = { 287, 338},

[296] = { 297, 198},

 

}

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, 'reborn') and getPlayerStorageValue(cid,30025) == 4 then

selfSay('You are reborn.', cid)

focus = 0

talk_start = 0

 

elseif msgcontains(msg, 'reborn') and getPlayerLevel(cid) < 250 and getPlayerStorageValue(cid,30025) ~= 4 then

selfSay('Hehe, I say If you READY. You do not have 250 level.', cid)

 

elseif msgcontains(msg, 'reborn') then

selfSay('Are you sure? {yes}', cid)

talkState[talkUser] = 2

 

elseif msgcontains(msg, 'yes') and talkState[talkUser] ==2 and getPlayerLevel(cid) >= 250 then

local voc = config[getPlayerVocation(cid)]

doPlayerSetVocation(cid, voc[1])

local outfit = {lookType = voc[2]}

doCreatureChangeOutfit(cid, outfit)

doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(1)))

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+20000)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)+30000)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

doCreatureAddMana(cid, getCreatureMaxMana(cid))

setPlayerStorageValue(cid,30025,4)

talkState[talkUser] = 0

 

elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then

selfSay('Sorry, ' .. getCreatureName(cid) .. '! You must revert or transform to reborn.', cid)

talkState[talkUser] = 0

 

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Good bye.', cid)

focus = 0

talk_start = 0

end

 

return true

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

 

Editado por Raidou
Link para o comentário
Compartilhar em outros sites

  • 0

Nem por PM?

 

Pode ficar trankilo vo por ate senha na pasta do OT.

 

e n passo pra ninguem se tiver outra pessoa que vai ter ele,vai ser o Dedicado do me userv quando eu por kkk.

 

Por favor,estou mt no sofrimento.Projeto esta parado por causa disso.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...