Quest - String splitten und den ersten Teil lesen

07/02/2013 19:26 Yiv#1
Hallo liebe Community,

ich würde gerne in einer Quest einen String splitten (String = Spielername) und checken, ob die ersten vier Zeichen "[GM]" oder "[SA]" sind.

Wer kann mir helfen?

MfG
07/02/2013 19:50 .Stefan#2
Poste das mal dort rein > [Only registered and activated users can see links. Click Here To Register...]
07/02/2013 21:23 .Ravage#3
Du brauchst kein split.

string.find(string, pattern)

Beispiel: string.find(pc.get_name(), "[GM]")

Gibt die anzahl der funde zurück. Kommt 1 raus, heißt das, dass der string 1x drin vorkommt. Hier eine function:

function pc.check_gm_name(playername)
if playername == nil then local playername = pc.get_name() end
local ergebnis = false
local pattern = { "[GM]" , "[GA]" , "[SA]", "[SGM]", "[TGM]" }
for x = 1, table.getn(pattern), 1 do
if string.find(playername, pattern[x]) >= 1 then local ergebnis = true end
end
return ergebnis
end

Die liste "pattern" kannst du problemlos erweitern. Du kannst auch mit mysql-queries arbeiten und so überprüfen, ob der spieler auch wirklich in der gmlist steht.
07/02/2013 21:57 Yiv#4
Danke :) So ungefähr sieht auch meine Funktion aus, nur mit noch was besonderem ;)

MfG