Beifahrer Abfrage

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
  • 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.

    Professioneller Webentwickler.

  • 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