Beiträge von Anthony Vegas

    Zitat

    ausgegraben

    Wo war's begraben :P


    B2T
    Schön, so in etwa sieht auch mein Login Menü aus :)


    Heißt es nicht ' Spiel suchen ' ?


    MfG


    PS:
    Was meinst du mit Patchnotes?

    Ich habe solch ein voll-dynamisches MySQL Fraktionssystem erstellt :)


    So, die Rangnamen lässt du sicherlich in einem Enum o.ä. speichern, und laden.
    So schaut des bei mir aus :)


    /******************************************************
    Diese Funktion gibt den Rang eines Spielers in
    einem Integer wieder
    *******************************************************/
    stock GetPlayerRangID(playerid)
    {
    return SpielerInfo[playerid][pRang];
    }


    /******************************************************
    Diese Funktion gibt den Rang eines Spielers in
    einem String wieder
    *******************************************************/
    stock GetPlayerRangName(playerid)
    {
    new name[Max_Rangname];
    switch(SpielerInfo[playerid][pRang])
    {
    case 0:{format(name,2,"-");}
    case 1:{format(name,Max_Rangname,"%s",FraktionInfo[GetPlayerFrakID(playerid)][pRangname1]);}
    case 2:{format(name,Max_Rangname,"%s",FraktionInfo[GetPlayerFrakID(playerid)][pRangname2]);}
    case 3:{format(name,Max_Rangname,"%s",FraktionInfo[GetPlayerFrakID(playerid)][pRangname3]);}
    case 4:{format(name,Max_Rangname,"%s",FraktionInfo[GetPlayerFrakID(playerid)][pRangname4]);}
    case 5:{format(name,Max_Rangname,"%s",FraktionInfo[GetPlayerFrakID(playerid)][pRangname5]); }
    case 6:{format(name,Max_Rangname,"%s",FraktionInfo[GetPlayerFrakID(playerid)][pRangnameLeader]);}
    }
    return name;
    }


    So habe ich das ganz oben
    //Defines und Enum für die Fraktionen
    #define Max_Fraktionen 12 //Anzahl der Fraktionen( Standartmäßig: 11 )
    #define Max_Ranggehalt 15000 //Maximaler Gehalt pro Rang
    #define Max_Frakname 30 //Maximale Länge des Namen der Fraktion (Standard 30)
    #define Max_Rangname 15 //Maximale Länge eines Rangnamens (Standard 15)


    enum FrakDaten
    {
    pFraktionsname[Max_Frakname],
    pRangname1[Max_Rangname],
    pRangname2[Max_Rangname],
    pRangname3[Max_Rangname],
    pRangname4[Max_Rangname],
    pRangname5[Max_Rangname],
    pRangnameLeader[Max_Rangname],
    pFraktionskasse,
    pRang1_Skin,
    pRang2_Skin,
    pRang3_Skin,
    pRang4_Skin,
    pRang5_Skin,
    pRangLeader_Skin,
    pRang1_Gehalt,
    pRang2_Gehalt,
    pRang3_Gehalt,
    pRang4_Gehalt,
    pRang5_Gehalt,
    pRangLeader_Gehalt,
    Float:pSpawnPosX,
    Float:pSpawnPosY,
    Float:pSpawnPosZ,
    pSpawnInterior
    };


    new FraktionInfo[Max_Fraktionen][FrakDaten];


    Hoffe das hilft dir :)


    Lg

    Ein Ddos ist nicht Strafbar da eine bestimmte IP nur mehrfach von der selben angepingt wird.

    Moin
    Ich habe gerade mal ein paar Befehle editiert bzw. wollte sie InGame benutzen, dabei ist mir aufgefallen das diese nicht 'mehr' funktionieren?


    /******************************************************
    Dieser Befehl zeigt dem Spieler seine Statistiken
    *******************************************************/
    CMD:stats(playerid,params[])
    {
    //Kills/Deaths Rate
    new kdr[130],
    NextLevel = SpielerInfo[playerid][pLevel]+1,
    NeededRespekt = NextLevel*NextLevelRespekt,
    string[400];
    format(kdr, sizeof(kdr), "%0.2f",Float:SpielerInfo[playerid][pKills]/Float:SpielerInfo[playerid][pTode]);
    if(Eingeloggt[playerid]==0)return SendClientMessage(playerid, Rot,"[Fehler] "COLW"Du musst dich vorher einloggen!");
    format(string,sizeof(string),""COLB"Account\n"COLW"Name: %s\nLevel: %d\nGeld: %d\nStatus: %s\n\n",GetName(playerid),GetPlayerScore(playerid),GetPlayerMoney(playerid),AdminName(playerid));
    format(string,sizeof(string),"%s"COLB"Kampf"COLW"\nKills: %d\nTode: %d\nRate: %s\n\n",string,SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],kdr);
    format(string,sizeof(string),"%s"COLB"Persönliches"COLW"\nRegistrierungsdatum: %s\nEmail: %s\n",string,SpielerInfo[playerid][pRegDate],SpielerInfo[playerid][pEmail]);
    format(string,sizeof(string),"%sSpielzeit: %d Minuten\nRespektpunkte: %d/%d\n\n",string,SpielerInfo[playerid][pSpielMinuten],SpielerInfo[playerid][pRespektpunkte],NeededRespekt);
    format(string,sizeof(string),"%s"COLB"Berufliches"COLW"\nBeruf: %s\n",string,JobName(playerid));
    if(SpielerInfo[playerid][pFraktion]>0)return format(string,sizeof(string),"%s"COLB"Fraktion & Organisation"COLW"\nFraktion: %s\nRang: %s",string,GetPlayerFrakName(playerid),GetPlayerRangName(playerid));
    ShowPlayerDialog(playerid, DG_STATS, DG_MSGBOX,""COLB"Statistiken",string,"Schließen","");
    return 1;
    }


    /******************************************************
    Dieser Befehl ist für Durchsagen
    *******************************************************/
    CMD:gov(playerid, params[])
    {
    new string[100],string2[130],naricht[50];
    if(Eingeloggt[playerid]==0)return SendClientMessage(playerid, Rot,"[Fehler] "COLW"Du musst dich vorher einloggen!");
    if(SpielerInfo[playerid][pFraktion]==0)return SendClientMessage(playerid, Rot,"Du bist in keiner Fraktion!");
    if(SpielerInfo[playerid][pLeader]==0)return SendClientMessage(playerid, Rot,"Du bist kein Leader einer Fraktion!");
    if(sscanf(params,"s",naricht)) return SendClientMessage(playerid,Rot,"Info:"COLW" /gov [Text]");
    format(string,sizeof(string),"~~~~~~~~~~~~~~~~~~~~~~~~~~~Durchsage von %s~~~~~~~~~~~~~~~~~~~~~~~~~~~",GetPlayerFrakName(playerid));
    SendClientMessageToAll(Blau,string);
    format(string2,sizeof(string2),"%s %s schreibt: %s",GetPlayerRangName(playerid),GetName(playerid),naricht);
    SendClientMessageToAll(Weiß,string2);
    return 1;
    }

    /******************************************************
    Dieses Callback wird aufgerufen wenn ein Befehl
    nicht existert
    *******************************************************/
    public OnPlayerCommandPerformed(playerid, cmdtext[], success)
    {
    if(!success)return SendClientMessage(playerid, Rot, "[Fehler]"COLW" Der Befehl existiert nicht!");
    return 1;
    }


    Andere Befehle haben die selbe 'Struktur' und funktionieren.
    Wie dem ein oder anderem aufgefallen ist, basieren die Befehle auf ZCMD.


    Hoffe mir kann jmd. helfen, denn ich finde keine Lösung ^^


    Lg


    PS:
    Es ist ein Selfmade Skript!