Beiträge von DOUBLE-G-62

    stock RemovePlayerWeapon(playerid, weaponid)
    {
    new plyWeapons[12];
    new plyAmmo[12];


    for(new slot = 0; slot != 12; slot++)
    {
    new wep, ammo;
    GetPlayerWeaponData(playerid, slot, wep, ammo);


    if(wep != weaponid)
    {
    GetPlayerWeaponData(playerid, slot, plyWeapons[slot], plyAmmo[slot]);
    }
    }


    ResetPlayerWeapons(playerid);
    for(new slot = 0; slot != 12; slot++)
    {
    GivePlayerWeapon(playerid, plyWeapons[slot], plyAmmo[slot]);
    }
    }


    Da war doch ein Variable Fehler, lag nicht am Code. Hab aber jetzt einen anderen Fehler. Irgendwie werden die Waffen nach Arbeitsschluss nicht entfernt?



    dcmd_duty(playerid, params[])
    {
    #pragma unused params
    new string[128];
    if(!IsPlayerInFraktion(playerid, FRAKTION_LSPD))
    return SendClientMessage(playerid, COLOR_RED, "-Warnung- Du kannst diesen Befehl nicht benutzen.");


    if (IsPlayerInRangeOfPoint(playerid, 3.0, 254.4710,78.4348,1003.6406) && GetPlayerInterior(playerid) == INTERIOR_LSPD)
    {
    if(OnDuty[playerid] == false)
    {
    OnDuty[playerid] = true;
    SendMessage(playerid, "~g~~h~Du bist nun ON-DUTY, viel spass bei der Arbeit!");


    format(string, sizeof string, "* %s(%d) ist nun im Dienst.", PlayerName[playerid], playerid);
    SendFraktionMessage(FRAKTION_LSPD, string);


    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast dein Equipment genommen & bist jetzt ON-DUTY!");


    if(PlayerInfo[playerid][pLeader] == FRAKTION_LSPD)
    return GivePlayerClass(playerid, 282, 6, 254.4710,78.4348,1003.6406, LSPD_WEAP1, LSPD_WEAP2, LSPD_WEAP3, LSPD_WEAP4);


    else if(PlayerInfo[playerid][pFraktion] == FRAKTION_LSPD)
    return GivePlayerClass(playerid, 280, 6, 254.4710,78.4348,1003.6406, LSPD_WEAP1, LSPD_WEAP2, LSPD_WEAP3, LSPD_WEAP4);
    }
    else if(OnDuty[playerid] == true)
    {
    OnDuty[playerid] = false;
    SendMessage(playerid, "~g~~h~Du bist nun OFF-DUTY, schoenen Feierabend!");


    format(string, sizeof string, "* %s(%d) ist nun nicht mehr im Dienst.", PlayerName[playerid], playerid);
    SendFraktionMessage(FRAKTION_LSPD, string);


    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast dein Equipment verstaut & bist jetzt OFF-DUTY!");


    if(PlayerInfo[playerid][pLeader] == FRAKTION_LSPD)
    return GivePlayerClass(playerid, 282, 6, 254.4710,78.4348,1003.6406, 0, 0, 0, 0);


    else if(PlayerInfo[playerid][pFraktion] == FRAKTION_LSPD)
    return GivePlayerClass(playerid, 280, 6, 254.4710,78.4348,1003.6406, 0, 0, 0, 0);


    ResetPlayerWeapons(playerid);


    RemovePlayerWeapon(playerid, LSPD_WEAP1);
    RemovePlayerWeapon(playerid, LSPD_WEAP2);
    RemovePlayerWeapon(playerid, LSPD_WEAP3);
    RemovePlayerWeapon(playerid, LSPD_WEAP4);
    }
    }
    else
    SendMessage(playerid, "~g~~h~Du musst in der Naehe vom deinem Spint sein.");
    return 1;
    }


    Ich hab es über die reguläre Funktion ResetPlayerWeapons und über eine Eigenfunktion RemvovePlayerWeapon probiert - beides funktioniert nicht

    Hallo Leute,


    ich habe eigentlich ein einfaches Problem, jedoch finde ich nicht meinen Fehler. Ich möchte für Leute die bereits in einer Fraktion sind, Newbie Fahrzeuge unfahrbar machen. Aus welchem Grund auch immer wird man nicht vom Fahrzeug entfernt. Ich hoffe ihr könnt mir weiterhelfen


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    for(new i=0; i < sizeof nVeh; i++)
    {
    if(newstate == PLAYER_STATE_DRIVER && vehicleid == nVeh[i])
    {
    if(PlayerInfo[playerid][pFraktion] > FRAKTION_NEWBIE)
    {
    RemovePlayerFromVehicle(playerid);
    SendMessage(playerid, "Du darfst Newbie Fahrzeuge nicht nutzen.");
    }
    }
    }
    return 1;


    }