Wie frage ich einen String erfolgreich ab?
String abfragen
- Keine_Person
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Antwort
Wenn du eine frage stellst dann bitte auch so dass man es versteht.
Ich denke du meinst das http://wiki.sa-mp.com/wiki/Strcmp -
Ne dann doch eher eine Passwort Abfrage wenn Groß und Klein da gezählt wird.
-
Was hast du denn genau vor ?
Man steht einfach nur Bahnhof was du vor hast.Sonst hilft dir das.
Tipps: Scripting-Probleme richtig erklären -
Eine einfache Passwort Abgrafe über Dini.
Falls irgendwie machbar mit if Abfrage dann damit. (if(string == key) key dann aus der File geladen)
-
Ne dann doch eher eine Passwort Abfrage wenn Groß und Klein da gezählt wird.
Das macht die Funktion strcmp das steht für string-compare (also Strings vergleichen).
Dort kannst du nun angeben was du möchtest:
C
Alles anzeigenif(!strcmp(inputtext, passwort)) { //Hier kommst du nur hin, wenn inputtext == passwort ist und groß und kleinschreibung beachtet wurde! } if(!strcmp(inputtext, passwort, true)) { //Hier wäre auch inputtext == passwort, aber es würde nicht auf groß und kleinschreibung geachtet werden :) }
//Edit:
Und wichtig immer prüfen, dass weder inputtext noch passwort die Länge 0 haben!!!
Sonst würde das immer funktionieren
-
Ich persönlich würde ehr zu MySQL greifen aber dass ist ja deine Entscheidung.
Ich würde dir das empfehlen.
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
-
So weist man das nicht zu, das macht man wenn dann so:
Cnew key[128]; format(key,sizeof(key), dini_Get(file, "key")); if(key[0] != EOS && inputtext[0] != EOS && !strcmp(inputtext, key)) { Spawn2(playerid); return 1; }
Falls du dich fragst was dieses EOS ist, das steht für End-Of-String.
Und ist im Endeffekt eine 0.
Es wird einfach nur geprüft, dass die erste Zelle im Array nicht 0 ist, ansonsten würde das ja bedeuten, dass der String leer ist und das wollen wir ja vermeiden -
Code
Alles anzeigenenum Account_Daten { bool:PasswortVergeben, bool:CharacterFrei[3], CharacterName1[MAX_PLAYER_NAME], CharacterName2[MAX_PLAYER_NAME], CharacterName3[MAX_PLAYER_NAME] }; new Info[MAX_PLAYERS][Account_Daten], p_name[MAX_PLAYERS][MAX_PLAYER_NAME];
Codenew string[128]; dini_Get(file, "CharacterName1"); dini_Get(file, "CharacterName2"); dini_Get(file, "CharacterName3"); format(string,sizeof(string),"%s\n%s\n%s",p_name[playerid][CharacterName1],p_name[playerid][CharacterName2],p_name[playerid][CharacterName3]); ShowPlayerDialog(playerid,DIALOG_LOGIN_2,DIALOG_STYLE_LIST,string,"Login","Abbrechen");
C:\Program Files\Grand Theft Auto San Andreas\gamemodes\ganmore.pwn(292) : warning 213: tag mismatch
C:\Program Files\Grand Theft Auto San Andreas\gamemodes\ganmore.pwn(292) : warning 213: tag mismatch
C:\Program Files\Grand Theft Auto San Andreas\gamemodes\ganmore.pwn(292) : error 032: array index out of bounds (variable "p_name")
C:\Program Files\Grand Theft Auto San Andreas\gamemodes\ganmore.pwn(293) : warning 202: number of arguments does not match definition -
-
Was machst du da mit p_name das hab ich dir nur für die Funktion GetName(playerid) gemacht, das gibt dir den Spielernamen wieder.
Der Character Name, ist ja was anderes.
Da hatte ich dir doch auch schon den Code geschrieben gehabt (wieso hast den gelöscht?!), da musst du doch nur folgendes machen:
Cnew string[128]; format(Info[playerid][CharacterName1],MAX_PLAYER_NAME,dini_Get(file, "CharacterName1")); format(Info[playerid][CharacterName2],MAX_PLAYER_NAME,dini_Get(file, "CharacterName2")); format(Info[playerid][CharacterName3],MAX_PLAYER_NAME,dini_Get(file, "CharacterName3")); format(string,sizeof(string),"%s\n%s\n%s",Info[playerid][CharacterName1],Info[playerid][CharacterName2],Info[playerid][CharacterName3]); ShowPlayerDialog(playerid,DIALOG_LOGIN_2,DIALOG_STYLE_LIST,string,"Login","Abbrechen");
-
-
Da fehlt der Titel von dem Dialog:
ShowPlayerDialog(playerid,DIALOG_LOGIN_2,DIALOG_STYLE_LIST,"Charaktere:",string,"Login","Abbrechen");
-
Ah sorry und danke das wars dann.
-
breadfish.de
Hat das Thema geschlossen.