JohnColner 1 Postado Março 23, 2012 Share Postado Março 23, 2012 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 Ajuda REP mais! Link para o comentário Compartilhar em outros sites More sharing options...
Vinc 101 Postado Março 24, 2012 Share Postado Março 24, 2012 (editado) usa esse script va em moveevemts/script crie um arquivo lua com nome tilereset.lua e coloque isto dentro m = 10 --rebirth(reset) nessesarios para passar onSetpIn(cid,item,pos) if is Player(cid) then if getPlayerStorageValue(cid,72345) < m then doTeleportThing(cid, pos) return TRUE end end return TRUE end va em movements.xml e adicione essa tag <movevent type="StepIn" itemid="id do tile aki" event="script" value="tilereset.lua"> --edit-- esse " [/font.]" aperceu no meio do script do nada ¬¬</movevent> Editado Março 25, 2012 por lordbug99 Link para o comentário Compartilhar em outros sites More sharing options...
jhon992 370 Postado Março 25, 2012 Share Postado Março 25, 2012 local m = 10 --rebirth(reset) nessesarios para passar function onSetpIn(cid,item,pos) if isPlayer(cid) then if getPlayerStorageValue(cid, 72345) >= m then doTeleportThing(cid, pos) return TRUE end end return TRUE end Créditos @lordbug99 Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados