Ir para conteúdo

Featured Replies

Postado

Hi I have a question if someone can write me a script on the door

That must have 20 reborn, and you can enter but how will he 30 is no longer

  • Respostas 6
  • Visualizações 593
  • Created
  • Última resposta

Top Posters In This Topic

Postado

So you want a door that only players between 20 and 30 reborns can enter? How reborn works in your server? it's by storage?

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado
  • Autor
That is one such script and I myself will give advice to convert to other inputs, etc. 
Storage I do not have a script
 
 
 
 
 
 
 
local config = {
price = 0, -- Price of first rebirth
priceIncrease = 0, -- Works as 'price' + current rebirths * priceIncrease.
rebirthLevel = 717171, -- Level for first rebirth.
rebirthIncrease = 0, -- Works as 'rebirthLevel' + current rebirths * rebirthIncrease.
maxRebirths = 1000, -- Number of times a player can rebirth.
level = 8, -- The level the player is set to apon rebirth.
healthPercent = 1.00, -- 1.00 = 100%.
health = 100, -- Only used if 'healthPercent' = 0.
manaPercent = 1.00, -- 1.00 = 100%.
mana = 100, -- Only used if 'manaPercent' = 0.
keepSkills = true, -- 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 = 0, y = 0, z = 0}, -- The place where players reset to should there town id return 0.
Rebirth = 1 -- how many Rebirth player will get.
}
 
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("Im in charge of the {Rebirth} system.", cid)
addFocus(cid)
status = 1
elseif((isFocused(cid)) and (msg == "rebirth")  or (msg == "Rebirth") or (msg == "reb")  and (status == 1)) then
              if(isInArray({1,2,3,4,5, 6, 7, 8,9,10,11,12}, getPlayerVocation(cid))) then
if (getPlayerRebirth(cid, config.Rebirth) < config.maxRebirths) then
Rebirth = getPlayerRebirth(cid, config.Rebirth)
rebirthLevel = config.rebirthLevel + (config.rebirthIncrease * Rebirth)
if (getPlayerLevel(cid) >= rebirthLevel) then
money = config.price + (config.priceIncrease * Rebirth)
if (getPlayerMoney(cid) >= money) then
selfSay("Once you rebirth you will have to level up again from the beginning! Are you sure you still want to rebirth?", 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 you are max rebirth .", cid)
status = 1
end
else
selfSay("Please talk with Zarzor King and promote first.", 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, 0, {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
if (getPlayerTown(cid) > 0) then
pos = getTownTemplePosition(getPlayerTown(cid))
else
pos = config.templePos
end
 
doAddRebirth(cid, config.Rebirth, getPlayerRebirth(cid, config.Rebirth) + 1)
 
doRemoveCreature(cid, true)
db.executeQuery("UPDATE `players` SET level = " .. config.level .. " 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 .. ";")
db.executeQuery("UPDATE `players` SET cap = " .. config.capacity .. " 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
Postado

@wilk1366, this script requires a lib too, right? 

I need to see how the function getPlayerRebirth(cid, config.Rebirth) and doAddRebirth(cid, config.Rebirth, getPlayerRebirth(cid, config.Rebirth) + 1) work. Could you paste the lib either?

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado
  • Autor

Sorry for the link but I use this script in this link

 

---- I was looking for this:

function getPlayerRebirth(cid)
local Info = db.getResult("SELECT `Rebirths` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1")
if Info:getID() ~= LUA_ERROR then
local rebs= Info:getDataInt("Rebirths")
Info:free()
return rebs
end
return LUA_ERROR
end

function doAddRebirth(cid, rebs)
db.executeQuery("UPDATE `players` SET `Rebirths` = `Rebirths` + " .. rebs .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
end

function doRemoveRebirth(cid, rebs)
db.executeQuery("UPDATE `players` SET `Rebirths` = `Rebirths` - " .. rebs .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
end

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

Editado por xWhiteWolf
off-topic link (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo