Hallo
ich habe irgendwie ein fehler also in game sagt der mir immer zu wenig ode rzuviel symbole zahlen buchstaben. obwohl ich abfrage
if(strval(inputtext) > 6 || strval(inputtext) < 1) und im ganzen sieht es so aus
if(strval(inputtext) > 6 || strval(inputtext) < 1)
{
SendClientMessage(playerid,COLOR_RED,"Das Kennzeichen ist zulang oder zukurz");
} wenn ich nix angebe sagt er mir okay gebe ich mehr ode r01 sagt e rmir immmer den satz da
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
-
-
Einfach umstellen in:
if(strval(inputtext) <1 || strval(inputtext) >6)
sonst müsstest du ja immer -... Buchstaben haben
-
oh okay mal testen glaube das kann klappen
//edit
okay hat geklappt jetzzt habe ich mal bischen weiter geschrieben das das auch ein sin gibt aber ein error in der zeileCarlist[playerid][Schild] = inputtext;
error 047: array sizes do not match, or destination array is too small
ka wieso ich habe oben bei den enum glaube ode rnew ka jetzt auf jeden fall Schild[128]; stehen
-
Ne.
Dann kann er nur 1 2 3 4 5 6 eingeben.
Die Abfrage zur Länge eines Strings ist strlen
if(strlen(inputtext) < 1 || strlen(inputtext)> 6)MfG.
Me -
ah okay habs ja auch schon geänder hatt das grade nur mit zahlen getestet danke habe aber den 1 error da
-
if(!inputtext[0] || inputtext[6]) return SendClientMessage(playerid,COLOR_RED,"Das Kennzeichen ist zulang oder zukurz");
so würde ich das machen -
ja okay ah jetzt habe ich noch ein error
Carlist[playerid][Schild] = inputtext;
error 047: array sizes do not match, or destination array is too small
-
Oder
if(!strlen(inputtext)) und nur noch eine begrenzung setzen falls du möchtest. Geht einfacher.
Lg
-
format(Carlist[playerid][Schild],6,inputtext);
Du kannst keinen string so zuweisen -
HÄ kapiere garde das format da nicht
soll ich jetzt extra ein format machen also übern string und dann den string auf das schild schreiben?
-
format(Carlist[playerid][Schild],6,inputtext);
das ist das gleiche wie das hier format(Carlist[playerid][Schild],6,"%s",inputtext);
Du musst den schlidstring formatieren du kannst in nicht einfach setzen wie variablen -
ah okay habs gecheckt danke es klappt alel sperfekt
-
Was ist dass denn ?
if(!inputtext[0] || inputtext[6]) return SendClientMessage(playerid,COLOR_RED,"Das Kennzeichen ist zulang oder zukurz");Sowas funktioniert in pwn ? Sieht mir total unlogisch aus.
Normalerweise selektiert man so einen Wert in einem Array ... ich werd
das mal testen, aber rein vom logischem her dürfe sowas nicht funktionieren. -
Ist doch logisch
Wenn nichts an position 0 steht oder etwas an postion 7 dann kommt diese Melgund -> zu kurz oder zu lang
ich hätte das auch so schreihebn können
if(inputtext[0]=='\0' || inputtext[6]!='\0')
hätte die gleiche Wirkung -
breadfish.de
Hat das Thema geschlossen.