Hallo,
ich wollte mal fragen,
wie man abfragen kann wie viele Spieler in einem Auto sind (Egal ob Beifahrer oder nicht)
MfG Farid
Hallo,
ich wollte mal fragen,
wie man abfragen kann wie viele Spieler in einem Auto sind (Egal ob Beifahrer oder nicht)
MfG Farid
Eine Schleife über alle Spieler laufen lassen und dann abfragen, ob er in dem Fahrzeug ist.
z.B.: new count;
new vid = 1; // gesuchte VehicleID
for(new i=0, i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInVehicle(i, vid)) count++;
}Das ist die einfache Variante - kann man natürlich noch optimieren, aber es soll ein Denkanstoß sein.
ja, hab es jetzt schon geändert, funkzt aber trz nicht -.-
und zwar bekommt kein Spieler leben wenn man zu 2 im Auto sitzt....:
new medicgs, mediclspd, gsmedic = 0, lspdmedic = 0;
forward Medic(playerid,newstate);
SetVehicleNumberPlate(mediclspd = AddStaticVehicleEx(416,1600.5288,-1691.9095,6.0402,89.9600,1,3,900),"MEDIC");
SetVehicleNumberPlate(medicgs = AddStaticVehicleEx(416,2525.5686,-1668.9523,15.2328,90.0878,1,3,900),"MEDIC");
Bei Disconnect und VehicleExit
if(GetPlayerVehicleID(playerid) == mediclspd){
lspdmedic--;}
if(GetPlayerVehicleID(playerid) == medicgs){
gsmedic--;}
OnPlayerState
if(newstate==PLAYER_STATE_DRIVER || newstate==PLAYER_STATE_PASSENGER){
if(GetPlayerVehicleID(playerid) == mediclspd){
lspdmedic++;
GetVehicleParamsEx(mediclspd,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(mediclspd,0,lights,alarm,doors,bonnet,boot,objective);
if(lspdmedic >= 2){
SetTimerEx("Medic",5000,0, "i", playerid);}
}
}
if(newstate==PLAYER_STATE_DRIVER || newstate==PLAYER_STATE_PASSENGER){
if(GetPlayerVehicleID(playerid) == medicgs){
gsmedic++;
GetVehicleParamsEx(mediclspd,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(mediclspd,0,lights,alarm,doors,bonnet,boot,objective);
if(gsmedic >= 2){
SetTimerEx("Medic",5000,0, "i", playerid);}
}
}
public Medic(playerid,newstate){
if(newstate==PLAYER_STATE_DRIVER || newstate==PLAYER_STATE_PASSENGER){
if(GetPlayerVehicleID(playerid) == medicgs || GetPlayerVehicleID(playerid) == mediclspd){
if(gsmedic >= 2 || lspdmedic >= 2){
new Float:leben;
GetPlayerHealth(playerid, leben);
SetPlayerHealth(playerid, leben+10);
if(leben > 100){
SetPlayerHealth(playerid, 100);}
SetTimerEx("Medic",5000,0, "i", playerid);}
}
}
return 1;}
keine ahnung woran es liegt, hab es mal mit printf nachrichten getestet, da hat alles funktioniert