Du hast bei MoveDynamicObject genau die gleichen Koordinaten eingegeben wie beim 2. MoveDynamicObject
und diese Koordinaten sind genau die gleichen wie bei CreateDynamicObject, folglich bewegt sich dein Objekt
an die Stelle, an der du es erstellt hast, also es bewegt sich garnicht.
Beiträge von maddinat0r
-
-
Benutze bei SpielerLaden diesen
sSpieler[playerid][Bank] = dini_Int(Spieler,"Bank");
und bei SpielerSpeichern diesen Codeschnipsel.
dini_IntSet(Spieler,"Bank",sSpieler[playerid][Bank]); -
Dann einfach statt es in eine Variable zwischenzuspeichern, es direkt in die Funktion
einfügen, also:
CreateVehicle(VehModels[random(sizeof(VehModels))],...); -
Wieso benutzt du eig. PVar's, wenn du das Geld von der Bank in einem enum speichern willst?
-
Halo hat es eig. schon richtig gesagt.
Man erstellt einen Array, in dem alle erlaubten Modell-ID's eingetragen sind, z. B.:
new VehModels[5] = {411, 522, 413, 480, 512};
Und dann wählt man per Zufall eine dieser Zahlen aus, undzwar folgendermaßen:
new modell = VehModels[random(sizeof(VehModels))];
Dabei wird die Größe des Arrays ( sizeof(VehModels) )genommen, diese dann in random eingesetzt
( random( sizeof( VehModels ) ), somit kommen nur Zahlen von 0 - Größe des Arrays raus) und das Ergebnis
in das Index von VehModels gesetzt ( VehModels[ random( sizeof( VehModels ) ) ] ). -
So sollte es aussehen:
LVPDVehs[1] = AddStaticVehicleEx(428,1038.26721191,-1117.99316406,24.15242767,180.74987793,0,1,-1)
SetVehicleNumberPlate(LVPDVehs[1],"LVPD"); //Securicar
LVPDVehs[2] = AddStaticVehicleEx(428,1034.58337402,-1118.03015137,24.14365578,180.74707031,0,1,-1)
SetVehicleNumberPlate(LVPDVehs[2],"LVPD");//Securicar
LVPDVehs[3] = AddStaticVehicleEx(428,1030.59838867,-1118.07934570,24.13710403,180.74707031,0,1,-1)
SetVehicleNumberPlate(LVPDVehs[3],"LVPD"); //Securicar
Jede Funktion, bei der ein Auto erstellt wird, returnt die Fahrzeug-ID des neu-erstellten Autos. Die Fahrzeug-ID wird dann
in die Variable LVPDVehs[1,2 oder 3] gespeichert. Die Fahrzeug-ID brauchst du anschließend, um SetVehicleNumberPlate zu benutzen
(die Funktion braucht eine Fahrzeug-ID). -
Poste mal dein ganzes OnPlayerDeath-Callback (oder wenn es zu viel Text ist,
lade es auf pastebin.com hoch und poste den Link). -
Entferne mal das DestroyVehicle.
-
Player, was schreibstn du fürn Kack?
Poste einfach die Zeilen, in denen der Fehler auftaucht.
Hast du den Befehl auch unter OnPlayerCommandText gepackt? -
Dann kommt ja erst "Du hast 123$ abgehoben" und wenn das ins Minus geht kommt sofort danach "Nicht genügend Geld blabla",
sieht doch irgendwie blöd aus, oder?
Also diese if-Abfrage am besten gleich ganz oben reinpacken. -
Nicht "- inputtext", sondern "- strval(inputtext)", du willst ja nicht von der Fraktionskasse nen String subtrahieren.
-
Ja, ich meinte das Stringizing.
#define MAX_NAME 24
new dest[MAX_NAME];
sscanf("Hans_Wurst","s[" #MAX_NAME "]",dest); -
Außer du willst #define's in sscanf2 benutzen, dann musst du sie ohne Klammern angeben.
-
Du musst bei fopen statt "io_readwrite" einfach "io_append" reinschreiben.
btw, dein Server ist geil -
-
"input" ist n Text, aber die Funktion "anrufen" verlangt nur Zahlen.
-
In der Variable "FraktionsKasse" ist das aktuelle Geld der Fraktion gespeichert.
Diese Variable ist ein Array, damit man allen Fraktionen eine Fraktionskasse geben kann.
Also
FraktionsKasse[frakid] -= 1000;
Statt "frakid" setzt du die Fraktionsnummer hin, also wenn LSPD die Nummer 1 hat, setzt du da eine 1 hin.
Die 1000 ist der Wert, der von der Kasse abgezogen wird, wenn das Auto kaputt geht. -
public OnVehicleDeath(vehicleid) {
for(new c; c < sizeof(copcar); c++) {
if(copcar[code=c] == vehicleid) Fraktionskasse[frakid] -= 1000;
}
return 1;
} -
Ich verweise jetzt einfach mal auf diesen Thread.
-
Auch mit dem Audioplugin wird es nicht funktionieren, diesen Befehl
kann man nur im Auto benutzen, OnFoot wird es nicht funktionieren.