Beiträge von InternetInk aka Benjamin

    Ist ja viel zu unübersichtlich...
    Ich habs mal etwas übersichtlicher gemacht.


    //EDIT
    So...

    //
    if(strcmp(cmd, "/aduty", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht berechtigt, diesen Befehl zu benutzen !");
    return 1;
    }
    if(PlayerInfo[playerid][pADuty] == 0)
    {
    SetPlayerColor(playerid, 0xFF00EBFF);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "AdmCmd: Admin %s hat den Admindienst begonnen.", sendername);
    OOCNews(0xFF00F5FF,string);
    if(PlayerInfo[playerid][pAdmin] == 1)
    {
    ProbeSupporter[playerid] = Create3DTextLabel("ProbeSupporter",0xC8C8C8FF,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(ProbeSupporter[playerid], playerid, 0.0, 0.0, 0.3);
    }
    if(PlayerInfo[playerid][pAdmin] == 2)
    {
    Supporter[playerid] = Create3DTextLabel("Supporter",0xF5FF00FF,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(Supporter[playerid], playerid, 0.0, 0.0, 0.3);
    }
    if(PlayerInfo[playerid][pAdmin] == 3)
    {
    Moderator[playerid] = Create3DTextLabel("Moderator",0x00FF1EFF,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(Moderator[playerid], playerid, 0.0, 0.0, 0.3);
    }
    if(PlayerInfo[playerid][pAdmin] == 4)
    {
    Administrator[playerid] = Create3DTextLabel("Administrator",0x0073FFFF,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(Administrator[playerid], playerid, 0.0, 0.0, 0.3);
    }
    if(PlayerInfo[playerid][pAdmin] == 5)
    {
    SuperAdministrator[playerid] = Create3DTextLabel("SuperAdministrator",0xFF9600FF,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(SuperAdministrator[playerid], playerid, 0.0, 0.0, 0.3);
    }
    if(PlayerInfo[playerid][pAdmin] == 1337)
    {
    ServerManager[playerid] = Create3DTextLabel("ServerManager",0x0023FFFF,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(ServerManager[playerid], playerid, 0.0, 0.0, 0.3);
    }
    if(PlayerInfo[playerid][pAdmin] == 1338)
    {
    ServerOwner[playerid] = Create3DTextLabel("ServerOwner",0xC30000FF,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(ServerOwner[playerid], playerid, 0.0, 0.0, 0.3);
    }
    getdate(year, month, day);
    gettime(hour, minute);
    format(string, sizeof(string), "AdmCmd: Admin %s started Support as an Admin. (%d-%d-%d)(%d:%d Uhr)", sendername,month,day,year,hour,minute);
    AdminLog(string);
    PlayerInfo[playerid][pADuty] = 1;
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid,100);
    SetPlayerSkin(playerid, 279);
    return 1;
    }
    else
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "AdmCmd: Admin %s hat den Admindienst beendet.", sendername);
    OOCNews(0xFF00F5FF,string);
    SetPlayerToTeamColor(playerid);
    PlayerInfo[playerid][pADuty] = 0;
    getdate(year, month, day);
    gettime(hour, minute);
    format(string, sizeof(string), "AdmCmd: Admin %s (lvl %d) stopped Support as an Admin. (%d-%d-%d)(%d:%d Uhr)", sendername,PlayerInfo[playerid][pAdmin],month,day,year,hour,minute);
    AdminLog(string);
    SetPlayerSkin(giveplayerid, PlayerInfo[giveplayerid][pModel]);
    Delete3DTextLabel(ProbeSupporter[playerid]);
    Delete3DTextLabel(Supporter[playerid]);
    Delete3DTextLabel(Moderator[playerid]);
    Delete3DTextLabel(Administrator[playerid]);
    Delete3DTextLabel(SuperAdministrator[playerid]);
    Delete3DTextLabel(ServerManager[playerid]);
    Delete3DTextLabel(ServerOwner[playerid]);
    return 1;
    }
    return 1;
    }
    //restlichen befehle

    Die Zahl die du eingibst wird im Chase durchgegangen.
    Falls es ne 0 ist wird das Adminlevel zurückgegeben
    Falls es ne 1 ist wird das Level zurückgegeben usw.


    Jop, mehrere Abfragen gleichzeitig sind damit durchaus möglich.
    Für jede Variable eine eigene Funktion zu erstellen schien mir unnötig, daher das mit der id und dem switch, das macht die Sache einfacher ;)

    Sollte über einen Umweg möglich sein.
    Ist allerdings ungetestet und muss natürlich angepasst werden


    //Im GameMode
    forward CurrentStat(id,playerid);
    public CurrentStat(id,playerid)
    {
    switch(id)
    {
    case 0: return SpielerInfo[playerid][pAdmin];
    case 1: return SpielerInfo[playerid][pLevel];
    //usw die mit angegebene ID ist quasi ein wert für das was man möchte.
    }
    return -1;
    }
    //In einem anderen Script z.B. FilterScript
    GetCurrentStat(id,playerid)
    {
    return CallRemoteFunction("CurrentStat","dd",id,playerid);
    }


    Betrüger werden sowieso gesperrt und wer nicht über Mittelsmänner handelt hat es selbst zu verantworten wenn er um sein Geld betrogen wird.
    Für die Paar Transaktionen sowas zu installieren halte ich für schlichtweg unnötig.
    Macht in größeren Foren mit vielen Verkäufern mehr sinn als hier.

    :D
    (286,315.745086,984.969299,1958.919067,24,300,31,600,46,1)
    (skin, Float:x, Float:y, Float:z, Float:winkel, waffe1, waffe1_munition, waffe2, waffe2_munition, waffe3, waffe3_munition)


    Winkel also Drehrichtung fehlt ;)

    defragmentieren ...^^ nicht wirklich lust


    Defragmentieren != Formatieren


    Beim Defragmentieren wird die Festplatte quasi neu sortiert, einzelne zusammengehörige Fragmente werden zusammen geführt.
    Das hat den Effekt das die Festplattennadel nicht unnötig viel hin und her wandern muss was Zeit spart und das System schneller macht.
    Die Funktion gibt es sowohl bei Windows als auch als unzählige Programme...

    Generall kann man Warnings Ignorieren.




    Das Warning "local variable "mod" shadows a variable at a preceding level"
    Besagt das die in der Zeile erstelle Variable eine Globale Variable die ebenfalls so heißt verschattet.
    Das näher zu erklären wäre jetzt zu aufwendig.


    Die Variable zu löschen ist aber eine sehr schlechte Idee.
    Nenn die Variable in mod1 oder sowas um, die restlichen mod in dem Befehl ebenfalls.