Die VehicleID im VehicleIndex muss ich aber trotzdem zwischenspeichern für Funktionen aus einem bestimmten Radius^^
Zeig mal deine Funktion, dann kann ich dir zeigen, wie man es ohne macht ![]()
Die VehicleID im VehicleIndex muss ich aber trotzdem zwischenspeichern für Funktionen aus einem bestimmten Radius^^
Zeig mal deine Funktion, dann kann ich dir zeigen, wie man es ohne macht ![]()
Vehicle[cachedVehicle][vVehicle] = cachedVehicle,
Das ist ganz schönes Doppelgemoppel.
Wenn der index schon die vehicleid ist, wieso nochmal den Wert speichern, denn um an den Wert zu kommen, brauchst du ja den index ![]()
if(Vehicle[i][vVehicle])continue;
Diese Zeile ist falsch. Weil, wieso denn i?
Macht keinen Sinn, es kann kein Index doppelt indexiert werden, da das Fahrzeug einen eindeutigen Rückgabewert liefert, also lösch diese Zeile in beiden Schleifen ![]()
LoL ![]()
Der Thread wurde gelöscht...wieso auch immer..dafuq xD
Aber dank des Internet Archives, kannst du noch drauf zugreifen:
https://web.archive.org/web/20…m/showthread.php?t=113443
Das dein Include, viel Spaß ![]()
Das Github-Repo existiert noch: https://github.com/Southclaws/progress2
Ich bin irgendwie neugierig, um was handelt es sich denn? ![]()
Jetzt mal no joke...aaaaaber fahr doch einfach in die Werkstatt ![]()
Mal ne frage mit dem return bei stocks
Nun, generell ist das egal.
Die Regel besagt aber, mach lieber überall ein return, zur Not einfach return 0 oder so.
Damit die Funktion in returns (oder Statements) verwendet werden kann.
Aber im Endeffekt, wenn sie keinen Wert zurückgeben soll, ist es egal.
Give it a try:
stock IsPlayerTargetATM(playerid, objectid)
{
new r,a,Float:t;
GetObjectRot(objectid,t,t,t),r=floatround(t);
GetPlayerFacingAngle(playerid,t),a=floatround(t);
new Float:x,Float:y,Float:z;
GetObjectPos(objectid,x,y,z),GetPlayerPos(playerid,z,z,z);
x -= 0.6 * floatsin(-a, degrees);
y -= 0.6 * floatcos(-a, degrees);
if(GetPlayerDistanceFromPoint(playerid,x,y,z) > 0.2) return 0; //Er steht nicht direkt davor!
return (((a-45)%360) >= ((r-45)%360)) || (((a+45)%360) <= ((r+45)%360)); //Er schaut den ATM nicht an
}
Alles anzeigen
Wenn du schon ewig googelst, dann musst du ja auf was ganz besonderes aus sein...oooder?
Weil, wenn ich google, finde ich hunderte von Filterscripts...
https://forum.sa-mp.com/showthread.php?t=314827
https://forum.sa-mp.com/showthread.php?t=139954
https://forum.sa-mp.com/showthread.php?t=493603
Was missfällt dir an diesen?
Zur Not musst du schon noch selbst etwas Hand anlegen und evtl die Positionen ändern...oder die Sprache ![]()
erlaubt auf 532 gesetzt werden und nee gar nicht besetzt weil es auf 0 steht?
Dieses !! verwandelt eine Zahl einfach nur in einen boolschen Typ.
Alle Zahlen außer 0 werden zu true und die 0 wird zu false.
Ergo wird 532 (sowie jede andere Zahl auch) zu true (bzw 1) und die 0 wird zu false (bzw bleibt 0).
Nur, für leute die keinen Kegel haben, funktioniert es nicht.
Ich frage mich eher, wieso dies der Fall ist ![]()
Hmmmm....
Hast du mal probiert, den Actor zu löschen und wieder neu zu erstellen während du davor stehst (also schon im Interior bist)?
Ändert sich da was?
Ich könnte mir höchstens vorstellen, da diese Clientseitig gestreamt werden, dass da was buggt mit der syncro xD
Evtl also mal neu spawnen lassen oder sowas...denn generell sollte das ja schon klappen ![]()
Das mache ich immer so hatte es in einem Tutorial gelernt.
Das macht nur Sinn, wenn du es dann auch verwendest, ansonsten kannst du das lassen.
Im Log ist die Rede von den cache Funktionen, diese werden hier allerdings gar nicht aufgerufen...
Rufst du irgendwo denn noch diese auf in einem Callback?
Das mysql_p/tquery fehlt ![]()
In SaveUserStats ![]()
Drück mal F5 und zeig uns das Bild direkt nach dem Teleportieren, wo die Objekte noch nicht geladen sind ![]()
Gibt es beim Scripten eine bestimmte Reihenfolge die man einhalten muss? Z.B. wenn ich über OnPlayerConnect selber eine Funktion erstelle, könnte dass anschliessend irgendwelche Auswirkungen haben?
Prinzipiell nein.
Ausnahmen gibt es, z.B. Funktionen mit Tags, wie Float oder bool, da müsste man ein forward verwenden, aber das sagt dir schon der Compiler, ansonsten, nein.
Oder Markos (also diese Dinge mit #define) oder auch #include.
(Innerhalb einer Funktion hingegen ist es natürlich sehr wichtig, dass du erst eine Variable deklarierst, bevor du sie nutzt).
Zum Üben kann man so ein Design von 0 anfangen.
Allerdings empfehle ich dir Aufgrund von mobilen Ansichten (bzw generell unterschiedlichen screen-sizes) etc. auf Templates/Frameworks zurückzugreifen, wie Bootstrap etc.
//Edit:
Pack lieber ein ul { margin: 0; } hinzu.
PlayerInfo[playerid][pFraktionrang]
Als was ist das denn definiert?
Benutze mal z. B new const copRank[] [] und frage es mittels copRank(id) ab.. Und wieso eigentlich - 1? Sorry bin erst am Freitag am PC über Handy ist das doof aber schauen wir mal
Ne, das stimmt schon so, der Code stammt von mir ![]()
-1 weil jemand der einen Rang von 0 hat, ja keinen Rang hat, allerdings das Array bei 0 beginnt, somit -1 ![]()
//Edit: Eventuell gibt es schon eine Funktion oder so mit dem Namen?
wenn der Server Crasht
Na, sowas sollte jetzt nicht jeden Tag passieren ![]()
Ansonsten kannst du die Leute ja zwischenspeichern...alle 10-15min...
Und eventuell vermehrt darauf achten, nichts zu skripten, was deinen Server crasht ![]()
Man kann auch einfach einen freundlichen Stop Befehl in den Server einbauen, der alle User speichert und dann den Server mit einer kurzen Verzögerung über [wiki]SendRconCommand[/wiki] ausschaltet. (dort dann exit oder gmx verwenden)
Nutz doch bspw. Textdraws die du nur ganz kurz anzeigen lässt. Dann Spammst du den Chat damit nicht voll.
Das wäre auch mein Vorschlag gewesen, das Keyword hier lautet "InfoBox samp" ![]()
Hey,
Kann ich abfragen, ob die letzte Nachricht im Chat == einer Nachricht ist?
Habe nichts gefunden im guten Internet
Sowas brauch man auch eigentlich nicht.
Gehe smarter an die Sache ran.
Wenn es um eine Nachricht geht, die ein Spieler geschrieben hat, dann nutze einfach [wiki]OnPlayerText[/wiki].
Ist es eine spezielle Info Nachricht, gesendet vom Server (dann schau, wo diese gesendet wird und dann weißt du ja, dass diese gesendet wurde...) ![]()
Theoretisch kann man SCM und SCMTA hooken und dann immer die letzte Nachricht zwischenspeichern. Dann weiß man, was die letzte Nachricht war.
Aber das muss man ja theoretisch nicht, da es smarter wäre, einfach die Aktion, die man ausführen mag, an die Gegebenheiten im Skript anzupassen.