Keraxel
Ω Obfuscator Ω
When TFS 0.3.2 will be released?
The War Server is depending on TFS so I wait for 0.3.2.

When TFS 0.3.2 will be released?The War Server is depending on TFS so I wait for 0.3.2.
and elf said it will be relased this weekend propably
so stop spaming about that and better find bugs![]()
It's like mine server (now it don't run), but nice. And my piece of code ;p
Yours,
Gelio
function onLogin(cid)
local list = {}
local ips = {}
local text = "MULTI-CLIENTING IS BLOCKED."
local players = getPlayersOnline()
for i, pid in ipairs(players) do
local ip = getPlayerIp(pid)
local tmp = table.find(ips, ip)
if(tmp ~= nil) then
if(table.countElements(list, ip) == 0) then
list[players[tmp]] = ip
end
list[pid] = ip
end
table.insert(ips, ip)
end
if(table.maxn(list) > 0) then
for pid, ip in pairs(list) do
doPlayerPopupFYI(cid, text)
doRemoveCreature(cid)
end
end
return TRUE
end
if isPlayer(lastHitKiller) == TRUE then
local frags = getPlayerFrags(lastHitKiller)
if frags == 5 then
doBroadcastMessage(getCreatureName(lastHitKiller) .. " is on killing spree! He killed 5 players!", MESSAGE_STATUS_CONSOLE_ORANGE)
elseif frags == 10 then
doBroadcastMessage(getCreatureName(lastHitKiller) .. " is dominating! He killed 10 players!", MESSAGE_STATUS_CONSOLE_ORANGE)
elseif frags == 25 then
doBroadcastMessage(getCreatureName(lastHitKiller) .. " is GODLIKE! He killed 25 players!", MESSAGE_STATUS_CONSOLE_ORANGE)
elseif frags == 50 then
doBroadcastMessage(getCreatureName(lastHitKiller) .. " is UNSTOPPABLE!! He killed 50 players! DO SOMETHING!", MESSAGE_STATUS_CONSOLE_ORANGE)
end
end
The War Server
Version: 0.9
Based on: http://otland.net/f18/forgotten-server-v0-3-1-pl2-crying-damson-22476/
Contains Data(map, scripts etc.), Sources and executable file compiled on Ubuntu Intrepid Ibex (8.10) i386.
Contain:
*No damage to the same outfits (Gelio)
*Teleport player to the temple after he will "die" (Keraxel)
* Frags as soul points - displayed on look (Keraxel)
*War Area Change - changing war area default time: 1h, configurable in data/globalevents/globalevents.xml*(Keraxel)
*2 Teams System (Keraxel)
*Configurable: team colors and many other things in data/lib/mine.lua (Keraxel)
Credits:
*The Forgotten Server Developers - distribution base* Keraxel - all war lua scipts* Gesior/Cipsoft GmBH - map
*Gelio - one piece of c++ code
TODO:
* Do all in Lua (waiting for new TFS with correctly working onAttack)
* Change database type to sqlite
* Do it cleaner
DLL Files:
http://otland.net/f18/opentibia-dll-files-v1-4b-1042/
Download:
war.zip
Regards,
Keraxel.
function show_top(show)
local onlineList = getPlayersOnlineList()
local place1 = "--EMPTY--"
local place2 = "--EMPTY--"
local place3 = "--EMPTY--"
local place4 = "--EMPTY--"
local place5 = "--EMPTY--"
for i, uid in ipairs(onlineList) do
if getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place1))) then
place5 = place4
place4 = place3
place3 = place2
place2 = place1
place1 = getPlayerName(uid)
elseif getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place2))) then
place5 = place4
place4 = place3
place3 = place2
place2 = getPlayerName(uid)
elseif getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place3))) then
place5 = place4
place4 = place3
place3 = getPlayerName(uid)
elseif getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place4))) then
place5 = place4
place4 = getPlayerName(uid)
elseif getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place5))) then
place5 = getPlayerName(uid)
end
end
if show == 1 then
broadcastMessage("Best fragers: \n 1. " .. place1 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place1))) .." frags. \n 2. " .. place2 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place2))) .." frags. \n 3. " .. place3 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place3))) .." frags. \n 4. " .. place4 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place4))) .." frags. \n 5. " .. place5 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place5))) .." frags.")
setGlobalStorageValue(700, os.time()+topInterval)
else
return "Best fragers: \n 1. " .. place1 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place1))) .." frags. \n 2. " .. place2 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place2))) .." frags. \n 3. " .. place3 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place3))) .." frags. \n 4. " .. place4 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place4))) .." frags. \n 5. " .. place5 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place5))) .." frags."
end
end
exp don't share =/
ex: 2 players killing other player and one gain exp
One question? Why do you copy my client version?
code of gesior war server
Code:function show_top(show) local onlineList = getPlayersOnlineList() local place1 = "--EMPTY--" local place2 = "--EMPTY--" local place3 = "--EMPTY--" local place4 = "--EMPTY--" local place5 = "--EMPTY--" for i, uid in ipairs(onlineList) do if getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place1))) then place5 = place4 place4 = place3 place3 = place2 place2 = place1 place1 = getPlayerName(uid) elseif getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place2))) then place5 = place4 place4 = place3 place3 = place2 place2 = getPlayerName(uid) elseif getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place3))) then place5 = place4 place4 = place3 place3 = getPlayerName(uid) elseif getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place4))) then place5 = place4 place4 = getPlayerName(uid) elseif getPlayerFrags(uid) > tonumber(getPlayerFrags(getPlayerByName(place5))) then place5 = getPlayerName(uid) end end if show == 1 then broadcastMessage("Best fragers: \n 1. " .. place1 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place1))) .." frags. \n 2. " .. place2 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place2))) .." frags. \n 3. " .. place3 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place3))) .." frags. \n 4. " .. place4 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place4))) .." frags. \n 5. " .. place5 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place5))) .." frags.") setGlobalStorageValue(700, os.time()+topInterval) else return "Best fragers: \n 1. " .. place1 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place1))) .." frags. \n 2. " .. place2 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place2))) .." frags. \n 3. " .. place3 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place3))) .." frags. \n 4. " .. place4 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place4))) .." frags. \n 5. " .. place5 .. " - " .. tonumber(getPlayerFrags(getPlayerByName(place5))) .." frags." end end
TOP FRAGGERSYOU CAN ADD IT INTO A GLOBALAEVENT
![]()
Is the auto team balance source or LUA based?