Well, I want another script added to my highscores script, that it shows the reborns I reborned.
I know it maybe hard, but I'll repp+++ if someone helped me out.
Script:
Reborn script:
I know it maybe hard, but I'll repp+++ if someone helped me out.
Script:
Code:
local displayoutput = {"Level","Magic Level","Fist Fighting","Club Fighting","Sword Fighting","Axe Fighting","Distance Fighting","Shielding","Fishing"}
local itemtype = {9969,9933,5896,8929,8932,7388,8849,8906,2580}
function onSay(cid, words, param)
number = 1
param = string.lower(param)
skilllist = ""
command = TRUE
if param == "level" then
display = 1
elseif param == "magic" then
display = 2
elseif param == "fist" then
id = 0
display = 3
elseif param == "club" then
id = 1
display = 4
elseif param == "sword" then
id = 2
display = 5
elseif param == "axe" then
id = 3
display = 6
elseif param == "distance" then
id = 4
display = 7
elseif param == "shield" then
id = 5
display = 8
elseif param == "fish" then
display = 9
id = 6
else
error = 'Highscore Commands:\n\n!highscores level\n!highscores magic\n!highscores fist\n!highscores club\n!highscores sword\n!highscores axe\n!highscores distance\n!highscores shield\n!highscores fish'
doShowTextDialog(cid, 5958, error)
command = FALSE
end
if command ~= FALSE then
if display == 1 then
local player = db.getResult("SELECT `name`, `level` FROM `players` WHERE group_id < '2' ORDER BY `level` DESC LIMIT 50;")
if(player:getID() ~= -1) then
while (true) do
local name = player:getDataString("name")
local level = player:getDataInt("level")
skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..level)
number = number + 1
if not(player:next()) then
break
end
end
player:free()
end
elseif display == 2 then
local player = db.getResult("SELECT `name`, `maglevel` FROM `players` WHERE group_id < '2' ORDER BY `maglevel` DESC LIMIT 50;")
if(player:getID() ~= -1) then
while (true) do
local name = player:getDataString("name")
local maglevel = player:getDataInt("maglevel")
skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..maglevel)
if not(player:next()) then
break
end
number = number + 1
end
end
player:free()
else
local skills = db.getResult("SELECT `player_id`, `value`, `skillid` FROM `player_skills` WHERE `skillid` = "..id.." ORDER BY `value` DESC;")
while (true) do
local GUID = skills:getDataInt("player_id")
local value = skills:getDataInt("value")
local skillid = skills:getDataInt("skillid")
local player = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..GUID.." and group_id < '2' ")
if(player:getID() ~= -1) then
local name = player:getDataString("name")
skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..value)
number = number + 1
player:free()
end
if number > 50 then
break
end
if not(skills:next()) then
break
end
end
skills:free()
end
dialog = ""..displayoutput[display].." Highscores: \n "..skilllist..""
doShowTextDialog(cid, itemtype[display], dialog)
end
end
Reborn script:
Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local Topic = {}
local reborn = 2500 -- free storage
local spellReborn = {
[1] = 'Reborn1',
[5] = 'Reborn5',
[10] = 'Reborn10',
[25] = 'Reborn25',
[50] = 'Reborn50',
[100] = 'Reborn100',
[250] = 'Reborn250',
[500] = 'Reborn500'
}
local level = 300000
local maxReborns = 300
local toLevel = 100
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
function greetCallback(cid)
Topic[cid] = nil
return true
end
function creatureSayCallback(cid, type, msg)
if not npcHandler:isFocused(cid) then
return false
elseif Topic[cid] then
if msgcontains(msg, 'yes') then
if getCreatureStorage(cid, reborn) < maxReborns then
doCreatureSetStorage(cid, reborn, math.max(0, getCreatureStorage(cid, reborn)) + 1)
for k, v in pairs(spellReborn) do
if getCreatureStorage(cid, reborn) == k then
doPlayerLearnInstantSpell(cid, v)
doSendMagicEffect(getThingPosition(cid), CONST_ME_FIREWORK_RED)
break
end
end
local g = getPlayerGUID(cid)
npcHandler:releaseFocus(cid)
doRemoveCreature(cid)
db.executeQuery('UPDATE players SET level=99,experience=15219400 WHERE id=' .. g)
else
npcHandler:say('You reached maximum amount of reborns.', cid)
end
else
npcHandler:say('Maybe next time.', cid)
end
Topic[cid] = nil
else
if msgcontains(msg, 'reborn') then
if getPlayerLevel(cid) >= level then
npcHandler:say('Are you sure that you want to make reborn?',cid)
Topic[cid] = 1
else
npcHandler:say('You don\'t have enough level. ['..level..']',cid)
Topic[cid] = nil
end
end
end
return true
end
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())