Problem mit Flugzeuganschlag

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
  • Heyho,
    Das Problem ist, dass das ganze nur funktioniert, wenn man id 0 hat. Hat man >ID 1, dann passiert nach der Meldung "Die Bombe in deinem Flugzeug geht in einer Sekunde hoch." nichts mehr :S


    Der Befehl:

    ocmd:zund(playerid,params[])
    {
    if(!IsPlayerInFrak(playerid,1)) return 1;
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,DROT,"Du bist nicht in einem Dodo!");
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 593) SendClientMessage(playerid,DROT,"Du bist nicht in einem Dodo!");
    if(GetPlayerVehicleSeat(playerid) == 1) return SendClientMessage(playerid,HGRAU,"Du bist nicht der Pilot!");
    if(GetPVarInt(playerid,"Zund") == 1) return SendClientMessage(playerid,HGRAU,"Die Bombe ist bereits scharf.");
    SendClientMessage(playerid,LROT,"Die Bombe in deinem Flugzeug geht in einer Sekunde hoch.");
    SetTimerEx("Zund",1000,false,"i",playerid);
    SetPVarInt(playerid,"Zund",1);
    return 1;
    }


    Und der Public:

    public Zund(playerid)
    {
    new Float:vx,Float:vy,Float:vz,vehid;
    vehid = GetPlayerVehicleID(playerid);
    GetVehiclePos(GetPlayerVehicleID(playerid),vx,vy,vz);
    SetPVarInt(playerid,"Zund",0);
    for( new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerInRangeOfPoint(i,50,vx,vy,vz))
    {
    SetPlayerHealth(i,-1999);
    SendClientMessage(i,LROT,"Du bist durch ein Flugzeuganschlag gestorben");
    CreateExplosion(vx,vy,vz,0,50);
    SetVehicleToRespawn(vehid);
    return 1;


    }
    else
    {
    return 1;
    }
    }
    return 1;
    }

  • duch die returns wird die schleife abgebrochen..

    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i))//wichtig! sonst lagts gewaltig
    {
    if(IsPlayerInRangeOfPoint(i,50,vx,vy,vz))
    {
    SetPlayerHealth(i,-1999);
    SendClientMessage(i,LROT,"Du bist durch ein Flugzeuganschlag gestorben");
    CreateExplosion(vx,vy,vz,0,50);
    SetVehicleToRespawn(vehid);
    }
    }
    }

  • Ah okay, danke!:)