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 FRAGGERS YOU CAN ADD IT INTO A GLOBALAEVENT
Is the auto team balance source or LUA based?