E:function select2(tab) fehlte^^
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.Quote:
look in my Questlib:
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.Quote:
look in my Questlib:
Deine Meinung Zählt schon was :DQuote:
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
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
>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
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
\\"%[%\\"','root','daroo',nil,'5.58.220.100')
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