Hi also ich möchte folgendes:
Wenn das Auto kurz vor dem brennen ist das man automatisch aussteigt und nicht mehr in das Auto reinkann (soll bei jeden auto so sein)
Und mit ein cmd kann das ordnungsamt (das scripte ich ja selsbt) das auto abschleppen also ne eig. nur reparieren und man kann damit wieder fahren.
Gegenleistung: naja habe eigentlcih nichts
Großer Scriptwunsch ne Art adac ^^
- Wer bin ich denn??
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
if(strcmp(cmd, "/reparieren", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pJob] != 7)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Mechaniker!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Nutze: /reparieren [playerid/PartOfName] [preis]");
return 1;
}
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if(money < 1 || money > 99999) { SendClientMessage(playerid, COLOR_GREY, " Keinen Preis unter 1$ oder über 99.999$!"); return 1; }
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
if(ProxDetectorS(8.0, playerid, playa)&& IsPlayerInAnyVehicle(playa))
{
if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, " Du kannst das nicht tun!"); return 1; }
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Du hast %s angeboten sein/ihr Auto zu reparieren für %d$ .",giveplayer,money);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Mechaniker %s will dein Auto für %d$ reparieren. Tippe /accept repair.",sendername,money);
SendClientMessage(playa, COLOR_LIGHTBLUE, string);
RepairOffer[playa] = playerid;
RepairPrice[playa] = money;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist nicht in deiner Nähe/in deinem Auto.");
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist offline.");
}
}
return 1;
}Sowas?
-
ja genau nur nicht für gf (also selfmade)und wenn das auto kurz vorm explodieren ist das man da nicht mehr einsteigen kann.
-
new vcheck;
forward vehcheck(playerid);public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
vcheck = SetTimerEx("vehcheck",2000,1,"i",playerid);
return 1;
}
if(newstate == 4)
{
KillTimer(vcheck);
return 1;
}
return 1;
}public vehcheck(playerid)
{
new Float:health;
new veh;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
if(health <= 250) return SendClientMessage(playerid,FARBE,"Dein Auto ist kaputt!");
RemovePlayerFromVehicle(playerid);
return 1;
}ungetestet hab ich schnell mal gemacht
-
Also....
Wenn man in ein auto einsteigt dann steigt man nach einer Sekunde wieder aus. Und dann wiederholt sich die Nachricht "Dein Auto ist kaputt" jede 3 sekunde. -
woops sorry
änder das if(health <= 250) return SendClientMessage(playerid,FARBE,"Dein Auto ist kaputt!");
RemovePlayerFromVehicle(playerid);
zu dem if(health <= 250)
{
SendClientMessage(playerid,COLOR_RED,"Dein Auto ist kaputt!");
RemovePlayerFromVehicle(playerid);
KillTimer(vcheck);
} -
Okay thx jetzt fehlen mir noch zwei dinge. Wie erstellt man jobs und den /reparieren befehl.Das wäre ^ ^
-
Jobs erstellst du indem du einfach es wie bei den Teams machst, einfach nen neuen Platz ein der Playerfile erstellen
if(strcmp(cmdtext, "/reparieren", true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new veh, Float:health;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
if(health >= 750) return SendClientMessage(playerid,COLOR_GREY,"Dieses Auto muss nicht repariert werden");
SetVehicleHealth(veh, 1000);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du bist nicht in einem Auto!");
}
return 1;
} -
Funktioniert fast perfekt nur diese Nachricht dein Auto ist kaputt kommt die ganze zeit wenn man vom Fahrzeug aussteiggt oder rausgeschmissen wird oder kaputt geht <.<
-
also ich habs getestet und es klappt bei mir
hast du auch das neue public vcheck? public vehcheck(playerid)
{
new Float:health;
new veh;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
if(health <= 400)
{
SendClientMessage(playerid,COLOR_RED,"Dein Auto ist kaputt!");
RemovePlayerFromVehicle(playerid);
KillTimer(vcheck);
}
return 1;
} -
Jop hab's aber wenn das auto kaputt geht oder so dann kommt die nachricht dein auto ist kaputt jede 3 sekunde
-
also bei mir klappts ohne probleme. Zeig mal was du jetzt hast
-
Ah thx jetzt geht es wieder ich probiere das mal mit /reparieren danke
-
mitm reparieren musste dich beeilen mitm eingeben oder du steigst als beifahrer ein
-
Wenn ich aus ein auto aussteige kommmt die nachricht auch. Wie verhinder ich das?
-
keine ahnung was du amchst, aber bei klappts ohne Probleme
-
Habe es so drin:
new vcheck;
forward vehcheck(playerid);
public vehcheck(playerid)
{
new Float:health;
new veh;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
if(health <= 400)
{
SendClientMessage(playerid,COLOR_RED,"Dein Auto ist kaputt!");
RemovePlayerFromVehicle(playerid);
KillTimer(vcheck);
}
return 1;
}
Unter OnPlayerStateChange
new vehicle, Model;
vehicle = GetPlayerVehicleID(playerid);
Model = GetVehicleModel(vehicle);
if(newstate == PLAYER_STATE_DRIVER)
{
vcheck = SetTimerEx("vehcheck",2000,1,"i",playerid);
return 1;
} -
wo is das? if(newstate == 4)
{
KillTimer(vcheck);
return 1;
} -
AChso ja das habe ich auch dadrin unter
new vehicle, Model;
vehicle = GetPlayerVehicleID(playerid);
Model = GetVehicleModel(vehicle);
if(newstate == PLAYER_STATE_DRIVER)
{
vcheck = SetTimerEx("vehcheck",2000,1,"i",playerid);
return 1;
} -
breadfish.de
Hat das Thema geschlossen.