Beiträge von NoxiZ


    Da sind die errors wie gesagt von allem ein bisschen, aber nur verursacht davon:


    dcmd_a(playerid,params[])
    {
    if(sSpieler[playerid][Adminlevel] < 1) return SendClientMessage(playerid,Weiß,"Du bist kein Admin!");
    {
    new text[256];
    new spielername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spielername,sizeof(spielername));
    if(sscanf(params,"s",text))
    return SendClientMessage(playerid,Weiß,"Info: /a (text)");
    format(text,sizeof(text),"Adminchat %s: %s",spielername,text);
    SendAdminMessage(Weiß,text);
    return 1;
    }


    adminchat
    und der stock dazu:


    //ADMINNACHRICHTEN
    stock SendAdminMessage(farbe,string[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(sSpieler[i][Adminlevel] >= 1)
    {
    SendClientMessage(i, farbe, string);
    }
    }
    }


    und das gleiche für fraktionen


    dcmd_f(playerid,params[])
    {
    if(sSpieler[playerid][Fraktion] = 1)
    {
    new text[256];
    new spielername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spielername,sizeof(spielername));
    if(sscanf(params,"s",text))
    return SendClientMessage(playerid,Weiß,"Info: /f (text)");
    format(text,sizeof(text),"Fraktionschat %s: %s",spielername,text);
    SendAdminMessage(Weiß,text);
    return 1;
    }


    //FRAKTIONSNACHRICHTEN
    stock SendFraktionMessage(farbe,string[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(sSpieler[i][Fraktion] >= 1 || <= 2)
    {
    SendClientMessage(i,farbe,string);
    }
    }
    }


    er meckert aber auch ohne das mit der fraktion.
    wenn ich den command /a lösche gibt es keine errors, also kann meiner meinung nach nur was daran falsch sein


    //ADMINNACHRICHTEN
    stock SendAdminMessage(farbe,string[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(sSpieler[i][Adminlevel] >= 1)
    {
    SendClientMessage(i, farbe, string);
    }
    }
    }


    Muss daran auch was geändert werden?

    dcmd_a(playerid,params[])
    {
    if(sSpieler[playerid][Adminlevel] < 1) return SendClientMessage(playerid,Weiß,"Du bist kein Admin!");
    {
    new text[256];
    new spielername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spielername,sizeof(spielername));
    if(sscanf(params,"s",text))
    return SendClientMessage(playerid,Weiß,"Info: /a (text)");
    format(text,sizeof(text),"Adminchat %s: %s",spielername,text);
    for(new i; i < GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    SendAdminMessage(Weiß,text);
    }
    }
    return 1;
    }


    Warum wird der Adminchat immer doppelt bzw 3 oder 4fach angezeigt, wenn jeweils so viele spieler online sind?
    Wenn ein spieler on ist, wird der text einmal ausgegeben.
    bei 2 spielern wird er 2x mal ausgegeben
    was muss geändert werden? :/

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i = 0; i<sizeof(grovestreetcar); i++)
    {
    if(GetPlayerVehicleID(playerid) == grovestreetcar[i])
    {
    if(SpielerFraktion(playerid,1))
    {
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Weiß,"Du bist kein Grove Street Member!");
    }
    }
    }
    }
    return 1;
    }


    wie hau ich da jetzt die abfrage für fraktion 2 rein?
    meine ersten versuche endeten mit 26 errors ^^

    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    //Grove Street//
    if(pickupid==grovestreetenter)
    {
    SetPlayerPos(playerid,2496.2883,-1695.2831,1014.7422);
    SetPlayerInterior(playerid,3);
    SetPlayerVirtualWorld(playerid,0);
    }
    if(pickupid==grovestreetexit)
    {
    SetPlayerPos(playerid,2495.2156,-1685.6931,13.5128);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }


    Ich habs momentan so.
    das mit else hatte nur errors verursacht und alles andere hatte dafür gesorgt, das alle nicht grove mitglieder rein konnten und die grovler nicht, und die interior alles durcheinander waren.

    dcmd_makeleader(playerid,params[])
    {
    new pid, frakid;
    if(sscanf(params, "ud",pid,frakid))
    {
    return SendClientMessage(playerid,Weiß,"Info: /makeleader [playerid] [Fraktion]");
    }
    if(pid == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid,Weiß,"Der Spieler mit dieser ID ist nicht Online!");
    }
    if(sSpieler[playerid][Adminlevel] == 4)
    {
    new spieler[256];
    new admin[256];
    new adminname[MAX_PLAYER_NAME];
    new spielername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, adminname, sizeof(adminname));
    GetPlayerName(pid, spielername, sizeof(spielername));
    if(frakid > 2)
    {
    SendClientMessage(playerid,Weiß,"Soviele Fraktionen gibt es nicht!");
    return 1;
    }
    if(frakid == 0)
    {
    format(spieler, sizeof(spieler),"Vorstandsadmin %s hat dir die Leaderrechte entzogen!",adminname);
    format(admin, sizeof(admin),"Du hast %s die Leaderrechte entzogen!",spielername);
    SetPlayerPos(pid, 1517.7534,-1657.6643,13.5392);
    SetPlayerColor(pid,Weiß);
    SendClientMessage(pid,Weiß,spieler);
    SendClientMessage(playerid,Weiß,admin);
    sSpieler[pid][Leader] = 0;


    die letzte zeile ist die wo er es in die txt des accounts einträgt, das er halt die rechte entzogen bkommen hat.
    wenn er jetzt aber geleadert wird in fraktion 1, soll das ebenfalls in der datei stehen, weswegen jetzt rein theoretisch noch [Fraktion] dastehen müsste, aber das geht halt nicht, weil nicht zulässig ist ^^

    das passt so außer das ich diesen warning bekomme:


    C:\Users\NoxiZ\Desktop\Server\gamemodes\selfmade.pwn(372) : warning 203: symbol is never used: "params"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    edit.


    befehl funktioniert, aber eine 2te frage hab ich noch.


    bei meinem makeleader befehl wird ja in das userfile des accounts ja die zahl der fraktion eingetragen in der der spieler leader ist.
    wie bekomme ich hin, das er noch in einen anderen teil das einträgt?


    dcmd_makeleader(playerid,params[])
    {
    new pid, frakid;
    if(sscanf(params, "ud",pid,frakid))
    {
    return SendClientMessage(playerid,Weiß,"Info: /makeleader [playerid] [Fraktion]");
    }
    if(pid == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid,Weiß,"Der Spieler mit dieser ID ist nicht Online!");
    }
    if(sSpieler[playerid][Adminlevel] == 4)
    {
    new spieler[256];
    new admin[256];
    new adminname[MAX_PLAYER_NAME];
    new spielername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, adminname, sizeof(adminname));
    GetPlayerName(pid, spielername, sizeof(spielername));
    if(frakid > 2)
    {
    SendClientMessage(playerid,Weiß,"Soviele Fraktionen gibt es nicht!");
    return 1;
    }
    if(frakid == 0)
    {
    format(spieler, sizeof(spieler),"Vorstandsadmin %s hat dir die Leaderrechte entzogen!",adminname);
    format(admin, sizeof(admin),"Du hast %s die Leaderrechte entzogen!",spielername);
    SetPlayerPos(pid, 1517.7534,-1657.6643,13.5392);
    SetPlayerColor(pid,Weiß);
    SendClientMessage(pid,Weiß,spieler);
    SendClientMessage(playerid,Weiß,admin);
    sSpieler[pid][Leader] = 0;


    sSpieler[pid][Leader] bekomme ich hier noch einen weiteren einzutragenden teil hin? bzw [Fraktion]? = 0;

    So moin hab mal ne kleine anfängerfrage.
    habe mir mithilfe der nemesus tutorials ein adminsystem erstellt, das auch top funktioniert.


    Nun will ich aber noch haben, das ich bzw leute die das rcon pw haben sich zum Fulladmin machen können.
    Leider scheitert es grade.


    dcmd_rmakeadmin(playerid,params[])
    {
    new pid;//Das sind die Variablen, /MakeAdmin [pID] [AdminLevel]
    if(sscanf(params, "u",pid))
    {
    if(IsPlayerAdmin(playerid);
    {
    sSpieler[playerid][Adminlevel] = 4;
    SendClientMessage(playerid,Weiß,"Du hast dich über Rcon zum Vorstandsadmin befördert!");
    }
    else
    {
    SendClientMessage(playerid,Weiß,"Du hast dafür keine Berechtigung!");
    return 1;
    }


    Ich weiß nun aber nicht ob das new was da steht wirkloich brauche, weil ja per abfrage des rcon nur das adminlevel in die spieler datei eingetragen werden soll.

    Also Logisch wäre selbstverständlich, das die Objekte für jeden auf dem Server weg sind.
    Frage ist halt, obs schon sowas gibt womit man ingame direkt auswählen kann

    Im Grunde steht alles schon in der überschrift.
    Gibt es ein Filterscript, das es ermöglicht, die Standardobjekte von GTA SA rauszunehmen?
    Oder muss ichs doch mit dem standard editor machen?


    Es geht hier nur ums entfernen der von rockstar gesetzten objekte und nicht darum neue zu erstellen.


    Liebe grüße
    Nox