Beitrag von IceWave ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
Warum Gamemode Unknown:
for(new veh = 0; veh < MAX_VEHICLES; veh++)
{
model = GetVehicleModel(veh);
if(model >= 400 && model <= 611) Gas[veh] = vehTank[model-400];
else Gas[veh] = vehTank[model-400];
VehicleObject[veh] = -1;
}
Steht bei OnGamemodeInit
Das hier muss weg
else Gas[veh] = vehTank[model-400];
Oder du musst es zu
else Gas[veh] = 0;
Setzen.
Sobald auf 0 Gesetzt haben einige Cars keinen Tank mehr.
Das sind dann die Fahrzeuge, die zum Zeitpunkt an dem dieser Code ausgeführt wird noch nicht existieren.
Du musst den Code danach ausführen, ggf in einem Timer, der nach einer Sekunde aufgerufen wird.
Erstelle die betroffene Cars so:
Taxis[0]=CreateVehicle(420,981.1031,-916.5473,41.4675,270.1,6,6,300); // Taxi BSN-Tanke
Taxis[1]=CreateVehicle(420,981.6674,-921.2931,41.4638,270.1,6,6,300); // Taxi BSN-Tanke
Taxis[2]=CreateVehicle(420,982.0389,-926.4141,41.4403,270.1,6,6,300); // Taxi BSN-Tanke
Taxis[3]=CreateVehicle(420,1775.5779,-1905.5011,13.1778,181.3540,6,6,300); // Taxi Bahnhof LS
Taxis[4]=CreateVehicle(420,1799.9343,-1885.9130,13.4629,89.9013,6,6,300); // Taxi Bahnhof LS
Taxis[5]=CreateVehicle(420,1792.0927,-1886.1198,13.4179,91.1567,6,6,300); // Taxi Bahnhof LS
Taxis[6]=CreateVehicle(420,1783.6125,-1886.0238,13.3955,89.4328,6,6,300); // Taxi Bahnhof LS
Taxis[7]=CreateVehicle(438,1775.5636,-1895.8533,13.4229,180.5142,6,6,300); // Cabbie Bahnhof LS
Taxis[8]=CreateVehicle(438,1775.6678,-1888.6158,13.4418,179.3269,6,6,300); // Cabbie Bahnhof LS
Taxis[9]=CreateVehicle(438,997.4310,-914.1830,42.1832,186.9335,6,1,300); // Cabbie BSN-Tanke
Taxis[10]=CreateVehicle(438,998.8483,-925.8366,42.1817,186.9337,6,1,300); // Cabbie BSN-Tanke
Taxis[11]=CreateVehicle(438,975.5302,-895.1577,43.9513,205.0292,6,1,300); // Cabbie BSN-Tanke
Taxis[12] = CreateVehicle(420,-1993.9,171.1,27.3,0.1,6,1,300); //SF Taxi 1
Taxis[13] = CreateVehicle(420,-1993.9,163.1,27.3,0.1,6,1,300); //SF Taxi 2
Taxis[14] = CreateVehicle(420,-1993.9,155.1,27.3,0.1,6,1,300); //SF Taxi 3
Taxis[15] = CreateVehicle(420,-1993.9,147.1,27.3,0.1,6,1,300); //SF Taxi 4
Taxis[16] = CreateVehicle(420,-1993.9,139.1,27.3,0.1,6,1,300); //SF Taxi 5
Taxis[17] = CreateVehicle(438,-1993.9,131.1,27.3,0.1,6,1,300); //SF Taxi 6
Taxis[18] = CreateVehicle(438,-1993.9,123.1,27.3,0.1,6,1,300); //SF Taxi 7
Werden die Fahrzeuge nach dem Code erstellt?
Werden die Fahrzeuge nach dem Code erstellt?
Ja
Sie müssen davor erstellt werden.
for(new veh;veh<MAX_VEHICLES;veh++)
{
model = GetVehicleModel(veh);
if(model >= 400 && model <= 611)Gas[veh] = vehTank[model-400];
VehicleObject[veh] = -1;
}
Der Code muss an letzter Stelle von OnGameModeInit stehen, nach den letzten Fahrzeugen.
Mach das Array [1] weg von "geld" und nutze anstatt cache_get_row das hier:
http://wiki.sa-mp.com/wiki/MySQL/R33#cache_get_row_int
format(pfad, sizeof(pfad), "UPDATE `Clans` SET `geld`='%d' WHERE `ID`='%s'",newmoney, GetPVarInt(playerid,"Gang"));
zu:
format(pfad, sizeof(pfad), "UPDATE `Clans` SET `geld`='%d' WHERE `ID`='%d'",newmoney, GetPVarInt(playerid,"Gang"));
%s ist für Strings.
Du musst bei den cache_get_row_int jeweils 0,0 nehmen, da du immer nur einen Wert aus der Datenbank ausließt.
Allerdings ist das ganz schlecht wenn du das so machst. Besser wäre es, alle Werte in einem Query auszulesen (mit Komma getrennt).
Und dann beim cache_get_row_int: 0,0 beim nächsten 0,1 dann 0,2 und 0,3.
(Zeile, Spalte)
Und noch besser wäre es natürlich mit Variablen zu arbeiten, anstatt jedes mal die Datenbank anzusprechen.