Beiträge von Kaliber

    Das schon ok so.


    Es bedeutet ja quasi, dass du 25 Fraktionen erstellen kannst auf dem Server.


    Um die jeweilige Fraktionsid rauszubekommen musst du einfach ermitteln, welche frei ist, z.B. so:



    stock GetFreeFrakID()
    {
    for(new i; i<sizeof(cfrak_info); i++)
    {
    if(cfrak_info[i][f_name][0] == EOS) return i;
    }
    return -1;
    }


    //Wichtig dass du beim löschen einer Fraktion folgendes machst:
    strdel(cfrak_info[i][f_name],0,128);


    //Und dann kann dein Befehl so aussehen:
    format(string,sizeof(string),"%s",inputtext);
    new i = GetFreeFrakID();
    if(i == -1) return SendClientMessage(playerid,-1,"* Es wurden bereits 25 Fraktionen erstellt!");
    format(cfrak_info[i][f_name],128, string);
    format(string,sizeof(string),"Sie erstellen die Fraktion {FF7700}%s{FFFFFF}", cfrak_info[i][f_name]);
    SCM(playerid,COLOR_YELLOW,string);

    Um das mal kurz zu sagen, das sieht nicht gut aus mit dem Namen, wenn der sich permanent ändert :D


    Da man immer einen links Klick machen muss, damit man die Veränderung des Namens sieht, das geht nicht automatisch ^^


    Hier ein kleines Beispiel:


    Hab das per Hand fix gemacht....Daten in ein Filterscript und das schnell neugeladen...


    Die Achsen X, Y & Z stehen ja für was :D Das ist sowas wie rechts, vorne und oben :D


    So kann man das relativ gut einstellen ^^

    Machs mal so:


    C
    if(newkeys & KEY_JUMP)
    {
        static const skins[] = {1, 2, 3, 4, 5, 6, 7, 8, 18, 19}; //Hier kannst du alle Skinids reinschreiben, die zu wählen sind.
        static idx[MAX_PLAYERS char];
        SetPlayerSkin(playerid, skins[idx{playerid}]);
        idx{playerid} = (idx{playerid} == sizeof(skins)-1)?0:idx{playerid}+1;
        return 1;
    }

    Um das Objekt vorwärts bewegen zu lassen musste das so machen: