Achso, du nutzt kein OMP und nicht den neusten Compiler 😅
Dann lösch Zeile 8-12 von meinem Code...
Achso, du nutzt kein OMP und nicht den neusten Compiler 😅
Dann lösch Zeile 8-12 von meinem Code...
Hattest du vorher was an den natives im Include geändert?
Die darfst du natürlich nicht anfassen.
👻
Das klingt sehr mysteriös...hast du Windows 10 oder Windows 11?
Hast du die Datei ggfs als auszublenden markiert? Über das Kontextmenü im Explorer könntest du versuchen versteckte Dateien einzublenden.
Bist du sicher, dass der Pfad stimmt und die Datei da liegt?
Wird die .amx in dem Ordner erstellt?
Erstell mal ein neues Skript und Kopiere nur den Inhalt um (nicht die Datei), geht es dann?
Mach das so und schon hast du das gleiche Ergebnis, ohne irgendwelche Includes bearbeiten oder Plugins recompilen zu müssen.
Nein, so funktioniert es nicht ganz, da SetDynamicObjectMaterialText durch das Makro auch in der Funktion überschrieben wird, somit hätten wir hier eine unendliche Rekursion und einen Parameter Fehler 😅
// Pack das in das Streamer Include ganz nach Unten
native __SetDynamicObjectMaterialText(STREAMER_TAG_OBJECT:objectid, materialindex, const text[], materialsize = OBJECT_MATERIAL_SIZE_256x128, const fontface[] = "Arial", fontsize = 24, bold = 1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0) = SetDynamicObjectMaterialText;
stock _SetDynamicObjectMaterialText(STREAMER_TAG_OBJECT:objectid, const text[], materialindex, materialsize = OBJECT_MATERIAL_SIZE_256x128, const fontface[] = "Arial", fontsize = 24, bold = 1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0)
{
return __SetDynamicObjectMaterialText(objectid, materialindex, text, materialsize, fontface, fontsize, bold, fontcolor, backcolor, textalignment);
}
#if defined _ALS_SetDynamicObjectMaterialText
#undef SetDynamicObjectMaterialText
#else
#define _ALS_SetDynamicObjectMaterialText
#endif
#define SetDynamicObjectMaterialText _SetDynamicObjectMaterialText
Alles anzeigen
Ganz ganz schlechte Idee, selbst die Plugins compilen zu wollen, wegen so einem Quatsch.
Am Einfachsten wäre n Makro, wo du die Funktion umbennenst und die Parameter tauschst oder du Hookst die Funktion und änderst da die Parameter Reihenfolge.
Ich kann später mal n Codebeispiel geben, wenn gewünscht, gerade aber unterwegs. (Kannst ja mal suchen, gibt hier viele Beispiele)
also das ist der auslöser dafür das er 2x mal durch läuft ?
Kann sein, ich kenne dein Skript ja nicht...
Du kannst ja mal überall wo SpawnPlayer aufgerufen wird ein Log setzen und TogglePlayerSpectating mal entfernen und dann im Log schauen, wie das so aussieht.
wo setze ich es denn dann anbesten hin
Ja, eig nur dahin, wo du willst, dass jmd aus dem Spectator Mode rausgeholt wird. Bei OnPlayerSpawn macht es auf jeden Fall keinen Sinn.
TogglePlayerSpectating(playerid, false);
Das sorgt auch dafür, dass OnPlayerSpawn aufgerufen wird
Wie sieht denn SetPlayerSpawn aus? Wo verwendest du noch überall TogglePlayerSpectating
Hier teile ich gerne mal mit dir, das gilt für jedes Problem unabhängig von SA:MP: Tipps: Scripting-Probleme richtig erklären
Code NIEMALS als Bild teilen, dafür gibt es extra BBCodes, lerne und nutze sie
Versuch es bitte erneut.
Wenn ich dich richtig verstehe, dann willst du das so:
$uids = [];
$pids = [];
$since = [];
while ($row = $exec->fetch(PDO::FETCH_OBJ)) {
$uids[] = $row->UID;
$pids[] = $row->PID;
$since[] = $row->Since;
}
$json = [
'uids' => implode(', ', $uids),
'pids' => implode(', ', $pids),
'since' => implode(', ', $since)
];
echo json_encode($json);
Alles anzeigen
Aber nur als Info:
Hier wären weitere Infos von Vorteil...
Ja, ich hatte so einen Fehler tatsächlich auch mal festgestellt...
Lieber die nativen Funktionen nutzen, wie CreatePickup oder CreatePlayerPickup. Glaube seit OMP ist da was durcheinander gekommen.
Der Fehler steht ja im Log, also entweder gibst du Level im Query mit an, oder über PHPMyAdmin bearbeitest du die Datenbank, dass du Level einen Default Wert wie 1 gibst
Oh sorry auf dem Server läuft Linux
Wichtig wäre hier die Distribution.
Oft ist in Containern wie Docker kein sudo verfügbar.
Dann ist die Frage, mach mal whoami und versuch es ohne sudo.
Aber je nachdem auf Fedora/CentOS etc gibt es andere cmds.
Was für ein Betriebssystem hast du denn?
Wieso machst es dir so kompliziert und magst das manuell machen, lass doch einfach den Paketmanager das updaten, einfach mit:
sudo apt update && sudo apt upgrade sqlite3
Das kann man auch ohne Texturenmode hinbekommen, indem man einfach Grafikmods holt
Und was machen Grafikmods? Verändern die Textur
Meinte das natürlich in die Richtung, weil das GTA extremst danach aussieht.
Hast du diesen Screenshot gemacht?
Es kann sein, dass die Textur (bzw das Objekt) einfach gemoddet ist und du sie deshalb nicht findest 😅
Nein
Wie der Glow ist hängt tatsächlich stark von dem Wetter ab
Kannst ja mal rumspielen.
Wo hänge ich ? :x
Also da hast du deine Tabelle nicht schön normalisiert. Sonst würde man das über eine extra Tabelle lösen.
Aber in dem Fall, kannst du auch einfach bevor du die Query abfeuerst das kurz prüfen, da du eh eine Query abfeuerst, um vom Namen des Spielers auf die ID zu kommen, kannst direkt ja haus1,haus2,haus3 noch mitholen.
Und dann eben: