Ir para conteúdo
  • Cadastre-se

(Duvida) Porta Por Rebirth


Posts Recomendados

Alguem poderia me ajuda eu queria uma porta ou um tile que so passe que mtem um certo rebirth para meu serv de rebirth.. se ajuda aki vai meu NPC de rebirth


local config = {

price = 0, -- Price of first rebirth

priceIncrease = 0, -- Works as 'price' + current rebirths * priceIncrease.

rebirthLevel = 717000, -- Level for first rebirth.

rebirthIncrease = 0, -- Works as 'rebirthLevel' + current rebirths * rebirthIncrease.

maxRebirths = 400, -- Number of times a player can rebirth.

level = 8, -- The level the player is set to apon rebirth.

healthPercent = 1.0, -- 1.00 = 100%.

health = 0, -- Only used if 'healthPercent' = 0.

manaPercent = 1.0, -- 1.00 = 100%.

mana = 0, -- Only used if 'manaPercent' = 0.

keepSkills = false, -- Wether players keep skills and level apon rebirth.

skillLevel = false, -- Only used if 'keepSkills' = false.

magicLevel = false, -- Only used if 'keepSkills' = false.

capacity = 300, -- The capacity players are set to apon rebirth.

storage = 72345 -- Player storage rebirth count is kept on.

}

local focuses = {}

local function isFocused(cid)

for i, v in pairs(focuses) do

  if(v == cid) then

   return true

  end

end

return false

end

local function addFocus(cid)

if(not isFocused(cid)) then

  table.insert(focuses, cid)

end

end

local function removeFocus(cid)

for i, v in pairs(focuses) do

  if(v == cid) then

   table.remove(focuses, i)

   break

  end

end

end

local function lookAtFocus()

for i, v in pairs(focuses) do

  if(isPlayer(v)) then

   doNpcSetCreatureFocus(v)

   return

  end

end

doNpcSetCreatureFocus(0)

end

function onCreatureDisappear(cid)

if(isFocused(cid)) then

  selfSay("Goodbye.")

  removeFocus(cid)

end

end

function onCreatureSay(cid, type, msg)

if((msg == "hi") and not (isFocused(cid))) then

  selfSay("Welcome, ".. getCreatureName(cid) ..".", cid, true)

  selfSay("I can {rebirth} you!", cid)

  addFocus(cid)

  status = 1

elseif((isFocused(cid)) and (msg == "rebirth") and (status == 1)) then

  if (getCreatureStorage(cid, config.storage) < config.maxRebirths) then

   storage = getCreatureStorage(cid, config.storage)

   rebirthLevel = config.rebirthLevel + (config.rebirthIncrease * storage)

   if (getPlayerLevel(cid) >= rebirthLevel) then

    money = config.price + (config.priceIncrease * storage)

    if (getPlayerMoney(cid) >= money) then

		 selfSay("I can rebirth you for " .. money .. " gold.", cid)

		 selfSay("Do you want me to rebirth you?", cid)

		 status = 2

    else

		 selfSay("You need at least " .. money .. " gold before you can rebirth.", cid)

		 status = 1

    end

   else

    selfSay("You need to be at least level " .. rebirthLevel .. " before you can rebirth.", cid)

    status = 1

   end

  else

   selfSay("It seems you can not rebirth anymore.", cid)

   status = 1

  end

elseif((isFocused(cid)) and (msg == "yes") and (status == 2)) then

  selfSay("Ok then i will rebirth you.", cid)

  selfSay("You will now be logged out.", cid)

  doPlayerRemoveMoney(cid, money)

  addEvent(doRebirthPlayer, 100, {cid=cid})

  removeFocus(cid)

elseif((isFocused(cid)) and (msg == "no") and (status == 2)) then

  selfSay("Maybe one day you will wise up and change your mind!", cid)

  status = 1

elseif((isFocused(cid)) and (msg == "bye" or msg == "goodbye" or msg == "cya")) then

  selfSay("Goodbye!", cid, true)

  removeFocus(cid)

end

end

function onPlayerCloseChannel(cid)

if(isFocused(cid)) then

  selfSay("Goodbye.")

  removeFocus(cid)

end

end

function onThink()

for i, focus in pairs(focuses) do

  if(not isCreature(focus)) then

   removeFocus(focus)

  else

   local distance = getDistanceTo(focus) or -1

   if((distance > 4) or (distance == -1)) then

    selfSay("Goodbye.")

    removeFocus(focus)

   end

  end

end

lookAtFocus()

end

function doRebirthPlayer(cid)

cid = cid.cid

if (cid == nil) then

  return true

end

local guid = getPlayerGUID(cid)

if (config.healthPercent > 0) then

  health = getCreatureMaxHealth(cid) * config.healthPercent

else

  health = config.health

end

if (config.manaPercent > 0) then

  mana = getCreatureMaxMana(cid) * config.manaPercent

else

  mana = config.mana

end

doCreatureSetStorage(cid, config.storage, getCreatureStorage(cid, config.storage) + 1)

doRemoveCreature(cid, true)

db.query("UPDATE `players` SET level = " .. config.level .. " WHERE id = " .. guid .. ";")

db.query("UPDATE `players` SET cap = " .. config.capacity .. " WHERE id = " .. guid .. ";")

db.query("UPDATE `players` SET health = " .. health .. " WHERE id = " .. guid .. ";")

db.query("UPDATE `players` SET healthmax = " .. health .. " WHERE id = " .. guid .. ";")

db.query("UPDATE `players` SET mana = " .. mana .. " WHERE id = " .. guid .. ";")

db.query("UPDATE `players` SET manamax = " .. mana .. " WHERE id = " .. guid .. ";")

db.query("UPDATE `players` SET posx = " .. pos.x .. " WHERE id = " .. guid .. ";")

db.query("UPDATE `players` SET posy = " .. pos.y .. " WHERE id = " .. guid .. ";")

db.query("UPDATE `players` SET posz = " .. pos.z .. " WHERE id = " .. guid .. ";")

if (not config.keepSkills) then

  db.query("UPDATE `players` SET maglevel = " .. config.magicLevel .. " WHERE id = " .. guid .. ";")

  db.query("UPDATE `player_skills` SET value = " .. config.skillLevel .. " WHERE id = " .. guid .. ";")

end

return true

end

Link para o post
Compartilhar em outros sites
function onStepIn(cid, item, position, fromPosition)

storage = 72345

 if getPlayerStorageValue(cid, storage) < 1 then

    doPlayerSendCancel(cid, "Desculpe mais você precisa de uma tal rebirth")

    doTeleportThing(cid, fromPosition)

end


return true

end

Link para o post
Compartilhar em outros sites

Crie um arquivo lua chamado rebirth em \data\movements\scripts e adicione o meu codigo.

Vá no map editor e coloque o action id de 5465.

Em /data/movements/movements.xml adicione a tag;

<movevent type="StepIn" actionid="5465" event="script" value="rebirth.lua"/>

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo