Beiträge von _PayDay_

    Guten Tag,


    Ich biete euch hier meinen Team-Deathmatch Gamemode an.


    Features:

    • Fünf Teams
    • Zwei Spezial-DM Räume
    • Accountsystem mit Dini
    • Vollständiges Adminsystem
    • Statistiken mit Ratio usw.
    • Kein Friendly-Fire
    • Anti Money-Cheat

    Wenn es zum Verkauf kommt, werde ich den Gamemode natürlich löschen.
    Ebenfalls wird es nur 1x verkauft.


    Den Preis könnt ihr vorschlagen, natürlich kann man den Gamemode auf Anfrage testen.


    ______


    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.

    Unter


    if(!IsPlayerConnected(pID)) return ShowInfoDialog(playerid,"Teleport Info","Der angegebene Spieler wurde nicht gefunden!");


    machste das rein:


    if(IsPlayerAnAdmin(pID, 1) return SendClientMessage(playerid,COLOR_GRAD1,"Du kannst keinen Admin zu dir teleportieren, frage ihn ob er kommt.");


    Das fragt einfach ab ob der Spieler, der als Parameter eingegeben wurde, ein Admin ist.
    Wenn ja dann wird die Nachricht ausgegeben und die Funktion beendet.

    Erstmal, nutz PlayerTextDraws für die Werte, die sich für alle Spieler unterschiedlich ändern sollen.


    Die Werte, die CreatePlayerTextDraw ausgeben, musst du in Variablen schreiben.
    Für die Kills und Deaths der Spieler musst du auch Variablen erstellen.


    In OnPlayerDeath setzt du die Todesvariable von playerid um 1 hoch.
    Das gleiche machst du mit der Killvariable von killerid.
    Dann kannst du mit PlayerTextDrawSetString, die TextDraws aktualisieren.

    Das sind Zeilen nach dem new mzahl;

    if(PlayerInfo[playerid][pJailed]>0||PlayerInfo[playerid][pPrison]>0){mzahl=2;}
    if(HandyAn[playerid]==0){mzahl=2;}
    if(totinterior[playerid]>=1||totvirtual[playerid]>=1){mzahl=2;}

    ocmd:rc(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid, 4)) { return SCM(playerid, ROT, "Befehl konnte nicht gefunden werden!"); } //Vielleicht bringt das was, keine Ahnung :/

    for(new i=0; i<MAX_VEHICLES; i++)
    {
    SetVehicleToRespawn(i);
    Tank = 100;
    Motorschadenparams = false;
    SetVehicleHealth(i, 1000);
    for(new e = 0; e < 52; e++)
    {
    if(Autos[playerid][e][Abgeschlossen] == 1)
    {
    Autos[playerid][e][Abgeschlossen] = 1;
    GetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,1,bonnet,boot,objective);
    }
    if(Autos[playerid][e][ParkkralleObj] == 1)
    {
    Autos[playerid][e][ParkkralleObj] = 1;
    Parkkralle[Spielercar[playerid][e]] = true;
    }
    }
    }

    new text[128];
    format(text,128,"Achtung! Alle Autos wurden von %s respawnt.",SpielerName(playerid));
    SCMTA(GELB,text);

    //Du kannst den selben String nutzen, das spart Ressourcen
    format(text,128,"%s hat den Befehl /rc benutzt.",SpielerName(playerid));
    AdminLog(text);

    return 1;
    }

    ocmd:rc(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,4))return SCM(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    //Die zweite Abfrage, ob der Spieler das Adminlevel 4 hat, ist sinnlos.

    for(new i=0; i<MAX_VEHICLES; i++)
    {
    SetVehicleToRespawn(i);
    Tank = 100;
    Motorschadenparams = false;
    SetVehicleHealth(i,1000);
    for(new e = 0; e < 52; e++)
    {
    if(Autos[playerid][e][Abgeschlossen] == 1)
    {
    Autos[playerid][e][Abgeschlossen] = 1;
    GetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,1,bonnet,boot,objective);
    }
    if(Autos[playerid][e][ParkkralleObj] == 1)
    {
    Autos[playerid][e][ParkkralleObj] = 1;
    Parkkralle[Spielercar[playerid][e]] = true;
    }
    }
    }
    new text[128];
    format(text,128,"Achtung! Alle Autos wurden von %s respawnt.",SpielerName(playerid));
    SCMTA(GELB,text);
    new log[128];
    format(log,128,"%s hat den Befehl /rc benutzt.",SpielerName(playerid));
    AdminLog(log);

    return 1;
    }

    new Float:Pos[3];//Array zum Speichern der Position erstellen
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);//Position vom Spieler herausfinden

    for(new i;i < MAX_PLAYERS;i ++)//Für alle Spieler wird das folgende ausgeführt.
    {
    if(IsPlayerInRangeOfPoint(i, 20.0, Pos[0], Pos[1], Pos[2]))//Wenn der Spieler, der gerade in der Schleife ist, in der Nähe ist.
    {
    //Message an i senden.
    }
    }


    Edit: Zu langsam...


    Hast du ein Login-System?
    Du musst die Zeile natürlich anpassen, oder ganz weglassen.


    Edit: Versuch gPlayerLogged[playerid] = 1;

    Hey,
    ich suche ein Ordnungsamt licht, was Organe leuchtet auch am Tag nicht nur wenn es Nacht ist, ich brauch nur die Objekt Id cod und Position für das Licht habe ich, finde nur nicht das richtig Objekt

    18646 - PoliceLight1
    19419 - police_lights01 Eins von den beiden hier leuchtet, das andere nicht
    19420 - police_lights02


    SAMP Map Editor oder auf K-DST kannst du gut suchen.

    stock CheckSektorName(playerid)
    {
    new str[16], sector = -1;
    for(new i = 0; i <System[SektorOnline]; i++)
    {
    if(IsPlayerInArea(playerid, SektorInfo[i][sX1],SektorInfo[i][sY1],SektorInfo[i][sX2],SektorInfo[i][sY2]))
    {
    sector = i;
    break;
    }
    }

    if(sector != -1)
    {
    format(str, sizeof(str), "%s", SektorInfo[sector][sName]);
    return str;
    }
    else
    {
    format(str, sizeof(str), "None");
    return str;
    }

    }


    Versuch das mal damit auszutauschen, dann müsste wenn du in keiner Zone bist None ausgegeben werden.


    Edit: Oder der Sektorname wird im Array nicht richtig gesetzt.