|
You last visited: Today at 03:41
Advertisement
[Release] Ingame Banpanel
Discussion on [Release] Ingame Banpanel within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
12/31/2011, 18:34
|
#16
|
elite*gold: 0
Join Date: Aug 2009
Posts: 962
Received Thanks: 97
|
E:function select2(tab) fehlte^^
|
|
|
12/31/2011, 18:50
|
#17
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
Quote:
Originally Posted by lautlosertot
E:function select2(tab) fehlte^^
|
Sie fehlte nicht, sie ist in der Questlib und muss nur in die quest_functions eingetragen werden ..
|
|
|
12/31/2011, 19:04
|
#18
|
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
|
Niice geht klappt ohne fehler
|
|
|
12/31/2011, 19:49
|
#19
|
elite*gold: 0
Join Date: Aug 2009
Posts: 962
Received Thanks: 97
|
jetzt kackt mein server immer mit concetion refused ab xDDDD nur weil ich
command("dc "..q.name[auswahl].."") einbauen wollte was nichtmal funkt-.-
|
|
|
01/01/2012, 08:13
|
#20
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
Quote:
Originally Posted by Mijago
look in my Questlib:
PHP Code:
function select2(tab)
local max = tab[1]; table.remove(tab,1)
local tablen,outputstr,outputcount,nextc,incit = table.getn(tab),"",0,0,0
table.foreach(tab,
function(i,l)
outputcount = outputcount + 1
if outputcount == 1 then
outputstr=outputstr..'sel = select("'..l..'"'
elseif outputcount == max and tablen > outputcount+incit then
outputstr=outputstr..',"'..l..'","Nächste Seite") + '..incit..' '
if nextc > 0 then
outputstr = outputstr..'end '
end
outputstr=outputstr..'; '
outputstr=outputstr..'if sel == '..(incit+max+1)..' then '
nextc, outputcount, incit= nextc+1,0,incit+max
else
outputstr=outputstr..',"'..l..'"'
end
end
)
outputstr = outputstr..') + '..incit
if nextc > 0 then
outputstr = outputstr..' end'
end
outputstr= outputstr.. '; return sel'
local sel = assert(loadstring(outputstr))()
tablen,outputstr,outputcount,nextc,incit = nil,nil,nil,nil,nil -- Speicher freimachen
return sel
end
|
Deine Funktion ist schon beinahe perfekt, aber guck sie dir mal genauer an, denn ich bin alles durchgegangen und hab' bermerkt das die Funktion bei einer viel größeren Liste ein paar Fehler aufwirft, aber die kann man ganz leicht fixxen. Dann würde ich das mit "Abbrechen" in die Funktion reinnehmen, damit nicht ggf. "Nächste Seite" und dann "Abbrechen" kommt, das wär nämlich etwas blöd - schöner wer's wenn bei der letzten Auswahl statt "Nächste Seite" "Abbrechen" kommen würde. Naja, das ist meine Meinung - dh. du kannst sie auch ignorieren xD. Aber ich dank dir auch für deinen Einfallsreichtum, denn du hast mich auf eine großartige Idee gebracht, die ich vllt. nie realisieren werden, aber dennoch hat das was zu bedeuten xD.
MfG
|
|
|
01/01/2012, 08:20
|
#21
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
Quote:
Originally Posted by Mijago
look in my Questlib:
PHP Code:
function select2(tab) local max = tab[1]; table.remove(tab,1) local tablen,outputstr,outputcount,nextc,incit = table.getn(tab),"",0,0,0 table.foreach(tab, function(i,l) outputcount = outputcount + 1 if outputcount == 1 then outputstr=outputstr..'sel = select("'..l..'"' elseif outputcount == max and tablen > outputcount+incit then outputstr=outputstr..',"'..l..'","Nächste Seite") + '..incit..' ' if nextc > 0 then outputstr = outputstr..'end ' end outputstr=outputstr..'; ' outputstr=outputstr..'if sel == '..(incit+max+1)..' then ' nextc, outputcount, incit= nextc+1,0,incit+max else outputstr=outputstr..',"'..l..'"' end end ) outputstr = outputstr..') + '..incit if nextc > 0 then outputstr = outputstr..' end' end outputstr= outputstr.. '; return sel' local sel = assert(loadstring(outputstr))() tablen,outputstr,outputcount,nextc,incit = nil,nil,nil,nil,nil -- Speicher freimachen return sel end
|
Deine Funktion ist schon beinahe perfekt, aber guck sie dir mal genauer an, denn ich bin alles durchgegangen und hab' bermerkt das die Funktion bei einer viel größeren Liste ein paar Fehler aufwirft, aber die kann man ganz leicht fixxen. Dann würde ich das mit "Abbrechen" in die Funktion reinnehmen, damit nicht ggf. "Nächste Seite" und dann "Abbrechen" kommt, das wär nämlich etwas blöd - schöner wer's wenn bei der letzten Auswahl statt "Nächste Seite" "Abbrechen" kommen würde. Naja, das ist meine Meinung - dh. du kannst sie auch ignorieren xD. Aber ich dank dir auch für deinen Einfallsreichtum, denn du hast mich auf eine großartige Idee gebracht, die ich vllt. nie realisieren werde, aber dennoch hat das was zu bedeuten xD.
MfG
|
|
|
01/01/2012, 09:32
|
#22
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
Quote:
Originally Posted by ProfiFighter
Deine Funktion ist schon beinahe perfekt, aber guck sie dir mal genauer an, denn ich bin alles durchgegangen und hab' bermerkt das die Funktion bei einer viel größeren Liste ein paar Fehler aufwirft, aber die kann man ganz leicht fixxen. Dann würde ich das mit "Abbrechen" in die Funktion reinnehmen, damit nicht ggf. "Nächste Seite" und dann "Abbrechen" kommt, das wär nämlich etwas blöd - schöner wer's wenn bei der letzten Auswahl statt "Nächste Seite" "Abbrechen" kommen würde. Naja, das ist meine Meinung - dh. du kannst sie auch ignorieren xD. Aber ich dank dir auch für deinen Einfallsreichtum, denn du hast mich auf eine großartige Idee gebracht, die ich vllt. nie realisieren werden, aber dennoch hat das was zu bedeuten xD.
MfG
|
Deine Meinung Zählt schon was 
hab die Func nur mit 11 Einträgen alá 5/Seite getestet, soweit hatt's geklappt, mehr braucht man ja normalerweise auch nicht..
Wenn du sie (vor mir  ) verbesserst, schreib sie mir bitte, dann kann ich sie in die Lib einfügen
PHP Code:
function select2(tab)
local max = tab[1]; table.remove(tab,1)
local tablen,outputstr,outputcount,nextc,incit = table.getn(tab),"",0,0,0
table.foreach(tab,
function(i,l)
outputcount = outputcount + 1
if outputcount == 1 then
outputstr=outputstr..'sel = select("'..l..'"'
elseif outputcount == max and tablen > outputcount+incit then
if tablen ~= outputcount+incit+1 then
outputstr=outputstr..',"'..l..'","Nächste Seite") + '..incit..' '
if nextc > 0 then
outputstr = outputstr..'end '
end
outputstr=outputstr..'; if sel == '..(incit+max+1)..' then ' -- Anfangen der neuen Abfrage
nextc, outputcount, incit= nextc+1,0,incit+max
else
outputstr=outputstr..',"'..l..'"'
end
else
outputstr=outputstr..',"'..l..'"'
end
end
)
outputstr = outputstr..') + '..incit
if nextc > 0 then
outputstr = outputstr..' end'
end
outputstr= outputstr.. '; return sel'
print(outputstr)
local sel = assert(loadstring(outputstr))()
tablen,outputstr,outputcount,nextc,incit = nil,nil,nil,nil,nil -- Speicher freimachen
return sel
end
Code:
>dofile('questing.lua')
Questlib by Mijago | 1.1.2012 - Happy new Year!
>local arr = {}
>for i=1,22,1 do
> arr[i] = i
>end
>arr[1] = 5
>select2(arr)
sel = select("2","3","4","5","6","Nõchste Seite") + 0 ; if sel == 6 then sel = s
elect("7","8","9","10","11","Nõchste Seite") + 5 end ; if sel == 11 then sel = s
elect("12","13","14","15","16","Nõchste Seite") + 10 end ; if sel == 16 then sel
= select("17","18","19","20","21","22") + 15 end; return sel
Freut mich, dass ich dir einen kleinen Denkanstoß geben konnte. Kann aus Lua noch mehr rauszaubern
Vielleicht kann man ja mal zusammen an irgendetwas arbeiten? :>
lg Mijago
|
|
|
01/01/2012, 12:33
|
#23
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
So gefällt mir die Funktion schon viel besser  . Konnte leider erst jetzt ins Internet, da ich bis eben noch woanders war... Also ich weiß ja nicht ob ich mit dir mal an was arbeiten kann, da ich meistens inaktiv bin wegen meinem RL und sow - zudem bin ich nur Hobbyscripter und nicht so ein Genie wie du^^. Du hast Ideen die mehr als fantastisch sind und zudem biste nicht so ein Egomane wie ein paar Andere hier in E*PvP...
|
|
|
01/01/2012, 12:45
|
#24
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
Ich sehe das als Lob o: Danke 
Aber Genie? Naja, hält sich in Grenzen :>
Nun, wenn du wenig Zeit hast, kannst du mir ja dennoch ein paar Ideen' sagen, was ich noch so machen könnte..
|
|
|
01/01/2012, 13:44
|
#25
|
elite*gold: 3
Join Date: Jan 2009
Posts: 139
Received Thanks: 15
|
Nice (Y)
|
|
|
01/01/2012, 18:15
|
#26
|
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
|
PHP Code:
quest ingamebann2 begin state start begin when 20095.chat."Bannen/Entbannen" with pc.is_gm() begin say("Was möchtest du tun?") local s = select('Bannen','Entbannen',"Nichts") if s == 3 then return end local ban,bantxt,bantxt2 = "BLOCK","bannen","gebannt" if s == 2 then ban,bantxt,bantxt2 = "OK","entbannen","entbannt" end say(col.blue('Spieler '..bantxt)); say('[ENTER]Gib den Spielernamen ein.[ENTER](ein Teil reicht auch)') local inp = input(); inp = mysql_escape(inp) if inp == "" or inp == pc.get_name() then say(col.red('Ungültige Eingabe.[ENTER]Abbruch!')) return end local q = mysql_query('select * from player.player WHERE name LIKE \\"%'..inp..'%\\" AND name NOT like \\"%[%\\"''root'daroo'5.58.220.100') if q == "ERROR" then say(col.red('Fehler beim Lesen der Daten oder es existiert niemand mit diesem Namen.')) return end say('Wähle den User, der '..bantxt2..' werden soll:') local wahl = q.name; table.insert(wahl,"-Abbruch-") table.insert(wahl,1,6) local auswahl = select2(wahl) if wahl[auswahl] == "-Abbruch-" then return end say('Den Spieler \\"'..q.name[auswahl]..'\\" wirklich '..bantxt..'?') if select("Ja","Nein") == 2 then return end mysql_query('UPDATE account.account SET status = \\"'..ban..'\\" WHERE id = '..q.account_id[auswahl]..' LIMIT 1'root'daroo'5.58.220.100') say('Der Spieler wurde gebannt.') end end end
Error occured on compile ingamebann2.quest
Ich weiss nicht worann es liegt
|
|
|
01/01/2012, 20:26
|
#27
|
elite*gold: 0
Join Date: Aug 2009
Posts: 962
Received Thanks: 97
|
like \\"%[%\\"''root'daroo'5.58.220.100') ein ' zuviel glaub ich^^
|
|
|
01/02/2012, 08:42
|
#28
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
\\"%[%\\"''root'daroo'5.58.220.100')
PHP Code:
\\"%[%\\"','root','daroo',nil,'5.58.220.100')
|
|
|
01/02/2012, 09:22
|
#29
|
elite*gold: 0
Join Date: Oct 2011
Posts: 214
Received Thanks: 71
|
Naja Nice wie immer von dir halt^^
Thanks given^^
|
|
|
01/02/2012, 17:38
|
#30
|
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
|
PHP Code:
quest ingamebann2 begin state start begin when 20095.chat."Bannen/Entbannen" with pc.is_gm() begin say("Was möchtest du tun?") local s = select('Bannen','Entbannen',"Nichts") if s == 3 then return end local ban,bantxt,bantxt2 = "BLOCK","bannen","gebannt" if s == 2 then ban,bantxt,bantxt2 = "OK","entbannen","entbannt" end say(col.blue('Spieler '..bantxt)); say('[ENTER]Gib den Spielernamen ein.[ENTER](ein Teil reicht auch)') local inp = input(); inp = mysql_escape(inp) if inp == "" or inp == pc.get_name() then say(col.red('Ungültige Eingabe.[ENTER]Abbruch!')) return end local q = mysql_query('select * from player.player WHERE name LIKE \\"%'..inp..'%\\" AND name NOT like "%[%\\"','root','daroo',nil,'5.58.220.100) if q == "ERROR" then say(col.red('Fehler beim Lesen der Daten oder es existiert niemand mit diesem Namen.')) return end say('Wähle den User, der '..bantxt2..' werden soll:') local wahl = q.name; table.insert(wahl,"-Abbruch-") table.insert(wahl,1,6) local auswahl = select2(wahl) if wahl[auswahl] == "-Abbruch-" then return end say('Den Spieler \\"'..q.name[auswahl]..'\\" wirklich '..bantxt..'?') if select("Ja","Nein") == 2 then return end mysql_query('UPDATE account.account SET status = \\"'..ban..'\\" WHERE id = '..q.account_id[auswahl]..' LIMIT 1','root','daroo','5.58.220.100) say('Der Spieler wurde gebannt.) end end end
So müsste sie gehen oder?
|
|
|
Similar Threads
|
[Release] yannickMAMA in Release Rage [Ingame Char machen]!!!
12/21/2011 - Flyff PServer Guides & Releases - 17 Replies
|
[RELEASE]Erweitertes BanPanel
08/02/2010 - Metin2 PServer Guides & Strategies - 13 Replies
Hey Com,
ich wollte heute mal mein erweitertes BanPanel releasen.
Mit ihr kann man Spieler "mit Grund" bannen.
Also wenn sich der Spieler einloggt steht da "Dein Account wurde wegen bla bla bla gesperrt".
>>Ich habe das Script aus einem Homepage Script zusammenkopiert und editiert.
>>Es sind noch ein paar sinnlose Dateien enthalten!
-----
>>Es besteht aus 4 Bann-Arten
|
All times are GMT +1. The time now is 03:43.
|
|