Beiträge von Kaliber

    _Flex_:


    Noch mehr Code für sowas, ging nicht oder? ^^


    Man kann dies auch vereinfachen und einfach so schreiben:


    //Als erstes man braucht kein enum!
    stock WaffenLaden(playerid) {
    new save[13 + MAX_PLAYER_NAME],name[MAX_PLAYER_NAME],waffe[13],ammu[13],buffer[10];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(save,sizeof(save),"/Waffen/%s.ini",name);
    for(new i; i<13; i++) format(buffer,10,"waslot%d",i),waffe[i] = dini_Int(save,buffer);
    for(new i; i<13; i++) format(buffer,10,"amslot%d",i),ammu[i] = dini_Int(save,buffer);
    for(new i; i<13; i++) GivePlayerWeapon(playerid,waffe[i],ammu[i]);
    return 1;
    }


    stock WaffenSpeichern(playerid) {
    new waffe,ammo,save[13 + MAX_PLAYER_NAME],name[MAX_PLAYER_NAME],buffer[10];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(save,sizeof(save),"/Waffen/%s.ini",name),dini_Create(save);
    for (new i; i < 13; i++) {
    GetPlayerWeaponData(playerid,i,waffe,ammo);
    format(buffer,10,"waslot%d",i),dini_IntSet(save,buffer,waffe);
    format(buffer,10,"amslot%d",i),dini_IntSet(save,buffer,ammo);
    }
    return 1;
    }


    PS: Du fragst unten nur 12 Waffenslots ab, es gibt 13 ;) nämlich 0 - 12 und nicht nur 0 - 11 ;)


    mfg. :thumbup:

    Und nur wenn auf das Objekt dann auch geschossen werden kann


    Also du fragst mich gerade, wieso ich nicht von ca. 20.000 Objekten die rausgesucht habe, die ungefähr eine viereckige Form haben, auf die man vernünftig schießen kann. :huh:


    Warum habe ich das wohl nicht gemacht...sag dus mir :rolleyes:

    Diese riesen Codeblöcke da immer...das ist doch schlimm 8|


    Schreib es doch einfach so:


    ocmd:aduty(playerid,params[]) {
    if(!sInfo[playerid][alevel]) return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    new string[128];
    if(!AdminDuty[playerid]) {
    switch(sInfo[playerid][alevel]) {
    case 1: format(string, sizeof(string),"** ProbeSupporter: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
    case 2: format(string, sizeof(string),"** Supporter: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
    case 3: format(string, sizeof(string),"** Moderator: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
    case 4: format(string, sizeof(string),"** Administrator: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
    case 5: format(string, sizeof(string),"** SuperAdministrator: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
    case 6: format(string, sizeof(string),"** Stellv. ServerLeiter: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
    case 7: format(string, sizeof(string),"** ServerLeiter: %s hat sich zum Admindienst Angemeldet! **", SpielerName(playerid));
    }
    SendClientMessageToAll(DGRÜN,string);
    SetPlayerSkin(playerid,278);
    SendClientMessage(playerid,GELB,"** Du bist nun im Admindienst **");
    SetPlayerHealth(playerid,100),SetPlayerArmour(playerid,100);
    return AdminDuty[playerid]=1;
    }
    format(string, sizeof(string),"** Supporter/Admin: %s hat sich vom Admindienst Abgemeldet! **", SpielerName(playerid));
    SendClientMessageToAll(ADMINROT,string),SetPlayerSkin(playerid,0);
    SendClientMessage(playerid,GELB,"** Du bist nun nicht mehr im Admindienst und bist wieder im Normalen Zividienst **");
    SetPlayerHealth(playerid,100),SetPlayerArmour(playerid,0);
    return AdminDuty[playerid]=0;
    }


    mfg. :thumbup:


    //Edit: Habe gerade erst gesehen, dass du nicht mit PVar arbeitest, sondern mit sInfo[playerid][alevel]

    Mal so als neutrale Kritik ein paar Bugs, die ich in den ersten paar Minuten gefunden habe:


    • Start Screen funktioniert nicht so richtig (wie oben gezeigt).
    • TextDraw ids vertauschen sich plötzlich...die Uhr ist weg und weiße Balken tauchen auf.
    • Beim Führerschein kann man sich bewegen.
    • Bei der Farbe der 3DTextLabel wurde teilweise der Alpha-Wert vergessen, aus diesem Grund sind sie extrem schlecht lesbar.
    • Manche Pickups (Eingänge) funktionieren nicht.
    • Teilweise Rechtschreibfehler.
    • Manche Pickups (bei dem Ausgang vom LSPD) wurden weggelassen (oder entfernt wieso auch immer)...
    • Map vom LSPD fehlt...außer dem Tor (sieht extrem bescheuert aus...)


    ...nach so ca. 2 Minuten gesehen...da vergeht einem doch die Lust :huh:


    mfg. :rolleyes:

    Schreibt es doch einfach so:


    ocmd:makeadmin(playerid, params[]) {
    if(!IstSpielerAdmin(playerid, 6)) return SendClientMessage(playerid,ROT,"Du bist kein Adminstrator!");
    new pid,level;
    if(sscanf(params,"ud", pid, level)) return SendClientMessage(playerid,GRAU,"Verwendung : /makeadmin [Spieler id] [Admin level]");
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht Online!");
    if(sSpieler[pid][Adminlevel] == level))return SendClientMessage(playerid,FMEDIC,"Der Spieler hat schon das gewünschte Admin level!");
    sSpieler[pid][Adminlevel] = level;
    SendClientMessage(pid, GELB, "Du hast nun einen Admin rank!");
    SendClientMessage(playerid, GELB, "Der Spieler ist nun Admin!");
    return 1;
    }


    mfg. :thumbup: