• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

SCripter

WiLDTuRTLE

Member
Joined
Feb 26, 2011
Messages
478
Reaction score
5
Scripter needed for this.
Any working rebirth system, i need to revamp it,
heres the list;
-> 5 reborn max.
->can reborn at any level.
->when reborn, choose another voc (like Elder Druid to Biochemist (5promos in total))
->when reborn keeps 25% hp&mp.
->Cost 10kk for 1st reborn, 2nd cost 20, 3th 4th 5th ~.
Reset skills or keep 20% of it.

Make your offer.
 
brother just tell me if the script I pass to you works fine with all without vocation system ...
if this I will try to edit it for vocation system for free

after I try and I can't I will tell you ask for money :(
holy shit why do you think I can't do it?
 
look I make this
what can this do :
1- max reb is 5
2- rest all skills
3- hp is 25% also mana is 25%
3- cost is 10kk but not from the first rebirth

But Note+- it's need to be fixed
issues 1- first rebirth for free then it's take 20kk from second rebirth and +10kk for every more rebirth
issues 2- it's never change vocation from sorcerer if I never choose it <3 Lawl :p

so @Limos , @Ninja
anyone try to fix this please I've done with all I can :(
Code:
local config = {
price = 10000000, -- Price of first rebirth
priceIncrease = 10000000, -- Works as 'price' + current rebirths * priceIncrease.
rebirthLevel = 8, -- Level for first rebirth.
rebirthIncrease = 0, -- Works as 'rebirthLevel' + current rebirths * rebirthIncrease.
maxRebirths = 5, -- Number of times a player can rebirth.
level = 8, -- The level the player is set to apon rebirth.
healthPercent = 0.25, -- 1.00 = 100%.
health = false, -- Only used if 'healthPercent' = 0.
manaPercent = 0.25, -- 1.00 = 100%.
mana = false, -- Only used if 'manaPercent' = 0.
keepSkills = false, -- Wether players keep skills and level apon rebirth.
skillLevel = 10, -- Only used if 'keepSkills' = false.
magicLevel = 0, -- Only used if 'keepSkills' = false.
capacity = 10000, -- The capacity players are set to apon rebirth.
templePos = {x = 2000, y = 2000, z = 7}, -- The place where players reset to should there town id return 0.
storage = 85987 -- 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 now , choose you next vocation? {sorcerer , Druid , Paladin , Knight} we are on.", cid)
else if(msg == "sorcerer") then
status = 3
selfSay("so you need to be sorcerer?.", cid)
elseif(msg == "yes") then
doPlayerSetVocation(cid, 1)
doPlayerSetStorageValue(cid, 85987, storage == -1 and 1 or storage + 1)
doPlayerRemoveMoney(cid, money)
doRemoveCreature(cid)
if(msg == "no") then
status =4
selfSay("so what vocation you need?.", cid)
end
else if(msg == "druid") then
status = 3
selfSay("so you need to be druid.?", cid)
elseif(msg == "yes") then
doPlayerSetVocation(cid, 2)
doPlayerSetStorageValue(cid, 85987, storage == -1 and 1 or storage + 1)
doPlayerRemoveMoney(cid, money)
doRemoveCreature(cid)
if(msg == "no") then
status =4
selfSay("so what vocation you need?.", cid)
end
else if(msg == "paladin") then
status = 3
selfSay("so you need to be paladin?.", cid)
elseif(msg == "yes") then
doPlayerSetVocation(cid, 3)
doPlayerSetStorageValue(cid, 85987, storage == -1 and 1 or storage + 1)
doPlayerRemoveMoney(cid, money)
doRemoveCreature(cid)
if(msg == "no") then
selfSay("so what vocation you need?.", cid)
end
else if(msg == "knight") then
status = 3
selfSay("so you need to be knight?.", cid)
elseif(msg == "yes") then
doPlayerSetVocation(cid, 4)
doPlayerSetStorageValue(cid, 85987, storage == -1 and 1 or storage + 1)
doPlayerRemoveMoney(cid, money)
doRemoveCreature(cid)
if(msg == "no") then
status =4
selfSay("so what vocation you need?.", cid)
end
elseif((isFocused(cid)) and (msg == "no") and (status == 4)) 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
end
end
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
if (getPlayerTown(cid) > 0) then
pos = getTownTemplePosition(getPlayerTown(cid))
else
pos = config.templePos
end
doCreatureSetStorage(cid, config.storage, getCreatureStorage(cid, config.storage) + 1)
doRemoveCreature(cid, true)
db.executeQuery("UPDATE `players` SET level = " .. config.level .. " WHERE id = " .. guid .. ";")
db.executeQuery("UPDATE `players` SET cap = " .. config.capacity .. " WHERE id = " .. guid .. ";")
db.executeQuery("UPDATE `players` SET health = " .. health .. " WHERE id = " .. guid .. ";")
db.executeQuery("UPDATE `players` SET healthmax = " .. health .. " WHERE id = " .. guid .. ";")
db.executeQuery("UPDATE `players` SET mana = " .. mana .. " WHERE id = " .. guid .. ";")
db.executeQuery("UPDATE `players` SET manamax = " .. mana .. " WHERE id = " .. guid .. ";")
db.executeQuery("UPDATE `players` SET posx = " .. pos.x .. " WHERE id = " .. guid .. ";")
db.executeQuery("UPDATE `players` SET posy = " .. pos.y .. " WHERE id = " .. guid .. ";")
db.executeQuery("UPDATE `players` SET posz = " .. pos.z .. " WHERE id = " .. guid .. ";")
if (not config.keepSkills) then
db.executeQuery("UPDATE `players` SET maglevel = " .. config.magicLevel .. " WHERE id = " .. guid .. ";")
db.executeQuery("UPDATE `player_skills` SET value = " .. config.skillLevel .. " WHERE id = " .. guid .. ";")
end
return true
end
 
Back
Top