Und jetzt nur wegen Maxplayers ein Plugin zu nutzen finde ich unnötig.
Vermutlich wurde es deshalb auch nicht oft genutzt und ist hier unter gegangen ![]()
Und jetzt nur wegen Maxplayers ein Plugin zu nutzen finde ich unnötig.
Vermutlich wurde es deshalb auch nicht oft genutzt und ist hier unter gegangen ![]()
Das habe ich extra entfernt weil er es komischweiße beim Restart wieder zurück setzt.
Dann hast du den Server falsch restartet...darfst die Konsole natürlich nicht schließen oder den Server crashen lassen...sondern halt durch ein GMX ändern oder so.
Habe eine frage möchte auch die Pickups ingame erstellen/Versetzen für die Fraktionen wie mache ich sowas am besten?
Ich verstehe die Frage nicht.
Du brauchst nur einen Befehl, wo du die Frakid eingibst, dann prüfst du ob ein Pickup schon existiert, wenn ja löschst du es und erstellst es an den neuen Positionen...
Keine Ahnung, was genau du jetzt wissen magst ![]()
Kann man das irgendwie umändern das es ohne auch Funktioniert?
Natürlich, du musst es bei dem Befehl auch eigentlich gar nicht an die Datenbank schicken.
Es reicht doch, wenn du die Variable, die den Spawn bestimmt änderst.
Diese wird doch eh beim Server-Restart gespeichert.
oder gab es damals keine Rcon Commands
Doch, die gab es schon immer.
Das Plugin ist insofern sinnvoll, weil du bestimmte Dinge ändern kannst, die du über RCON-Commands nicht ändern kannst, z.B. eben die maxplayers.
Du kannst die maximale Spieleranzahl nicht ohne Neustart mit diesem Plug-in ändern.
Ah, danke für die Aufklärung, hatte mir nur das Video angeschaut und da kam das so rüber ![]()
Nur als Info, der Fehler wurde behoben und es lag daran, dass unter OnPlayerDisconnect immer ein Label gelöscht wurde, welches aber den Wert 0 hat.
Wert 0 hatte aber auch das erste Label, welches erstellt wurde. In diesem Fall war es das Auto Label und deshalb verschwand es immer.
Also immer an ALLE achtet auf diese Default Werte, auf den meisten Servern verursacht das immer wieder Bugs! ![]()
Nur als Info, viele Dinge kann man auch ohne das Plugin ändern, über die RCON-Commands: https://wiki.sa-mp.com/wiki/SendRconCommand
Aber natürlich, ist es verlockend die maxplayers während der Server läuft zu ändern.
Aber man muss hier aufpassen, dass die maxplayers nicht plötzlich größer werden als die MAX_PLAYERS die im Skript definiert sind!
Ansonsten kann es zu schweren Fehlern kommen, nur mal als Hinweis ![]()
Aber ja, ist n nettes Plugin, hatte ich auch noch nicht gesehen ![]()
Irgendwie bringst du da den Index für VehicleInfo ständig durcheinander.
Mal nutzt du FrakFahrzeugInfo[vehicleid][frakfahrzeug_VehicleID] und mal nur die vehicleid...
Was willst du denn jetzt nutzen?
Kein wunder dass da nichts funktioniert ![]()
Und der String ist auch am Anfang leer, du kannst kein leeres 3DTextLabel erstellen :c
ocmd:fk1(playerid,params[])
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendErrorMessage(playerid,"Du bist nicht der Fahrer eines Fahrzeuges");
new v = GetPlayerVehicleID(playerid),frakVeh = FrakFahrzeugInfo[v][frakfahrzeug_VehicleID];
if(IsNull(params))
{
//Hier hat er nur /fk eingegeben...
if(VehicleInfo[frakVeh][KennungObj] != Text3D:0) Delete3DTextLabel(VehicleInfo[frakVeh][KennungObj]); //Falls es bereits existiert, check ob du es auf 0 oder INVALID gesetzt hast...das solltest du anpassen
else SendInfoMessage(playerid,"/fk [Kennung]"); //Wenn es nicht existiert, gibts auch nichts zu zerstören und die Nachricht kommt
return 1;
}
new string[200],Float:pos[3];
format(VehicleInfo[v][KennungZahl],50, params);
VehicleInfo[frakVeh][KennungObj] = Create3DTextLabel(params, WEISS, 0, 0, 0, 10,-1,0);
GetVehicleModelInfo(GetVehicleModel(frakVeh), VEHICLE_MODEL_INFO_SIZE, pos[0], pos[1], pos[2]);
Attach3DTextLabelToVehicle(VehicleInfo[frakVeh][KennungObj],frakveh, -pos[0]/2.23, -pos[1]/2.23, 0.1);
format(string,sizeof(string),"%s-%s",VehicleInfo[v][Kennung],VehicleInfo[v][KennungZahl]);
Update3DTextLabelText(VehicleInfo[frakVeh][KennungObj], WEISS, string);
return 1;
}
Alles anzeigen
Soo könntest du es z.B. machen..
Aber ich weiß nicht genau, was genau du machen willst bzw welche Indizes richtig sind, da ich deinen Code nicht kenne ![]()
Auch in keinem Include/Filterskript?
Die TextLabels werden im Script nirgends destroyed sondern nur wenn der Spieler sich ausloggt aus irgend einem Grund.
Das klingt irgendwie Paradox ![]()
Dann such doch mal nach [wiki]Delete3DTextLabel[/wiki], eventuell zerstörst du ja das nicht gezielt, aber ganz viele auf einmal...
wird die Kennung destroyed
Ja...wie vermutet.
Dann musst du diese wieder beim connecten erstellen ![]()
Oder hoffst du da irgendwie auf Black-Magic? ![]()
So wird es attached
Das hilft mir nicht.
Wichtig wäre, wann es verwendet wird...und ob es noch andere Funktionen gibt, die das Label beeinflussen.
jedoch wird dieses nach einem rejoin nicht mehr angezeigt
Dann machst du irgendwas falsch.
Entweder du attachst es nochmal mit einer falschen id für den spieler oder du löschst es beim connect/disconnect.
Tatsache ist, dass es serverseitig gesteuert wird, somit hat reconnecten keinen Einfluss auf das Label ![]()
Schau zum Beispiel mal hier: https://www.php-einfach.de/mysql-tutorial/daten-einfuegen/
Aktuel erstellst du nur eine Variable mit dem Query (was du nicht so tuen solltest, sondern nutze dafür die prepare Funktion) und anschließend die execute Funktion ![]()
Erst dann, wird dein Query auch abgesendet.
So sind die Tausenderpunte definiert:
Schreibs mal so:
Abgesehen davon, dass dein Code nur so vor Redundanz und Unübersichtlichkeit strotzt, liegt der Fehler vermutlich daran, dass du einfach 2x gespawnt wirst.
Nach OnPlayerRequestClass wird er vermutlich gespawnt, das musst du abfangen, damit das nicht 2x aufgerufen wird.
Ja, lösch die erste Abfrage einfach mit dem strval, die ist unnötig ![]()
!strval(inputtext)
Das prüft, ob die Zahl 0 ist...
Was wolltest du da abfragen?
Ehh kannst du über https://jsfiddle.net/ deinen Code teilen, wie das so aussieht? ![]()
Dann wäre es um einiges leichter dir zu helfen, da wir uns das dann besser vorstellen können und direkt deinen Code updaten können ![]()
Das geht so nicht, da du sonst eine 4 Dimensionale Variable benötigen würdest und das kann dieser Pawn-Compiler nicht.
Es gibt ein Update, der kann das.
Alternativ, musst du das in eine andere Variable tun, sowas wie:
new FrakRang[MAX_FRAKS][MAX_RÄNGE][MAX_RANG_LEN];