Ist ja auch klar.
Du returnst in dem Loop etwas, nach dem ersten return wird der Loop und die Funktion beendet.
Wenn du willst, dass der Loop die Person überspringt und zur nächsten Person geht, verwendest du statt return einfach continue.
[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 Jungs,
Wollte mein Stats System wieder ein Stück erweitern und habe ein Frage;
Ich will das Registrations-Datum Speichern, wie mache ich das am besten und wie wird es dann in der Datenbank gespeichert weil es ja 2. hat (e.g. 01.01.2001)
Oder muss ich das kompliziert machen mit R_Tag R_Monat R_JahrDanke

-
Du kannst das Datum z.b. 24.09.2018 einfach als VARCHAR in der Datenbank speichern. (Also ein String)
-
Das einfachste wäre ein Char Feld mit 10 (bzw. 11 falls "End-of-String" mit benötigt wird) Zeichen anzulegen.
Dann wie folgt zu speichern:
new d, m, y;
getdate(y, m, d);
mysql_format(handle, query, sizeof(query), "UPDATE ... SET ... , regdatum = '%02d.%02d.%d', ... WHERE ...", d, m y);Besser wäre es aber, ein Integer Feld zu nehmen und den Timestamp zu speichern.
nmysql_format(handle, query, sizeof(query), "UPDATE ... SET ... , regdatum = '%d', ... WHERE ...", gettime());Das muss bei der Anzeige dann wieder umgewandelt werden.
https://forum.sa-mp.com/showthread.php?t=347605 (Meinen Post auf Seite 8 beachten). -
Das nach der Registration
Codenew year, month, day, hour, minute, second; TimestampToDate(pInfo[playerid][pRegisterDatum], year, month, day, hour, minute, second, 2);Das bei einer Anzeige, z.B Stats
Dazu noch wie es im String gezeigt wird
%d.%d.%d ... day,month,yearWas muss ich noch machen geht ja so noch nicht.
-
Was muss ich noch machen geht ja so noch nicht.
Warum nicht?
-
Moin,
ich muss nochmal eine frage stellen.
Es gab doch mal bei Pawno die funktion, dass wenn man z.B. CreateVehicle( ... eingegeben hat, hat pawno dir gesagt was er in dieser Funktion erwartet ... Warum geht das denn nicht mehr ?
Es kommt bei mir absolut nix. Nutze Pawnfox... geht auch nicht...
Mit freundlichen Grüßen
XonarZ -
Du musst es als Administrator starten meines Wissens nach-
-
Beitrag von Jeffry ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: BrightLeaN war schneller. (). -
Du musst es als Administrator starten meines Wissens nach-
Naja ich starte sowohl Pawno als auch Pawnfox als Admin. Leider geht es nicht...
//EDIT also bei Pawno gehts doch ... Warum aber bei pawnfox nicht ? ...
-
"Show Function List" kannst du unter: Options aktivieren.
Dann als Administrator starten so
//Edit
Zitat von JeffryWarum nicht?
Weil irgendwas falsch ist der zeigt mir auch im Compilier an
Code(3180) : warning 215: expression has no effect Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 1 Warning. -
pInfo[playerid][pRegisterDatum] - gettime();
zu:
pInfo[playerid][pRegisterDatum] = gettime();PS:
Jetzt waren alle Info's im Post drin, so muss es sein!
-
Ich mal wieder^^
ich komme gerade nicht so ganz weiter... Ich möchte gerne für mein Späteres Motorsystem verschiedene Kraftstoffe haben usw. Dazu habe ich mir ein Enum erstellt.
Ich bekomme folgende Fehler:
Code
Alles anzeigenC:\Users\d-199\Desktop\0.3DL\gamemodes\selfmade.pwn(86) : warning 228: length of initialler exceeds size of the enum field C:\Users\d-199\Desktop\0.3DL\gamemodes\selfmade.pwn(86) : warning 213: tag mismatch C:\Users\d-199\Desktop\0.3DL\gamemodes\selfmade.pwn(86) : warning 228: length of initialler exceeds size of the enum field C:\Users\d-199\Desktop\0.3DL\gamemodes\selfmade.pwn(86) : warning 213: tag mismatch C:\Users\d-199\Desktop\0.3DL\gamemodes\selfmade.pwn(86) : error 018: initialization data exceeds declared size Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 1 Error.Die dazugehörigen Zeilen (85 - 88):
Codenew mInfo[][modelData] = { {400, "Landstalker", 12, "Diesel", 10.0}, {411, "Infernus", 12, "Benzin", 30.0} };
Mein Enum: -
enum modelData{
mID,
mName[32],
mBat,
fuelTyp[16],
Float:maxTank
} -
Beitrag von LeonMrBonnie ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Jeffry war mal wieder schneller. :( (). -
enum modelData{ mID, mName[32], mBat, fuelTyp[16], Float:maxTank}
Achsoo ich dachte weil man Textdraws ja auch sozusagen so definiert... Also musste ich nur die 2 Variablen als richtige Strings definieren mit der Zeichenlänge ... Danke

//EDIT
Ich habe eine weitere frage... Ich habe ja in meinem enum Float:maxTank drinne ...
nun hab ich spaßeshalber mal, sobald ein Spieler in ein Auto einsteigt welches ich schon im array habe, wird ihm eine Nachricht geschickt mit den Daten aus dem Enum ... nun ist es so, dass bei maxTank eine große Zahl steht anstatt 30.0 ...
Ich habe es nun mit %d und %i ausprobiert. beides kein Erfolg.
Muss ich das vorher noch irgendwie runden oder so ?
MfG
XonarZ -
Du musst für floats auch %f nehmen.

-
Du musst für floats auch %f nehmen.

Okay. Nun werden allerdings zu viele nullen angezeigt, kann man das auch irgendwie reduzieren ? Ich würde das ganz gerne dann so auch fürs Tacho übernehmen haha^^
Und noch etwas ... ich hab mich mal eben versucht, dass Fahrzeuge aus der Datenbank geladen und erstellt werden ... Dazu habe ich folgendes gemacht:
Enum:
Code
Alles anzeigenenum vehData{ vehID, vehMID, vehOwner[64], vehFuel[64], Float:vehTank, vehLocked, vehColor1, vehColor2, Float:vehKMStand, Float:vehVoltage, Float:vehHealth, Float:vehLPKM, vehLoad, Float:vehX, Float:vehY, Float:vehZ, Float:vehA } new vInfo[][vehData];OnGameModeInit:
und nun der stock:Code
Alles anzeigenstock LoadCars(){ new query[256], rows; mysql_format(handle, query, sizeof(query), "SELECT * FROM cars WHERE laden = '1'"); mysql_pquery(handle, query); cache_get_row_count(rows); for(new i = 0; i < sizeof(rows); i++) { cache_get_value_name_int(i, "vehicleid", vInfo[i][vehMID]); cache_get_value_name_float(i, "posx", vInfo[i][vehX]); cache_get_value_name_float(i, "posx", vInfo[i][vehY]); cache_get_value_name_float(i, "posx", vInfo[i][vehZ]); cache_get_value_name_float(i, "posx", vInfo[i][vehA]); cache_get_value_name_int(i, "color1", vInfo[i][vehColor1]); cache_get_value_name_int(i, "color2", vInfo[i][vehColor1]); CreateVehicle(vInfo[i][vehMID], vInfo[i][vehX], vInfo[i][vehY], vInfo[i][vehZ], vInfo[i][vehA], vInfo[i][vehColor1], vInfo[i][vehColor2], -1); } return 1; }Ich hab das gefühl, dass ich irgendwas falsch verstanden habe haha^^ ... Ich habe mit absicht erstmal nur die paar sachen ausgelesen, damit ich testen kann ob es klappt

Mit freundlichen Grüßen
XonarZ -
So wie du das machst ist es nicht ganz falsch.
Aber alles nach dem MySQL_pquery muss in eine Public Funktion die du mit MySQL_pquery aufrufst.
Denn mit mysql_pquery kannst du die Ergebnisse vom query an eine Public Funktion weitergeben und verarbeiten.
Also machst du es zu;_
mysql_pquery(handle,query, "OnLoadCars");Dann erstellt du die neue Public Funktion:
public OnLoadCars()
{
}
Und kopierst dann den ganzen Code unter dem pquery den du gerade hast einfach in die Funktion rein. -
Alles anzeigen
So wie du das machst ist es nicht ganz falsch.
Aber alles nach dem MySQL_pquery muss in eine Public Funktion die du mit MySQL_pquery aufrufst.
Denn mit mysql_pquery kannst du die Ergebnisse vom query an eine Public Funktion weitergeben und verarbeiten.
Also machst du es zu;_
mysql_pquery(handle,query, "OnLoadCars");Dann erstellt du die neue Public Funktion:
public OnLoadCars()
{
}
Und kopierst dann den ganzen Code unter dem pquery den du gerade hast einfach in die Funktion rein.Also brauche ich sozusagen 2 Callbacks / stocks um die Funktion für die Fahrzeuge zu machen oder kann ich den Query auch unter OnGameModeInit ausführen und dann an LoadCars geben ?

