Ich habe mir heute (31.7.13) einen Server erstellt ! Mein Server besteht aus den Server Files von Daroo und dem Clienten von Ic3 ! Ehm bis jetzt muss ich sagen habe ich nur ein Game Master Panel eingebaut von wem weiß ich gerade nicht und ich musste diese Sachen in die quest_functions eintragen
PHP Code:
assert
col.gold
col.lightskyblue
flag.get
flag.set
isAdmin
loadstring
log.rates
mysql_query
player.get_status
player.kick
player.set_status
select2
string.gfind
string.gsub
PHP Code:
quest yeh_administrationpanel begin
state start begin
when login with pc.get_name() == "testerrrrrrr" begin
pc.give_item2(52701, 1)
end
when 52701.use begin
say("[WINDOW_SIZE width;300|height;350]")
say(col.gold("Verwaltungspanel"))
say()
say("Was möchtest du tun?")
say()
local sel = {"Debugpanel","Query ausführen/abfragen","Spieler bannen/entbannen","Mob Spawn","Ankündigung verwalten","Raten verwalten", "Dämonenturm Event verwalten","Abbrechen"}
local sel_table = {6}
for insert_table = 1, table.getn(sel) do
table.insert(sel_table, sel[insert_table])
end
local a = select2(sel_table)
if a == table.getn(sel) then
return
elseif a == 7 then
yeh_administrationpanel.ManageDeviltowerEvent()
elseif a == 6 then
yeh_administrationpanel.ManageRates()
elseif a == 5 then
yeh_administrationpanel.TimerNotice()
elseif a == 4 then
yeh_administrationpanel.SpawnMob()
elseif a == 3 then
yeh_administrationpanel.PlayerManage()
elseif a == 2 then
if isAdmin() == false then return chat("Du hast keinen Zugang zu dieser Option!") end
say(col.gold("Query ausführen"))
say()
say("Was möchtest du tun?")
say()
local b = select("Ausführen","Abfragen","Abbrechen")
if b == 3 then
return
elseif b == 1 then
yeh_administrationpanel.QueryExecute()
elseif b == 2 then
yeh_administrationpanel.QueryRequest()
end
elseif a == 1 then
yeh_administrationpanel.AdminDebugPanel()
end
end
function ManageDeviltowerEvent()
say_title("Dämonenturm Event verwalten")
say()
say(string.format("Was möchtest du tun %s?", pc.get_name()))
say()
local a = select("Event verwalten","Event Status","Abbrechen")
if a == 3 then
return
elseif a == 2 then
say_title("Event Status")
say()
say_reward("Das Event ist "..({"nicht aktiv","aktiv"})[flag.get("DevilTowerEvent")+1])
say()
select("Zurück")
return yeh_administrationpanel.ManageDeviltowerEvent()
elseif a == 1 then
say_title("Event verwalten")
say()
say("Was möchtest du tun?")
say()
if select("Dämonenturmevent "..({"aktivieren","deaktivieren"})[flag.get("DevilTowerEvent")+1].."", "Abbrechen") == 2 then return end
notice_all(({"Der Dämonenturm-Speedrun wurde gestartet, begebt euch in den Dämonenturm auf dem Channel1!","Der Dämonenturm-Speedrun wurde beendet, viel spaß weiterhin noch auf Yehona!"})[flag.get("DevilTowerEvent")+1])
if flag.get("DevilTowerEvent") == 0 then
flag.set("DevilTowerEvent", 1)
else
flag.set("DevilTowerEvent", 0)
end
end
end
function ManageRates()
say(col.gold("Rates verwalten"))
say()
say("Was möchtest du tun?")
local a = select("Raten ändern(global)","Raten ändern(anderes Reich)","Abbrechen")
if a == 3 then
return
elseif a == 2 then
say(col.gold("Raten ändern(anderes Reich)"))
say()
local empire = select("rotes Reich","gelbes Reich","blaues Reich","Abbrechen")
if empire == 4 then return end
say(col.gold("Raten ändern(anderes Reich)"))
say()
say("Welche Raten sollen geändert werden?")
local rate_art = select("Raten(Item)","Raten(Yang)","Raten(Yangbomben)","Raten(EXP)","Abbrechen")
if rate_art == 5 then return end
say(col.gold("Raten ändern(anderes Reich)"))
say()
say("Wie viel % sollen die Raten hoch sein?")
local inp_rat = tonumber(input())
if inp_rat < 0 or inp_rat > 500 or inp_rat == 0 or inp_rat == "" or inp_rat == nil then return chat("Du hast eine Falscheingabe getätigt!") end
say(col.gold("Raten ändern(anderes Reich)"))
say()
say("Wie lange sollen die Raten angeschaltet bleiben(Stunden)?")
local inp_time = tonumber(input())
if inp_time > 24 or inp_time < 0 or inp_time == nil or inp_time == 0 or inp_time == "" then return chat("Du hast eine Falscheingabe getätigt!") end
__give_empire_priv(empire, rate_art, inp_rat, 60*60*inp_time)
log.rates(pc.get_name(), empire, rate_art, inp_rat, inp_time)
return setskin(NOWINDOW)
elseif a == 1 then
say(col.gold("Raten ändern(global)"))
say()
say("Welche Raten sollen geändert werden?")
local rate_art = select("Raten(Item)","Raten(Yang)","Raten(Yangbomben)","Raten(EXP)","Abbrechen")
if rate_art == 5 then return end
say(col.gold("Raten ändern(global)"))
say()
say("Wie viel % sollen die Raten hoch sein?")
local inp_rat = tonumber(input())
if inp_rat < 0 or inp_rat > 500 or inp_rat == 0 or inp_rat == "" or inp_rat == nil then return chat("Du hast eine Falscheingabe getätigt!") end
say(col.gold("Raten ändern(global)"))
say()
say("Wie lange sollen die Raten angeschaltet bleiben(Stunden)?")
local inp_time = tonumber(input())
if inp_time > 24 or inp_time < 0 or inp_time == nil or inp_time == 0 or inp_time == "" then return chat("Du hast eine Falscheingabe getätigt!") end
__give_empire_priv(0, rate_art, inp_rat, 60*60*inp_time)
log.rates(pc.get_name(), 4, rate_art, inp_rat, inp_time)
return setskin(NOWINDOW)
end
end
function TimerNotice()
say(col.gold("Globale Notiz verwalten"))
say()
say("Was möchtest du tun?")
local b = select("Globalez Notiz schreiben","Globale Notiz akti/deaktivieren", "Abbrechen")
if b == 3 then
return
elseif b == 1 then
say(col.gold("Globale Notiz"))
say()
say("Füg deine Nachricht ein")
local msg_1 = input()
local msg_2 = input()
local msg_3 = input()
say(col.gold("Globale Notiz"))
say()
say(msg_1..msg_2..msg_3.."?")
local a = select("Ja","Wiederholen","Abbrechen")
if a == 3 then
return
elseif a == 2 then
return yeh_administrationpanel.TimerNotice()
elseif a == 1 then
say(col.gold("Globale Notiz"))
say()
say("Gib die Zeitintervale ein(Minuten) :")
local timerinterval = input()
local msg_full = tostring(msg_1..msg_2..msg_3)
mysql_query("DELETE FROM quest.exo_global_notice WHERE id > 0;")
mysql_query("INSERT into quest.exo_global_notice (teamname, notice, status) VALUES ('"..pc.get_name().."', '"..msg_full.."', 1);")
timer("first_notice", 10)
server_loop_timer("global_notice", 60*timerinterval)
end
elseif b == 2 then
say(col.gold("Globale Notiz akti/deaktivieren"))
say()
say("Was möchtest du tun?")
local c = select("Deaktivieren","Aktivieren","Abbrechen")
if c == 3 then return end
if (c-1) == (mysql_query("SELECT status FROM quest.exo_global_notice WHERE id > 0 LIMIT 1;")[1][1]) then
chat("Die Globalen Notizen sind bereits auf dem Status!")
return
end
mysql_query("UPDATE quest.exo_global_notice SET status = "..(c-1).." WHERE id > 0 LIMIT 1;")
chat("Du hast erfolgreich den Status geändert!")
setskin(NOWINDOW)
end
end
when first_notice.timer begin
if (mysql_query("SELECT status FROM quest.exo_global_notice WHERE id > 0 LIMIT 1;")[1][1]) == 1 then
local a = mysql_query("SELECT teamname, notice FROM quest.exo_global_notice LIMIT 1;")
notice_all(a[1][1]..": "..a[1][2])
end
end
when global_notice.timer begin
if (mysql_query("SELECT status FROM quest.exo_global_notice WHERE id > 0 LIMIT 1;")[1][1]) == 1 then
local a = mysql_query("SELECT teamname, notice FROM quest.exo_global_notice LIMIT 1;")
notice_all(a[1][1]..": "..a[1][2])
end
end
function SpawnMob()
say(col.gold("Monster spawnen"))
say()
say("Was möchtest du tun?")
local a = select("Liste","Selbsteingabe","Abbrechen")
if a == 3 then
return
elseif a == 1 then
local whitelist = {692, 1095, 99999}
local tab = {}
for b = 1, table.getn(whitelist) do
table.insert(tab, mob_name(whitelist[b]))
end
say(col.gold("Monster spawnen"))
say()
say("Such dir ein Monster aus!")
local c = select2(tab)
if c == 3 then return end
mob.spawn(whitelist[c], pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
log.rates(pc.get_name(), mob_name(whitelist[c]), pc.get_local_x(), pc.get_local_y(), pc.get_map_index())
elseif a == 2 then
say(col.gold("Monster spawnen"))
say()
say("Gib die VNUM vom Monster ein!")
local in_m = tonumber(input())
if in_m < 0 or in_m > 9999 then return chat("Du hast eine Falscheingabe getätigt!") end
mob.spawn(in_m, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
log.rates(pc.get_name(), mob_name(in_m), pc.get_local_x(), pc.get_local_y(), pc.get_map_index())
end
end
function PlayerManage()
say(col.gold("Spieler bannen/entbannen"))
say()
say("Was möchtest du tun?")
say()
local a = select("Bannen","Entbannen","Abbrechen")
if a == 3 then return end
say(col.gold("Spieler "..({"bannen","entbannen"})[a]))
say()
say("Wen möchtest du "..({"bannen","entbannen"})[a].."?")
local name = input()
say(col.gold("Spieler "..({"bannen","entbannen"})[a]))
say()
say("Schreib bitte noch den Grund auf!")
local why = input()
if player.get_status(name) == a then return chat("Der Spieler ist bereits "..({"gebannt","entbannt"})[player.get_status(name)].."!") end
if name == "" or name == nil then return end
player.set_status(name, a, why)
if a == 1 then return player.kick(name) end
end
function QueryRequest()
say(col.gold("Query abfragen"))
say()
say("Gib den Befehl ein :")
local cm,t,x,k,j = '','',0,0,0
repeat
if t ~= '' then
local a,b = string.char(34),string.char(39)
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%(") do x = x +1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%)") do x = x -1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%[") do k = k +1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%]") do k = k -1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"{") do j = j +1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"}") do j = j -1 end
cm = cm..''..t
say(col.lightskyblue(cm))
end
t = input()
until t == ""
chat(mysql_query(cm..";")[1][1])
end
function QueryExecute()
say(col.gold("Query ausführen"))
say()
say("Gib den Befehl ein :")
local cm,t,x,k,j = '','',0,0,0
repeat
if t ~= '' then
local a,b = string.char(34),string.char(39)
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%(") do x = x +1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%)") do x = x -1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%[") do k = k +1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%]") do k = k -1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"{") do j = j +1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"}") do j = j -1 end
cm = cm..''..t
say(col.lightskyblue(cm))
end
t = input()
until t == ""
mysql_query(cm..";")
end
function AdminDebugPanel()
say(col.gold("Debug-Panel"))
say()
say("Gib deinen Befehl ein :")
local cm,t,x,k,j = '','',0,0,0
repeat
if t ~= '' then
local a,b = string.char(34),string.char(39)
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%(") do x = x +1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%)") do x = x -1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%[") do k = k +1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"%]") do k = k -1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"{") do j = j +1 end
for _ in string.gfind(string.gsub(t,"["..a.."|"..b.."].+["..a.."|"..b.."]",""),"}") do j = j -1 end
cm = cm..''..t
say(col.lightskyblue(cm))
end
t = input()
until t == ""
assert(loadstring(cm)(),"Der eingegebene QUEST-CMD im Debug-Panel war fehlerhaft!")
end
end
end
Hoffe jemand kann mir helfen wehr mehr Deteils braucht kann es ja schreiben !
PS : Am Client wurde nur die Server IP in die Root.eix und Root.epk eingetragen !
Ich bedanke mich für eure Hilfe !







