Beiträge von Robert

    Hier das was du wolltest:

    new bool:oocoffen;
    ocmd:ooc(playerid,params[])
    {
    if(oocoffen == false && /* Admin == 0 */) // Dort eintragen wenn er kein Admin ist
    {
    SendClientMessage(playerid, COLOR_WHITE, "Der OOC Chat ist nur für Admins offen.");
    return 1; // Wenn OOC zu ist & er kein Admin ist kommt die Nachricht nicht
    }
    new string[128],nachricht,sender[MAX_PLAYER_NAME];
    if(sscanf(params,"s",nachricht))return SendClientMessage(playerid,COLOR_GRAD2,"INFO: /ooc [NACHRICHT]");
    {
    GetPlayerName(playerid, sender, sizeof(sender));
    format(string,sizeof(string),"(( %s: %s ))",sender,nachricht);
    SendClientMessageToAll(COLOR_WHITE,string);
    }
    return 1;
    }


    ocmd:oocon(playerid,params[])
    {
    #pragma unused params
    if(/*Admin Abfrage*/)
    {
    if(oocoffen == true) return SendClientMessage(playerid, COLOR_WHITE, "Der OOC Chat ist bereits offen.");
    oocoffen = true;
    SendClientMessage(playerid, COLOR_WHITE, "Du hast den OOC Chat geöffnet.");
    }
    return 1;
    }


    ocmd:oocoff(playerid,params[])
    {
    #pragma unused params
    if(/*Admin Abfrage*/)
    {
    if(oocoffen == false) return SendClientMessage(playerid, COLOR_WHITE, "Der OOC Chat ist bereits geschlossen.");
    oocoffen = false;
    SendClientMessage(playerid, COLOR_WHITE, "Du hast den OOC Chat geschlossen.");
    }
    return 1;
    }

    Und hier für den Fall das du das lieber haben willst anstatt mit oocon & oocoff:

    ocmd:ooctoggle(playerid,params[])
    {
    #pragma unused params
    if(/*Admins Definition*/)
    {
    if(oocoffen==true)
    {
    oocoffen = false;
    SendClientMessage(playerid, COLOR_WHITE, "OOC Chat geschlossen.");
    }
    else
    {
    oocoffen = true;
    SendClientMessage(playerid, COLOR_WHITE, "OOC Chat geöffnet.");
    }


    }
    return 1;
    }


    Hoffe das funktioniert so.

    ocmd:destroyallveh(playerid,params[])
    {
    #pragma unused params
    //Adminabfrage
    {
    for(new i=0;i {
    if(!IsPlayerInVehicle(i, spawnedcar))
    {
    DestroyVehicle(spawnedcar);
    }
    }
    SendClientMessage(playerid, cRot, "Erfolgreich respawnt!");
    }
    return 1;
    }

    So solltest du nicht mehr zugespammt werden

    Hallo,


    ich habe es nicht testen können aber wenn es funktioniert sollte man damit einfach bei alten Toren die "seltsam" aufgehen wieder normal funktionieren. Ich weiß auch nicht ob das schon jemand gepostet hat.



    forward sMoveObject(objectid, Float:x, Float:y, Float:z, Float:speed);
    public sMoveObject(objectid, Float:x, Float:y, Float:z, Float:speed)
    {
    new Float:op[3];
    GetObjectRot(objectid, op[0], op[1], op[2]);
    MoveObject(objectid, x, y, z, speed, op[0], op[1], op[2]);
    return 1;
    }


    Lg

    Dann brauchst du das hier garantiert:



    new SpawnVehicle[MAX_PLAYERS];
    // Beim erstellen:
    SpawnVehicle[playerid] = CreateVehicle( ... )
    // Beim löschen
    for(new i=0;i<MAX_PLAYERS;i++) {
    if(!IsPlayerInVehicle(i, SpawnVehicle[i])) {
    DestroyVehicle(SpawnVehicle[i]);
    }
    }

    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    DestroyVehicle(vehicleid);
    return 1;
    }

    Das ist komplett richtig. Die Fahrzeug ID (vehicleid) ist die des letzten Fahrzeugs. Aber wenn du das mit eigenen machen willst sollten diese beim erstellen eine Definition bekommen.

    new MyCar[MAX_PLAYERS];
    // Erstellen
    MyCar[playerid] = CreateVehicle(....);
    // Zerstören:
    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    if(MyCar[playerid] == vehicleid) {
    DestroyVehicle(vehicleid);
    }
    return 1;
    }


    So sollte es dann funktionieren ..

    Hallo,


    da die Suchfunktion zZ nicht funktioniert wollte ich fragen wie ich einen kurzen Command haben kann z.B. "MeinName(playerid)" also mit GetPlayerName dadrinne. Ich habe es bereits versucht aber dort steht dann kein Name:



    stock MeinName(playerid)
    {
    new myname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, myname, sizeof(myname));
    return 1;
    }


    MfG

    So ein kleines Update und damit es auch jeder sieht : Neue Admin Definierung über das Gamemode / vorhandes Filterscript mit Admin Funktion. Einfach mit euren Admin ersetzen ( Godfather z.B. PlayerInfo[playerid][pAdmin] )

    forward GetAdmin(playerid);
    Public GetAdmin(playerid)
    {
    return /*Admin Definition*/;
    }


    Steht gleich auch alles oben drinne.


    Edit: Hatte gekürz drinne nu steht da forward mit Public ...