die //makierungen lesen
Hier ein paar Fragen:
- Verändert sich das, wenn du SpawnPlayer an das Ende des Befehls setzt?
- Wieso nutzt du überhaupt fID? Nutze doch einfach direkt frak
die //makierungen lesen
Hier ein paar Fragen:
Ja...also pack eine Abfrage davor...
Ansonsten greift er ja auf den index -1 dazu.
#Handy
Pack es mal in ein
window.onload = function () {
//Hier der Code
};
#Handy
currentClub ist vermutlich -1.
Da musst du n check machen, dass der das nicht ist.
#Handy
Am Besten einfach mal schauen, wie es Andere gelöst haben:
https://forum.sa-mp.com/showthread.php?t=599907
https://forum.sa-mp.com/showthread.php?t=169284
https://forum.sa-mp.com/showthread.php?t=284484
https://forum.sa-mp.com/showthread.php?t=229181
und ja, du musst das über die Distanz / SpeedUp lösen...gibt ja keine anderen Variablen, die sich auf den Tank auswirken würden xD
Klar, so nutze ich das ganze.
VectorSize ist schneller:
stock GetVehicleSpeed(vehicleid)
{
new Float:x,Float:y,Float:z;
GetVehicleVelocity(vehicleid,x,y,z);
return floatround(floatmul(VectorSize(x,y,z),200.0));
}
Anyway das Problem ist wohl, dass du diese falsch nutzt.
Kannst du uns zeigen, wie du die Funktionen aufrufst und das prüfst? ![]()
Meh, ich sehe gerade für das progressbar2 Include benötigt man YSI.
Versuch mal:
#define ITER_NONE (cellmin)
Ganz oben in das Include zu setzen...
Ansonsten...mal nach progressbar 1 googlen xD
die Balken auch von der Höhe anders gestalten
Na klar ![]()
CreatePlayerProgressBar(playerid, Float:x, Float:y, Float:width = 55.5, Float:height = 3.2, colour, Float:max = 100.0, direction = BAR_DIRECTION_RIGHT)
Da haste doch direkt die Höhe als Parameter ![]()
aber irgendwie läuft das nicht.. immer Unknown Command
Da musste wohl mal crashdetect laden und in den server log schauen, was da nicht so klappt :c
Den unteren Teil kannst du so schreiben:
//Ondialogresponse
case D_DELCOPCAR:
{
new vID = GetPVarInt(playerid, "delRadCopCar");
DeletePVar(playerid, "delRadCopCar");
if(!response) return 1;
AdminLog(playerid, "delcopcar", "entfernt ein Polizei Fahrzeug. [VehID: %d, CarIndex: %d, SQL: %d]", GetVehicleModel(vID), vID, Vehicle[vID][vSQL]);
DestroyCopCar(vID),
SCM(playerid, COLOR_LIGHTBLUE, "Du hast das Polizei Fahrzeug erfolgreich entfernt.");
}
Das ist doch die VehicleID und nicht nur ein index ![]()
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 ![]()