Wenn man im Auto ist, kann man kein neues spawnen.

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
  • Hey,
    ich habe da mal eine Frage und zwar wie mache ich das wenn ich auf einem/in einem Bike/Auto sitze das ich /nrg /supergt /rhino nicht benutzen kann.
    Weil wenn ich in einem Auto sitze und eins spawne fahr ich mit 2Autos -.-
    Wäre echt geil wenn das einer weiß.


    MfG
    Ed_Hardy
    Ps. Sufu benutzt, aber nix passendes gefunden, und selbst probiert hab ich es auch schon nur nicht hinbekommen...[ /nrg = spawnt eine NRG]

  • if (IsPlayerInAnyVehicle(playerid))
    {
    SendClientMessage(playerid,yellow,"Du sitzt schon ein einem Auto");
    return 1;
    }
    if (strcmp(cmdtext, "/nrg", true) ==0) {
    if ( NRGspawn[playerid] == 0) {


    new Float:xxx, Float:yyy, Float:zzz;
    GetPlayerPos(playerid, xxx, yyy, zzz);
    new Float:aaa;
    GetPlayerFacingAngle(playerid, aaa);
    new interior;
    interior = GetPlayerInterior(playerid);
    pNRG[playerid] = CreateVehicle(522, xxx, yyy +1, zzz +1, aaa, 252, 0, 5000000);
    LinkVehicleToInterior(pNRG[playerid], interior);
    NRGspawn[playerid] = 1;
    PutPlayerInVehicle(playerid, pNRG[playerid], 0);
    if(PlayerIsInAnyVehicle(playerid))
    return 1;


    } else {
    SendClientMessage(playerid, COLOR_WHITE, "Warnung: Du hast bereits eine NRG./cnrg");}
    return 1;
    }
    if (IsPlayerInAnyVehicle(playerid))
    {
    SendClientMessage(playerid,yellow,"Du sitzt schon ein einem Auto");
    return 1;
    }
    if (strcmp(cmdtext, "/cnrg", true) ==0) {
    if ( NRGspawn[playerid] == 1 )
    {
    new Float:xxx, Float:yyy, Float:zzz;
    GetPlayerPos(playerid, xxx, yyy, zzz);
    new Float:aaa;


    GetPlayerFacingAngle(playerid, aaa);


    if(GetVehicleModel(pNRG[playerid]) == 522)
    {
    SetVehiclePos(pNRG[playerid], xxx, yyy +1, zzz +1);
    SetVehiclePos(pNRG[playerid], xxx, yyy +1, zzz +1);
    SetVehiclePos(pNRG[playerid], xxx, yyy +1, zzz +1);
    SetVehiclePos(pNRG[playerid], xxx, yyy +1, zzz +1);
    SetVehiclePos(pNRG[playerid], xxx, yyy +1, zzz +1);
    PutPlayerInVehicle(playerid, pNRG[playerid], 0);
    NRGspawn[playerid] = 1;
    SendClientMessage(playerid, COLOR_BLUE, "NRG - gerufen !");
    } else {
    SetVehiclePos(pNRG[playerid], xxx+1,yyy+1,zzz+1);
    DestroyVehicle(pNRG[playerid]);
    pNRG[playerid] = CreateVehicle(522, xxx, yyy +1, zzz +1, aaa, 252, 0, 5000000);
    PutPlayerInVehicle(playerid, pNRG[playerid], 0);
    }


    } else {
    SendClientMessage(playerid, COLOR_WHITE, "Wanung: Du hast noch keine NRG./nrg !");}
    return 1;


    }
    Edit: so hier hatte fehler :P

  • Das IsPlayerInAnyVehicle muss für jeden Befehl einzelnd hin :)
    Darin liegt dein Fehler, also die Abfrage muss direkt nach der"/nrg" Zeile kommen also so:
    if (strcmp(cmdtext, "/nrg", true) ==0) {
    if(PlayerIsInAnyVehicle(playerid))
    {
    SendClientMessage(playerid,yellow,"Du sitzt schon ein einem Auto");
    return 1;
    }
    else
    {
    if ( NRGspawn[playerid] == 0) {


    new Float:xxx, Float:yyy, Float:zzz;
    GetPlayerPos(playerid, xxx, yyy, zzz);
    new Float:aaa;
    GetPlayerFacingAngle(playerid, aaa);
    new interior;
    interior = GetPlayerInterior(playerid);
    pNRG[playerid] = CreateVehicle(522, xxx, yyy +1, zzz +1, aaa, 252, 0, 5000000);
    LinkVehicleToInterior(pNRG[playerid], interior);
    NRGspawn[playerid] = 1;
    PutPlayerInVehicle(playerid, pNRG[playerid], 0);
    return 1;


    } else {
    SendClientMessage(playerid, COLOR_WHITE, "Warnung: Du hast bereits eine NRG./cnrg");}
    return 1;
    }
    }