-
array auslesen
Hallo,
ich bin gerade dabei eine E2 zu schreiben mit der ich per chatcommand bestimmen kann ob jemand bestimmtes den Pod an dem der E2-Chip hängt benutzen darf.
Das ganze möchte ich mit Arrays lösen. Das lustige ist das das auslesen nicht so schön wie in PHP funktioniert.
Code:
@name security_system_by_cyfer
@persist Player:array Targ:entity Memory:array Index
runOnChat(1)
runOnTick(1)
Player = owner():lastSaid():lower():explode(" ")
if (chatClk(owner())) {
if (Player:string(1) == "add") {
hideChat(1) #befehl ausblenden
Targ = findPlayerByName(Player:string(2))
if(Targ){
hint(Player:string(2) + " gefunden",5)
hint("Der richtige name ist: " + Targ:name(),5)
hint("Die Playerid ist: " + Targ:id(),5)
Memory = array( Index, Targ:id(), Targ:name())
Index++ #erst nach dem speichern erhoehen
hint("Gespeichert unter ID : " + Index,5)
}else{
hint(Player:string(2) + " nicht gefunden",5)
}
}
if (Player:string(1) == "list) {
hideChat(1) #befehl ausblenden
hint("Der richtige name ist: " + Memory:string(1) + " " + Memory:string(2) +
" " + Memory:string(3),5)
}
}
So gibt er immer den ersten eintrag aus (alte dinger werden nach hinten geschoben sodass neue sachen zuerst gezeigt werden). Das problem ist ich kann den oder die hinteren einträge nicht lesen. Kann mir da jemand helfen?
Mfg
-
AW: array auslesen
Du möchtest also herausfinden, ob ein bestimmter Eintrag im Array vorhanden ist?
Das geht am einfachsten mit einer for()-Schleife.
PHP-Code:
@persist Memory:array
runOnChat( 1 )
if( first() )
{
Memory = array( "milch", "butter", "brot" ) # Array mit ein paar Einträgen erzeugen
}
Ls = owner():lastSaid():lower()
if( chatClk( owner() ) & Ls:left( 5 ) == "/find" )
{
Split = Ls:explode(" ")
SearchFor = Split[2,string]
for( I = 1, Memory:count() ) # Das gesammte Array durchlaufen
{
This = Memory[I,string]
if( This == SearchFor ) # Den aktuellen Eintrag mit dem Gesuchten vergleichen
{
hint( This + " gefunden, ID: "+ I, 5 )
Found = 1
break # Den Loop abbrechen, da das Gesuchte gefunden wurde
}
}
if( !Found )
{
hint( SearchFor + " wurde nicht gefunden.", 5 )
}
}
Damit sollte man per /find <Suchbegriff> das Array durchsuchen können. Ich hoffe du meintest sowas. Ich habe das Script allerdings nicht getestet, könnte Fehler enthalten.
-
AW: array auslesen
Quabit, zoggst du auchmal gmod?
Kannst mich mal in steam adden?^^ Will mal mit dir spieln :)
mein login:
notregistered