[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
-
-
Nutze R41-4
Lösche das true.
-
-
Bleibt gleich.
Hast du MySqlConnection als MySQL:MySqlConnection deklariert?
-
Schon erledigt danke habe schon alles umgeschrieben :=)
Guten Tag,
Kurze Frage Kaliber eventuell Sie eine Idee,
Wie soll man das mit den Wanteds am besten machen "WantedLabel" Sollte man dies mit einem Timer Überprüfen? bzw Updaten lassen?
Oder gibt es dafür eine bessere Variante um Timer zu vermeiden?
-
Wie soll man das mit den Wanteds am besten machen "WantedLabel" Sollte man dies mit einem Timer Überprüfen? bzw Updaten lassen?
Kannst einfach die SetPlayerWantedLevel Funktion hooken und dort immer das WantedLabel updaten.
Da das ja zu 100% durch diese Funktion bestimmt wird und du dann keinen Timer brauchst.
-
Code
Alles anzeigenpublic OnWantedChange(playerid, oldwanteds, newwanteds) { new string[128]; for(new i=0;i<GetMaxPlayers();i++) { if(IsLoggedIn(i)) { if(IsPlayerStreamedIn(playerid, i)) { if(Spieler[i][pFraktion] == 2 || Spieler[i][pFraktion] == 3 || Spieler[i][pFraktion] == 4 || Spieler[i][pFraktion] == 5) { if(newwanteds > 0 && oldwanteds == 0){ for(new a=0;a<MAX_WANTEDLABEL;a++) { if(Spieler[i][pWantedLabelCreated][a] == 0){ format(string, sizeof(string), "{FFFF00}%s (ID: %d)\nWanteds: %d\n\nGrund: %s", GetName(playerid), playerid, newwanteds, Spieler[playerid][pWantedReason]); Spieler[i][pWantedLabel][a] = CreateDynamic3DTextLabel(string, COLOR_WHITE, 0.0, 0.0, 0.0, 10.0, playerid, INVALID_VEHICLE_ID, 0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), i); Spieler[i][pWantedLabelID][a] = playerid; Spieler[i][pWantedLabelCreated][a] = 1; Streamer_SetFloatData(STREAMER_TYPE_3D_TEXT_LABEL, Spieler[i][pWantedLabel][a], E_STREAMER_ATTACH_OFFSET_Z, 0.70); return 1; } } } else if (newwanteds > 0 && oldwanteds > 0){ for(new a=0;a<MAX_WANTEDLABEL;a++) { if(Spieler[i][pWantedLabelCreated][a] == 1 && Spieler[i][pWantedLabelID][a] == playerid){ format(string, sizeof(string), "{FFFF00}%s (ID: %d)\nWanteds: %d\nGrund: %s", GetName(playerid), playerid, newwanteds, Spieler[playerid][pWantedReason]); UpdateDynamic3DTextLabelText(Spieler[i][pWantedLabel][a], COLOR_WHITE, string); return 1; } } } else if(oldwanteds > 0 && newwanteds <= 0) { for(new a=0;a<MAX_WANTEDLABEL;a++) { if(Spieler[i][pWantedLabelCreated][a] == 1 && Spieler[i][pWantedLabelID][a] == playerid) { Spieler[i][pWantedLabelID][a] = INVALID_PLAYER_ID; Spieler[i][pWantedLabelCreated][a] = 0; DestroyDynamic3DTextLabel(Spieler[i][pWantedLabel][a]); return 1; } } } } } } } return 1; }
So wird das Derzeit geupdatet wen jemand Wanteds bekommt wird das so gemacht:
/su z.b
Dient dazu um den Textdraw akuell zu Halten läuft natürlich über kein Timer.
-
So wird das Derzeit geupdatet
Ja, herzlichen Glückwunsch.
Und was ist jetzt deine Frage?!
Da kannst du doch alles automatisch ändern...
-
Beitrag von Dr. Frauenarzt ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Unnötig (). -
Hallo ich habe hier ein kleines problem beim UPDATEN MySQL R41-4
Also die Sprunk automaten existieren in der Datenbank auch mit der selben ID.
Doch wenn ich OnGameModeExit aufrufe printet er mir die neue Menge und Positionen aber UPDATEN diese nicht in die Datenbank.
Woran kann dies liegen?
Code
Alles anzeigenpublic OnGameModeExit() { SaveServerInfo(); mysql_close(handle); for(new i; i < MAX_SPRUNKS; i++) { if(!Iter_Contains(SPRUNKs, i))continue; new query[180]; mysql_format(handle, query, sizeof(query), "UPDATE server_automate SET Menge ='%d', PosX='%f', PosY='%f', PosZ='%f', RotX='%f', RotY='%f', RotZ='%f' WHERE ID=%d", SPRUNKInfo[i][sprunkMenge], SPRUNKInfo[i][sprunkX], SPRUNKInfo[i][sprunkY], SPRUNKInfo[i][sprunkZ], SPRUNKInfo[i][sprunkRX], SPRUNKInfo[i][sprunkRY], SPRUNKInfo[i][sprunkRZ], i); mysql_tquery(handle, query); printf("id: %d menge: %d x: %f y: %f z: %f rx: %f ry: %f rz: %f", i, SPRUNKInfo[i][sprunkMenge], SPRUNKInfo[i][sprunkX], SPRUNKInfo[i][sprunkY], SPRUNKInfo[i][sprunkZ], SPRUNKInfo[i][sprunkRX], SPRUNKInfo[i][sprunkRY], SPRUNKInfo[i][sprunkRZ]); } return 1; }
Codeid: 0 menge: 0 x: 205.652999 y: -61.823299 z: 1.678130 rx: 0.000000 ry: 0.000000 rz: 0.419647 id: 1 menge: 100 x: 144.546005 y: -66.034896 z: 1.678130 rx: -85.700004 ry: 58.499992 rz: -165.554977 id: 2 menge: 100 x: 150.602951 y: -70.993339 z: 1.529687 rx: -61.199989 ry: 7.799999 rz: 178.650375
-
-
Wie sieht der MySQL Log denn aus?
-
Wie sieht der MySQL Log denn aus?
//EDIT hat sich gelöst mysql_close wird ausgerufen, dann versuht er die query zu senden DUMMHEITSFEHLER
-
Du schließt mit mysql_close die Verbindung und führst dann erst die Queries aus. Das muss andersherum sein, mysql_close gehört ganz ans Ende.
-
Du schließt mit mysql_close die Verbindung und führst dann erst die Queries aus. Das muss andersherum sein, mysql_close gehört ganz ans Ende.
//EDIT hat sich gelöst mysql_close wird ausgerufen, dann versuht er die query zu senden DUMMHEITSFEHLER
Danke nochmal
-
Guten Tag,
Habe mal eine Kurze Frage,
Ich würde gerne machen das man ein carkey vergeben kann.
Das man ein jemand ein 2 Schlüssel vergibt das er /motor /lock nutzen kann.
per was wäre das am besten sollte man dies über die Fahrzeug Datenbank abspeichern lassen oder eher über die Spieler?
-
Guten Tag,
Habe mal eine Kurze Frage,
Ich würde gerne machen das man ein carkey vergeben kann.
Das man ein jemand ein 2 Schlüssel vergibt das er /motor /lock nutzen kann.
per was wäre das am besten sollte man dies über die Fahrzeug Datenbank abspeichern lassen oder eher über die Spieler?
Ich selber würde es in der Spieler Datenbank abspeichern.
-
Guten Tag, ich hab ein kleines Problem, welches ich gerade nicht sehe wie ich dieses löse ...
Ich nutzte ein Define,
Wenn ich z.B: "SendInfoMessage(playerid, "Test");" nutze, klappt es, sobald ich aber ein string nutzen möchte, haut mir der Compiler Fehler raus:
Codeformat(strMsg, sizeof(strMsg), "Aktuelle Uhrzeit: %d:%d", hour, minutes); SendInfoMessage(playerid, strMsg); // <-- Die Fehler Zeile error 001: expected token: "-string end-", but found "-identifier-" warning 215: expression has no effect error 001: expected token: ";", but found ")" error 029: invalid expression, assumed zero fatal error 107: too many error messages on one line
LG, DomeTastisch.
-
SendInfoMessage
Das geht nur, wenn dein String eine Konstante ist.
Da du hier einen String nutzt, müsstest du sowas machen:
-
Beitrag von quitX ()
Dieser Beitrag wurde vom Autor gelöscht (). -
Hätte da noch eine Frage,
weiß nicht wie ich diese am besten Lösen kann, leider ...
Möchte gerne, wenn man sich beim Anmelde Dialog befindet, das sich die World Time verändert, naja das ganze klappt nur einmal,
danach wird die Uhrzeit nicht weiter Hoch gesetzt.
Bisheriger Code:
Code
Alles anzeigen// Der Timer wird alle 988 Sekunden ausgeführt function:PlayerSecondTimer() { gettime(strHour, strMinute, strSecond); new strMsg[128]; for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) { if(!IsPlayerConnected(i))continue; if(!PlayerInfo[i][pLoggedIn]) { strHour ++; SetPlayerTime(i, strHour, 59); format(strMsg, sizeof(strMsg), "Aktuelle Uhrzeit: %d", strHour); SendInfoMessage(i, strMsg); } else { //SetWorldTime(strHour); } } return 1; }
LG, DomeTastisch.