Beiträge von fd849fa292a5

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Bester Stimmungsmacher in dieser Stunde.

    Auto:
    Varianten:
    CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
    AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2)
    AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2, respawn_delay)


    Erklärung:
    CreateVehicle:
    modelid: Das Model des Fahrzeuges
    Float:x: Die Koordinate X vom Fahrzeug
    Float:y:Die Koordinate Y vom Fahrzeug
    Float:z:Die Koordinate Z vom Fahrzeug
    Float:angle: Die Richtung "Angle" vom Fahrzeug
    color1: Die erste Farbe, meist die, die wirklich zählt
    color2: Die zweite Farbe, nur von einigen Fahrzeugen unterstützt
    respawn_delay Neuspawnen nach einigen Sekunden


    AddStaticVehicle:
    modelid: Das Model des Fahrzeuges
    Float:x: Die Koordinate X vom Fahrzeug
    Float:y:Die Koordinate Y vom Fahrzeug
    Float:z:Die Koordinate Z vom Fahrzeug
    Float:angle: Die Richtung "Angle" vom Fahrzeug
    color1: Die erste Farbe, meist die, die wirklich zählt
    color2: Die zweite Farbe, nur von einigen Fahrzeugen unterstützt


    AddStaticVehicleEx:
    modelid: Das Model des Fahrzeuges
    Float:x: Die Koordinate X vom Fahrzeug
    Float:y:Die Koordinate Y vom Fahrzeug
    Float:z:Die Koordinate Z vom Fahrzeug
    Float:angle: Die Richtung "Angle" vom Fahrzeug
    color1: Die erste Farbe, meist die, die wirklich zählt
    color2: Die zweite Farbe, nur von einigen Fahrzeugen unterstützt
    respawn_delay Neuspawnen nach einigen Sekunden

    Durch diesen Code kann man den Server unzugänglich/zugänglich für normale Spieler machen.


    new bool:ServerOpen = true;
    #define COLORSERVER (0xFFFFFFFF)


    forward EnableCommandUse(playerid);


    public OnPlayerConnect(playerid)
    {
    SetPVarInt(playerid, "CanUseCommand", 1);
    SetPVarInt(playerid, "CommandCounter", 0);
    if(!ServerOpen && !IsPlayerAdmin(playerid))
    {
    new nachricht[128];
    format(nachricht, sizeof(nachricht), "* Der Server ist leider nicht offen. Versuche es Später!");
    SendClientMessage(playerid, COLORSERVER, nachricht);
    return Kick(playerid);
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/ocserver", true))
    {
    if(IsPlayerAdmin(playerid))
    {
    if(GetPVarInt(playerid, "CanUseCommand") == 0)
    {
    new nachricht[128];
    format(nachricht, sizeof(nachricht), "* Dafür musst du noch %d Sekunden warten.", GetPVarInt(playerid, "CommandCounter"));
    return SendClientMessage(playerid, COLORSERVER, nachricht);
    }
    if(ServerOpen)
    {
    new nachricht[128];
    format(nachricht, sizeof(nachricht), "* Der Server wird jetzt durch Admin %s geschlossen.", pName(playerid));
    SendClientMessageToAll(COLORSERVER, nachricht);
    ServerOpen = false;
    SetPVarInt(playerid, "CommandCounter", 30);
    SetPVarInt(playerid, "CanUseCommand", 0);
    SetTimerEx("EnableCommandUse", 1000, 0, "d", playerid);
    return KickNormalPlayers();
    }
    else
    {
    new nachricht[128];
    format(nachricht, sizeof(nachricht), "* Der Server wird jetzt durch Admin %s geöffnet.", pName(playerid));
    SendClientMessageToAll(COLORSERVER, nachricht);
    ServerOpen = true;
    SetPVarInt(playerid, "CommandCounter", 30);
    SetPVarInt(playerid, "CanUseCommand", 0);
    SetTimerEx("EnableCommandUse", 1000, 0, "d", playerid);
    return 1;
    }
    }
    return 1;
    }
    return 1;
    }


    stock pName(playerid)
    {
    new id_name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, id_name, MAX_PLAYER_NAME);
    return id_name;
    }


    stock KickNormalPlayers()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(IsPlayerAdmin(i)) continue;
    Kick(i);
    }
    return 1;
    }


    public EnableCommandUse(playerid)
    {
    if(GetPVarInt(playerid, "CommandCounter") > 0)
    {
    SetPVarInt(playerid, "CommandCounter", (GetPVarInt(playerid, "CommandCounter")-1));
    if(!GetPVarInt(playerid, "CommandCounter"))
    return SetPVarInt(playerid, "CanUseCommand", 1);
    return SetTimerEx("EnableCommandUse", 1000, 0, "d", playerid);
    }
    SetPVarInt(playerid, "CommandCounter", 0);
    SetPVarInt(playerid, "CanUseCommand", 1);
    return 1;
    }


    Als RCON Admin einfach /ocserver benutzen, für das ein- und ausschalten.