Beiträge von Jameso
-
-
@LeonMrBonnie
Das kann auch an SA:MP liegen, kannte das Problem schon immer wenn ich irgendwo entbannt wurde
das man mir gesagt hat ich soll mein Router neu starten sonst kam da halt immer diese Meldung das man gebannt ist. -
Will das es nur 1000 anzeigt nicht 1000.00 da meine Batterie Anzeige schon Prozent hat kommt das ganze durcheinander.
Ich lasse es lieber so.Dazu noch der Timer zum updaten wie soll ich den einstellen 4000?
also eine grobe Zahl einfach weiß nicht was Ressourcen spart, Timer zieht ja ordentlich oder? -
Code
if((newstate == PLAYER_STATE_DRIVER) || (newstate == PLAYER_STATE_PASSENGER)) { new vid = GetPlayerVehicleID(playerid); new string[128], modelid = GetVehicleModel(GetPlayerVehicleID(playerid)), idx = modelid-400; format(string, sizeof(string), "%d", //?); PlayerTextDrawSetString(playerid, textdraw[9][playerid], string); }
Wie mache ich das, dass ich die Vehicle health anzeige?
Ich weiß ich muss wahrscheinlich noch ein Timer mit einbauen,Also wenn ich eine Wand ramme soll das Fahrzeug schon im Textdraw Punkte verlieren
-
-
Abend,
habe noch bisschen Zeit heute gehabt und kam zu einer Idee.Ist es möglich abzufragen welches Teil am Fahrzeug kaputt ist?
Sagen wir die linke Tür ist beschädigt und man kann das abfragen
oder dann auch reparieren.Gibt es so etwas?
-
Hey, habe eine Frage:
Habe ein Öl System für Fahrzeuge.
0.01 Liter Öl werden ungefähr jede Minute abgezogen bei einer Chance von 25 Prozent, da Autos ja auch so nicht immer Öl verlieren.Jetzt ist es so, dass der Timer immer läuft. Kann ich theoretisch innerhalb der Minute sagen wir bei der Hälfte den Motor neu einschalten oder das Fahrzeug verlassen und wieder reingehen, fängt der Timer dann wieder bei 0 an?
Sonst könnte man das ja umgehen indem man es dann immer macht um Öl zu sparen
Der Timer wird unter public OnGameModeInit() gestartet.
Die Frage klingt kompliziert ich weiß
Und habe mich das schon immer gefragt genauso beim Sprit Abzug. -
Danke!
System ist bugfrei und fertig, danke dir!
Hat mich über 4 Stunden gedauert es zu machen da ich alles noch einmal machen musste egal -
Mit dem Zugriff kriege ich das hin.
Nur:
Codenew vehDefaultData[][vehDefaultDataEnum] = { {FT_DIESEL, 60, FT_ODIESEL, 5}/*400*/,{FT_BENZIN, 45, FT_OBENZIN 4},{FT_BENZIN, 80, FT_OBENZIN 6}/*2*/,{FT_DIESEL, 190, FT_ODIESEL 14}/*3*/,{FT_BENZIN, 55,FT_OBENZIN, 4},{FT_BENZIN, 65, FT_OBENZIN, 4},{FT_DIESEL, 340, FT_ODIESEL, 25},{FT_DIESEL, 150, FT_ODIESEL, 12} };
209. ist 184.
-
Sollte eigentlich so nicht klappen es muss ja mit 0 anfangen oder?
Das verstehe ich ja nicht, wie sollen die beiden herausfinden welches define mit 0 zu denen gehört?Code#define FT_DIESEL 0 #define FT_BENZIN 1 #define FT_KEROSIN 2 #define FT_ETHANOL 3 #define FT_OBENZIN 0 #define FT_ODIESEL 1 #define FT_OETHANOL 2
-
Ich will eigene Öl-Namen haben also so etwas wie fuelName, nur ich kann ja nicht immer alles mit 0 -> definieren oder?
( damit meine ich Zeile 4-6 und unten im new oilNames muss ja das erste wieder 0 sein (?) )würde das so funktionieren?
Code
Alles anzeigen#define FT_DIESEL 0 #define FT_BENZIN 1 #define FT_KEROSIN 2 #define FT_ETHANOL 3 #define FT_OBENZIN 4 #define FT_ODIESEL 5 #define FT_OETHANOL 6 new vehDefaultData[][vehDefaultDataEnum] = { {FT_DIESEL, 60, FT_ODIESEL, 4}/*400*/, //... new fuelName[][16] = { "Diesel", "Benzin", "Kerosin", "Ethanol" }; new oilName[][16] = { "Oil1", "Oil2", "Oil3" };
-
Hey,
Kleine Frage:
Wie kann ich bestimmte Ingame-Sounds abspielenBeispiel:
Wenn man geblitzt wird kommt der Sound wenn man mit einer Kamera ein Foto macht.
Also Sounds die es im Spiel gibt, gibt es davon eine Liste?Oder gibt es so etwas überhaupt? Falls nein muss ich dann einfach ein Sound manuell hochladen und abspielen?
-
Hey,
Habe soweit ein Öl System für Fahrzeuge erstellt. eine bestimmte Menge Öl wird abgezogen alles klappt super auch wenn der Spieler nicht im Fahrzeug ist aber das Fahrzeug an ist.
Womit ich gerade Probleme habe ist:
Ich will die Maximale Öl Kapazität vom Fahrzeug speichern und die Ölart.
Am schlausten ist es wenn ich es so mache, habe ja schon was mit dem Maxtank und Tankartz:Code
Alles anzeigen#define FT_DIESEL 0 #define FT_BENZIN 1 #define FT_KEROSIN 2 #define FT_ETHANOL 3 #define FT_0W01 4 //Benzin #define FT_0W02 5 //Diesel #define FT_0W03 6 //Ethanol enum vehDefaultDataEnum { e_fuelType, e_maxFuel, e_oilType, e_maxOil }; new vehDefaultData[][vehDefaultDataEnum] = { {FT_DIESEL, 60, FT_5W-40, 4}/*400*/ //... }; /*Wie mache ich das hier mit dem Öl damit ich den auch anzeigen kann (?) Weil woher weiß er das FT_Diesel Diesel ist (?) */ new fuelName[][16] = { "Diesel", "Benzin", "Kerosin", "Ethanol" };
Dazu kriege ich ein Error wenn ich es so mache -
//EDIT
Funktioniert, danke! ♥♥ -
Code
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) { new vehicleid = GetPlayerVehicleID(playerid); if(vehData[vehicleid][e_fuel] == -1) { new idx = GetVehicleModel(vehicleid) - 400; vehData[vehicleid][e_fuel] = vehDefaultData[idx][e_maxFuel]; } }
Ich hab einmal diesen Code der in meinen Augen einfach nur den Tank füllt (?)
Ansonsten gibt es nichtsCode
Alles anzeigenif(tmp_engine == 1) { if(vehData[vehicleid][e_fuel] <= 0) { tmp_engine = 0; SetVehicleParamsEx(i, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); } else { vehData[i][e_fuel] -= 0.01; } }
Hier wird doch der Motor aus gemacht?
-
Also wenn das ganz über VEHICLE läuft.
Wenn ich nicht im Fahrzeug bin und der Motor an ist, und eigentlich ja Tank abgezogen werden soll geht der Motor ausBin ich aber im Fahrzeug geht es.
-
Ist getan, er zieht es korrekt ab aber,
aber weil:
es funktioniert, speichern tut auch alles.
Nur wenn ich nicht im Fahrzeug wird beim Nächten eigentlichen Abzug das Fahrzeug ausgeschaltet.Code
Alles anzeigenforward Tank(); public Tank() { new vehicleid,tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective,string[128],idx; for(new i=0; i<MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i)) continue; vehicleid = GetPlayerVehicleID(i); GetVehicleParamsEx(vehicleid, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); if(tmp_engine == 1) { if(vehData[vehicleid][e_fuel] <= 0) { tmp_engine = 0; SetVehicleParamsEx(vehicleid, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); } else { if(GetPlayerState(i) == PLAYER_STATE_DRIVER) { vehData[vehicleid][e_fuel] -= 0.01; } idx = GetVehicleModel(vehicleid)-400; if(idx < 0) continue; format(string, sizeof(string), "%0.2f/%dLiter", vehData[vehicleid][e_fuel],vehDefaultData[idx][e_maxFuel]); PlayerTextDrawSetString(i, textdraw[5][i], string); } } } for(new i=0; i<MAX_VEHICLES; i++) { if(IsAnyDriverInVehicle(i)) continue; GetVehicleParamsEx(i, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); if(tmp_engine == 1) { if(vehData[vehicleid][e_fuel] <= 0) { tmp_engine = 0; SetVehicleParamsEx(i, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); } else { vehData[i][e_fuel] -= 0.01; } } } return 1; }
-
Dummheit,
Es lag noch daran das ich vor einer Woche oder so einmal mein Projekt ohne zu speichern geschlossen habe,
habe einfach den public SavePlayerCars nirgends benutzt kein Wunder, dass nichts im Log steht und nichts gespeichert wird.Funktioniert alles, großes Dankeschön für die ganze Hilfe
♥♥♥
-
Ja du hast Recht, ich bin auch der Meinung ich komme mehr zurecht auch wenn man es vielleicht nicht so sehen kann.
Code
Alles anzeigenforward SavePlayerCars(playerid); public SavePlayerCars(playerid) { new query[512]; for(new i = 0; i < sizeof(PCar[]); i++) { if(PCar[playerid][i][P_MID] == 0) continue; mysql_format(db, query, sizeof(query), "UPDATE personalcars SET P_fuel = '%d' WHERE dbID = '%d'", vehData[PCar[playerid][i][P_VID]][e_fuel], PCar[playerid][i][P_dbID]); mysql_pquery(db, query); } return 1; }
Hier wid doch gefragt ob M_ID == 0 ist fals ja macht er weiter oder nicht?
Aber es soll es doch machen wenn es nicht = 0 ist dann existiert doch ein Fahrzeug oder nicht? -
Wurde als Float deklariert.
Die Tankzeige auf Float angepasst.Da irgendwie aus - und - ein + wird kriege ich die ganze Zeit alle 6 Sekunden 1 Liter dazu
Ich will aber das er 0.01 Liter abzieht.Code
Alles anzeigenforward Tank(); public Tank() { new vehicleid,tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective,string[128],idx; for(new i=0; i<MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i)) continue; vehicleid = GetPlayerVehicleID(i); GetVehicleParamsEx(vehicleid, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); if(tmp_engine == 1) { if(vehData[vehicleid][e_fuel] <= 0) { tmp_engine = 0; SetVehicleParamsEx(vehicleid, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); } else { if(GetPlayerState(i) == PLAYER_STATE_DRIVER) { vehData[vehicleid][e_fuel]--; } idx = GetVehicleModel(vehicleid)-400; if(idx < 0) continue; format(string, sizeof(string), "%0.2f/%dLiter", vehData[vehicleid][e_fuel],vehDefaultData[idx][e_maxFuel]); PlayerTextDrawSetString(i, textdraw[5][i], string); } } } for(new i=0; i<MAX_VEHICLES; i++) { if(IsAnyDriverInVehicle(i)) continue; GetVehicleParamsEx(i, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); if(tmp_engine == 1) { if(vehData[vehicleid][e_fuel] <= 0) { tmp_engine = 0; SetVehicleParamsEx(i, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); } else { vehData[i][e_fuel]--; } } } return 1; }