if(GetVehicleModel(vehicleid) == 431 || 437)
zu:
if(GetVehicleModel(vehicleid) == 431 || GetVehicleModel(vehicleid) == 437)
Beiträge von Jeffry
-
-
Ohne Code nix los.
Poste bitte die entsprechenden Abschnitte mit Erklärungen was passiert und was passieren sollte. -
Das normale schließen des Spiels ist scripttechnisch nicht möglich. Du kannst es nur über die Methode das Spiel abstürzen zu lassen "Beenden". Eine Simulation von "/quit" gibt es nicht.
-
http://forum.sa-mp.com/showpost.php?p=2609792&postcount=7
(von hier: http://forum.sa-mp.com/showthread.php?t=450348)Das scheint das selbe Problem zu sein.
-
Schonmal versucht anstatt xxx.xxxx den Wert als xxx,xxxx einzugeben (Komma statt Punkt)?
Falls das auch nicht zum Erfolg führt kann ich dich hierhin verweisen:
MYSQL Lädt falsche werteIch bevorzuge die selbst geschriebene Split-Methode, da da solche unerklärlichen Fehler nicht passieren. Ist zwar etwas mehr Code, aber es funktioniert immer. Ich kann eigentlich nur jedem von sscanf abraten, es hat viel zu viele Macken.
Du musst bei dem Code von mir eben die | mit einer Lücke ersetzen (Space) und die entsprechenden Werte abändern. Letztendlich nur kleine und völlig verständliche Abänderungen.
-
sscanf(result, "<p<|>is[16]ffffiiii>",iD,downer,sx,sy,sz,sr,model,colo1,colo2,dplate,dprice);
Versuch es mal so, das würde mit der Ausgabe von "result" übereinstimmen.Falls es nicht tut, bitte die beiden prints angeben.
EDIT: Goldkiller: (Post unter mir) Danke für den Hinweis, hatte ich übersehen.
-
Was kommt denn wenn du "result" printen lässt? Es wäre wichtig zu wissen ob das Query überhaupt richtig ausgeführt wird, bzw. die Daten korrekt in der Datenbank stehen.
-
Textdraws kannst du mit einem Textdraw Editor erstellen.
http://forum.sa-mp.com/showthread.php?t=290640Mit TextDrawSetString kannst du den Text im Spielbetrieb verändern.
http://wiki.sa-mp.com/wiki/TextDrawSetString -
http://forum.sa-mp.com/showthread.php?t=437175
Nach dessen Aussage läuft es perfekt. -
Das wichtigste fehlt eigentlich noch immer, die Time(); Funktion.
Du kannst mal versuchen, Time(); mit gettime(); zu ersetzen, dann sollten eigentlich keine Probleme mehr auftauchen. gettime(); gibt dir den momentanen Timestamp zurück.
Wenn es noch immer nicht klappt, dann schildere bitte genauer, was wann und wieso passiert. -
Oben im Code über den Includes ein Zeichen zu viel?
Das war hier das Problem, identisch zu deinem: http://forum.sa-mp.com/showthread.php?t=66119 -
Da fällt mir spontan nur das ein:
http://forum.sa-mp.com/showthread.php?t=274064 -
Nimm den "root" Benutzer ohne Passwort:
#define MYSQL_HOST "127.0.0.1"
#define MYSQL_USER "root"
#define MYSQL_PASS ""
#define MYSQL_DATA "DATENBANKNAME"Das ist in 99% aller Fälle standardmäßig so eingestellt.
Dein user "samp" wird nicht die richtigen Berechtigungen haben, dass ist auf localhost (dein Rechner) so eingestellt, standardmäßig zumindest.
Deshalb benutze, wie ich oben geschrieben habe, den root - User ohne Passwort, der hat ALLE Berechtigungen. Dem kannst du später auch, je nach client, ein Passwort geben. -
http://forum.sa-mp.com/showthread.php?t=291910
Ein Tutorial genau dafür. -
Wie gesagt, ganze Zahlen sind Integer Werte, also dementsprechend auch keine Floats. Mach das float weg.
EDIT:
Post unten: Das hättest du erwähnen sollen, dass du mit kommawerten arbeiten willst.
Gut, dass du den Fehler selbst korrigiert hast. -
vFuel ist kein "bool" sondern ein Integer. Mach das "bool:" weg.
bool'sche Werte sind true und false. Du hast hier Zahlen, das sind Integers.
-
Ich kann dir schonmal so viel sagen, dass das
return 0;
in der Schleife nichts zu suchen hat. Da wird nur der erste eine Nachricht bekommen, alle anderen nicht.Ansonsten sehe ich da keinen Fehler der ein fünfmaliges Wiederholen zur Folge hat. Zeig uns doch bitte noch die Code-Stücke, die den Timer starten, bzw. sonstiges was damit in Zusammenhang stehen kann/tut.
EDIT:
varrez: *Post unter mir*
Sehr gut! Immer am besten wenn man es selbst gelöst bekommt! -
Ich meinte ein bereits erstelles Array zu ändern. Oder auch einfach den Typ von einer Variablen zu ändern.
Also das redefinieren von erstellten variabeln, ob typ, ob größe...
Nein, das ist (leider) nicht möglich. -
-
Die Klammern waren falsch gesetzt.
forward OnPlayerPort(playerid, Float:X, Float:Y, Float:Z, Float:ZA);
public OnPlayerPort(playerid, Float:X, Float:Y, Float:Z, Float:ZA)
{
new String[128];
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerVehicleSeat(playerid) == 0)
{
new carid = GetPlayerVehicleID(playerid);
SetVehiclePos(carid, X, Y, Z);
SetVehicleZAngle(carid, ZA);
PutPlayerInVehicle(playerid,carid, 0);
GivePlayerMoney(playerid, -500);
GameTextForPlayer(playerid, "~r~-~y~500~g~$", 3000, 1);
format(String,sizeof(String), "=>%s hat sich nach %s geportet!<=", SpielerName(playerid));
}
}
else
{
SetPlayerPos(playerid, X, Y, Z);
GivePlayerMoney(playerid, -500);
SetPlayerFacingAngle(playerid, ZA);
GameTextForPlayer(playerid, "~r~-~y~500~g~$", 3000, 1);
}
return 1;
}