Bei List-Dialogen wird unter OnDialogResponse das "inputtext" auf den String der angewählten Zeile gesetzt. Du kannst also abfragen, ob "inputtext" "Super" etc entspricht
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
Hey,
ich habe dank @_Marvin meine Showleader Funktion fertig gestellt.
forward Showleader();
public Showleader()
{
if(!cache_num_rows())return 1;
new string[MAX_PLAYER_NAME], fraction[64];
cache_get_field_content(0, "name", string,handle,MAX_PLAYER_NAME);
cache_get_field_content(0, "fraction", fraction, handle,64);
printf("Es gibt folgende Leader '%s' -> '%s'", string, f_name[strval(fraction)]);
return 1;
}Leider wird Sie nur 1 mal aufgerufen.
Doch ich möchte alle Namen auslesen...ocmd:leaders(playerid)
{
mysql_pquery(handle, "SELECT * FROM accounts WHERE frank = '10'", "Showleader");
return 1;
} -
Ja klar aber wie soll ich denn auslesen, was ich ausgewählt habe?
Ich habe folgendes Beispiel mal aus einem Script kopiert, dass dein Problem erfolgreich gelöst hat.
Hier die relevanten Zeilen:
new strpart[2][MAX_PLAYER_NAME],strpart2[2][MAX_PLAYER_NAME];
new i;
explode(strpart,inputtext," (");
explode(strpart2,strpart[0],"] ");
substr(strpart2[1],0,strlen(strpart2[1])-1);
i=ReturnUser(strpart2[1]);Hilft dir das?
-
@The Sensei
Oh, sorry. Wir müssen bei dem Teil (public Showleader) ja noch eine Schleife einfügen. Tut mir Leid, habe ich gar nicht dran gedacht.
Dann insgesamt so:C
Alles anzeigenforward Showleader(); public Showleader() { new string[MAX_PLAYER_NAME], fraction[64]; for(new i;i<cache_num_rows();i++) { cache_get_field_content(i, "name", string,handle,MAX_PLAYER_NAME); cache_get_field_content(i, "fraction", fraction, handle,64); printf("Es gibt folgende Leader '%s' -> '%s'", string, f_name[strval(fraction)]); } return 1; }
-
hey ich habe ein Problem ich habe in mein Alten Script ein Textdraw wo ich den String setze alles kein Problem.
Jerzen habe ich das in mein Aktuelles Script und da sagt er mir wenn ich den string setze das es zu Lang sei aber warum ?CodePlayerTextDrawSetString(playerid,fInfotext1[playerid],"Wir befinden uns hier auf einen Deutschen Reallife Server. Das hei\150t, dass auf den Server~n~die Gleichen Regeln der StVO ( Stra\150enverkehrsordnung ) gelten wie auf Deutschen Stra\150en.~n~Au\150er bei uns gibt es Keine Ampelpflicht aber auf Rechts vor Links muss geachtet werden !~n~Auf [RMR] herrscht ein Rechtsfahr gebot, bei Hindernissen darf auch die Spur gewechselt~n~werden um es zu umfahren, dabei muss auf Gegenverkehr geachtet werden!");
-
Dann musst du das zusammen formatieren, also so:
Cnew string[340]; format(string,sizeof string,"Wir befinden uns hier auf einen Deutschen Reallife Server. Das hei\150t, dass auf den Server~n~die Gleichen Regeln der StVO ( Stra\150enverkehrsordnung ) gelten wie auf Deutschen Stra\150en.~n~"); format(string,sizeof string,"%sAu\150er bei uns gibt es Keine Ampelpflicht aber auf Rechts vor Links muss geachtet werden !~n~Auf [RMR] herrscht ein Rechtsfahr gebot, bei Hindernissen darf auch die Spur gewechselt~n~",string); format(string,sizeof string,"%swerden um es zu umfahren, dabei muss auf Gegenverkehr geachtet werden!",string); PlayerTextDrawSetString(playerid,fInfotext1[playerid],string);
-
Code
Alles anzeigenLoginMenu[16] = TextDrawCreate(224.800033, 413.125000, "Registriere_dich_noch_heute_!"); TextDrawLetterSize(LoginMenu[16], 0.400000, 1.600000); TextDrawTextSize(LoginMenu[16], 434.000000, 0.000000); TextDrawAlignment(LoginMenu[16], 1); TextDrawColor(LoginMenu[16], 0xffffffff); TextDrawSetShadow(LoginMenu[16], 0); TextDrawSetOutline(LoginMenu[16], 1); TextDrawBackgroundColor(LoginMenu[16], 255); TextDrawFont(LoginMenu[16], 3); TextDrawSetProportional(LoginMenu[16], 1); TextDrawSetSelectable(LoginMenu[16], 1); LoginMenu[18] = TextDrawCreate(52.799976, 411.812500, "einloggen"); TextDrawLetterSize(LoginMenu[18], 0.400000, 1.600000); TextDrawTextSize(LoginMenu[18], 119.000000, 0.000000); TextDrawAlignment(LoginMenu[18], 1); TextDrawColor(LoginMenu[18], 0xffffffff); TextDrawSetShadow(LoginMenu[18], 0); TextDrawSetOutline(LoginMenu[18], 1); TextDrawBackgroundColor(LoginMenu[18], 255); TextDrawFont(LoginMenu[18], 3); TextDrawSetProportional(LoginMenu[18], 1); TextDrawSetSelectable(LoginMenu[18], 1); LoginMenu[23] = TextDrawCreate(629.600219, 1.000000, "X"); TextDrawLetterSize(LoginMenu[23], 0.400000, 1.600000); TextDrawTextSize(LoginMenu[23], 637.000000, 0.000000); TextDrawAlignment(LoginMenu[23], 1); TextDrawColor(LoginMenu[23], 0xffffffff); TextDrawSetShadow(LoginMenu[23], 0); TextDrawSetOutline(LoginMenu[23], 1); TextDrawBackgroundColor(LoginMenu[23], 255); TextDrawFont(LoginMenu[23], 1); TextDrawSetProportional(LoginMenu[23], 1); TextDrawSetSelectable(LoginMenu[23], 1);
Was mach ich nur Falsch ??
-
Code
Alles anzeigenLoginMenu[16] = TextDrawCreate(224.800033, 413.125000, "Registriere_dich_noch_heute_!"); TextDrawLetterSize(LoginMenu[16], 0.400000, 1.600000); TextDrawTextSize(LoginMenu[16], 434.000000, 0.000000); TextDrawAlignment(LoginMenu[16], 1); TextDrawColor(LoginMenu[16], 0xffffffff); TextDrawSetShadow(LoginMenu[16], 0); TextDrawSetOutline(LoginMenu[16], 1); TextDrawBackgroundColor(LoginMenu[16], 255); TextDrawFont(LoginMenu[16], 3); TextDrawSetProportional(LoginMenu[16], 1); TextDrawSetSelectable(LoginMenu[16], 1); LoginMenu[18] = TextDrawCreate(52.799976, 411.812500, "einloggen"); TextDrawLetterSize(LoginMenu[18], 0.400000, 1.600000); TextDrawTextSize(LoginMenu[18], 119.000000, 0.000000); TextDrawAlignment(LoginMenu[18], 1); TextDrawColor(LoginMenu[18], 0xffffffff); TextDrawSetShadow(LoginMenu[18], 0); TextDrawSetOutline(LoginMenu[18], 1); TextDrawBackgroundColor(LoginMenu[18], 255); TextDrawFont(LoginMenu[18], 3); TextDrawSetProportional(LoginMenu[18], 1); TextDrawSetSelectable(LoginMenu[18], 1); LoginMenu[23] = TextDrawCreate(629.600219, 1.000000, "X"); TextDrawLetterSize(LoginMenu[23], 0.400000, 1.600000); TextDrawTextSize(LoginMenu[23], 637.000000, 0.000000); TextDrawAlignment(LoginMenu[23], 1); TextDrawColor(LoginMenu[23], 0xffffffff); TextDrawSetShadow(LoginMenu[23], 0); TextDrawSetOutline(LoginMenu[23], 1); TextDrawBackgroundColor(LoginMenu[23], 255); TextDrawFont(LoginMenu[23], 1); TextDrawSetProportional(LoginMenu[23], 1); TextDrawSetSelectable(LoginMenu[23], 1);
Was mach ich nur Falsch ??
Wo liegt denn das Problem?
-
-
Hat geklappt danke !!
-
Dann musst du das zusammen formatieren, also so:
Cnew string[340]; format(string,sizeof string,"Wir befinden uns hier auf einen Deutschen Reallife Server. Das hei\150t, dass auf den Server~n~die Gleichen Regeln der StVO ( Stra\150enverkehrsordnung ) gelten wie auf Deutschen Stra\150en.~n~"); format(string,sizeof string,"%sAu\150er bei uns gibt es Keine Ampelpflicht aber auf Rechts vor Links muss geachtet werden !~n~Auf [RMR] herrscht ein Rechtsfahr gebot, bei Hindernissen darf auch die Spur gewechselt~n~",string); format(string,sizeof string,"%swerden um es zu umfahren, dabei muss auf Gegenverkehr geachtet werden!",string); PlayerTextDrawSetString(playerid,fInfotext1[playerid],string);
ja aber warum wird es mir auf mein Neuen als zu Lang angezeigt und auf mein Alten Funktioniert es ?
-
ja aber warum wird es mir auf mein Neuen als zu Lang angezeigt und auf mein Alten Funktioniert es ?
Schau dir mal diese Funktion an, wenn ich das Problem richtig verstanden habe: https://wiki.sa-mp.com/wiki/Strcat
-
Ja ich weiß trotzdem danke aber wieso ist er in dem einen Script zu lang aber in den anderen nicht ?
-
Ja ich weiß trotzdem danke aber wieso ist er in dem einen Script zu lang aber in den anderen nicht ?
Was bedeutet "zu lang" denn konkret? Wird da ein Fehler ausgegeben?
-
input line too long
Wird mir in mein neuen Script ausgegeben aber in mein Alten Script nicht ? -
Dann hast du da wohl noch was reingeschrieben was dann dafür sorgte das die Zeile für den Compiler zu lang ist.
-
Wird mir in mein neuen Script ausgegeben aber in mein Alten Script nicht ?
Könnte daran liegen, dass du unterschiedliche Pawn Versionen benutzt.
-
wie kann ich per mysql datenbank alle Admin ränge von 1 bis 5 Auslesen?
-
wie kann ich per mysql datenbank alle Admin ränge von 1 bis 5 Auslesen?
Hast du die Ränge in einer extra Tabelle gespeichert?
-
mysql_pquery(db, "SELECT Username, Admin FROM accounts WHERE Admin = 5;", "OnAdminOnline", "d", playerid);
habe das bisjetzt so aber ich will das alle Admins ausgelesen sollen also Rang 1 - 5
-