Nach /invite,/makeleader Skinauswahl ?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey ^^


    Hab mal wieder ne Frage , undzwar wie kann ich machen , das nach dem /invite oder /makeleader befehl , eine Skinauswahl für den Spieler kommt , wo der Spieler einen Skin seiner Fraktion auswählen kann ? zB. wenn er in Terror eingeladen wurde , das er nur Terror skins auswählen kann!


    Bisher:



    ocmd:invite(playerid,params[])
    {
    if(GetPlayerFrakRang(playerid,4))
    {
    new pID;
    new Spieler[64];
    new Spieler2[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(pID));
    format(Spieler2,sizeof(Spieler2),"Spieler/%s.txt",PlayerName(playerid));
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,Rot,"Fehler: /invite [ID/Name]");
    {
    if(dini_Int(Spieler,"Fraktion")!=dini_Int(Spieler2,"Fraktion"))return SendClientMessage(playerid,Rot,"Der Spieler ist momentan in einer Fraktion!");
    {
    dini_IntSet(Spieler,"Fraktion",dini_Int(Spieler2,"Fraktion"));
    dini_IntSet(Spieler,"Fraktionsrang",1);
    new string[256];
    new string2[256];
    format(string,sizeof(string),"Du hast %s in die Fraktion eingeladen!",PlayerName(pID));
    format(string2,sizeof(string2),"Du wurdest von %s in die Fraktion eingeladen !",PlayerName(playerid));
    SendClientMessage(pID,Gruen,string);
    SendClientMessage(playerid,Gruen,string2);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(pID,x,y,z);
    SetSpawnInfo(pID,0,0,x,y,z,0.0,0,0,0,0,0,0);
    SpawnPlayer(pID);
    }
    }
    }
    return 1;
    }


    ocmd:makeleader(playerid,params[])
    {
    new pID;
    new frak;
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(pID));
    if(IsPlayerAnAdmin(playerid,3))
    {
    if(sscanf(params,"ui",pID,frak))return SendClientMessage(playerid,Rot,"Fehler: /makeleader [ID/Name] [FraktionsID] \nFraktionsID's: 1 - Terror | 2 - San News | 3 Terror");
    {
    //SendClientMessage(playerid,Rot,"FraktionsID's: 1 - Terror | 2 - San News | 3 Terror");
    if(pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Der Spieler exisitert nicht !");
    {
    if(dini_Int(Spieler,"Fraktion")!=0)return SendClientMessage(playerid,Rot,"Der Spieler ist bereits in einer Fraktion.");
    {
    if(dini_Int(Spieler,"Fraktion")==frak && dini_Int(Spieler,"Fraktionsrang")>=4)return SendClientMessage(playerid,Rot,"Der Spieler ist bereits Leader der Fraktion!");
    {
    dini_IntSet(Spieler,"Fraktionsrang",5);
    dini_IntSet(Spieler,"Fraktion",frak);
    new string[256];
    new string2[256];
    format(string,sizeof(string),"Du hast %s zu dem Leader der Fraktion %i gemacht !",PlayerName(pID),frak);
    format(string2,sizeof(string2),"Du wurdest von %s zu dem Leader der Fraktion %i gemacht !",PlayerName(playerid),frak);
    SendClientMessage(playerid,Gruen,string);
    SendClientMessage(pID,Gruen,string2);
    SpielerSpeichern(pID);
    SetSpawnInfo(pID,0,220,548.3002,2593.3633,53.7338,269.8591,0,0,0,0,0,0);
    SpawnPlayer(pID);
    }
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht befugt diesen Befehl zu benutzen.");
    return 1;
    }
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    //SetSpawnInfo(playerid,0,dini_Int(Spieler,"Skin"),dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"),0.00,0,0,0,0,0,0);
    //SpawnPlayer(playerid);
    SetPlayerPos(playerid, 713.7261,-828.0383,70.3212);
    SetPlayerCameraPos(playerid, 710.1870,-824.2833,70.2593);
    SetPlayerCameraLookAt(playerid, 713.7261,-828.0383,70.3212);
    SetPlayerFacingAngle(playerid,43.3039);

    return 1;
    }


    OnGameModInit


    if(IsPlayerInFraktion(playerid,0))
    {
    AddPlayerClass(137,713.7261,-828.0383,70.3212,43.3039,0,0,0,0,0,0);
    }
    if(IsPlayerInFraktion(playerid,1))//TERROR
    {
    AddPlayerClass(220,713.7261,-828.0383,70.3212,43.3039,18,10,0,0,0,0);
    AddPlayerClass(182,713.7261,-828.0383,70.3212,43.3039,18,10,0,0,0,0);
    }
    if(IsPlayerInFraktion(playerid,2))//SAN NEWS
    {
    AddPlayerClass(150,713.7261,-828.0383,70.3212,43.3039,43,25,0,0,0,0);
    AddPlayerClass(17,713.7261,-828.0383,70.3212,43.3039,43,25,0,0,0,0);
    AddPlayerClass(141,713.7261,-828.0383,70.3212,43.3039,43,25,0,0,0,0);
    AddPlayerClass(147,713.7261,-828.0383,70.3212,43.3039,43,25,0,0,0,0);
    AddPlayerClass(148,713.7261,-828.0383,70.3212,43.3039,43,25,0,0,0,0);
    AddPlayerClass(187,713.7261,-828.0383,70.3212,43.3039,43,25,0,0,0,0);
    }
    if(IsPlayerInFraktion(playerid,3))
    {
    AddPlayerClass(285,713.7261,-828.0383,70.3212,43.3039,27,50,32,120,24,50);
    }

  • Machs doch so das jeder der invitet wird erstmal einen Standart Skin der Fraktion bekommt und jede Fraktion ein Pickup in der Base/Ganghaus hat wo er /skin machen kann und dort dann seine Kleidung ändern kann.

    Ist doch eig genau das selbe wie wen Er es bei Invite einbaut oder nicht?


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Ja aber er wills so umständlich .

    Ja ist mir schon klar Ich habs ja auch so aber Ich finde die Ide garnicht so schlecht das nach dem Invite eine Skinauswahl kommt....


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Ja dann soll er es so machen das mach einem Invite ein Dialog mit z.B 6 Skins zur auswalh stehen und der Spieler sich dann einen auswählen kann

    ICh würde es einfach in einer Normalen skinauswahl machen nachdem Er den Invite angenommen hat soll eine Normale Skinauswahl kommen also z.B


    Dialog_Invite


    Wen er auf beitreten button drückt kommt ne skinauswahl und dadrüber wird halt abgefragt In Welche Fraktion.....


    Ist der einfachste weg denke ICh mal xD


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !


  • So hatte ich es auch eigentlich vor :\
    Nur gibts eine bestimmte Funktion , wie zB SpawnPlayer(playerid); , die den Spieler zur Skinauswahl bringt ? Weil bei SpawnPlayer wird doch die Skinauswahl übersprungen und der Spieler wird direkt gespawnt ?

  • Ich weiß nicht obs geht habs schnell gemacht .




    //Zu deinen anderen DIALOGS
    #define DIALOG_SKININVITE 1


    //Der Befehl
    ocmd:invite(playerid,params[])
    {
    if(GetPlayerFrakRang(playerid,4))
    {
    new pID;
    new Spieler[64];
    new Spieler2[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(pID));
    format(Spieler2,sizeof(Spieler2),"Spieler/%s.txt",PlayerName(playerid));
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,Rot,"Fehler: /invite [ID/Name]");
    {
    if(dini_Int(Spieler,"Fraktion")!=dini_Int(Spieler2,"Fraktion"))return SendClientMessage(playerid,Rot,"Der Spieler ist momentan in einer Fraktion!");
    {
    dini_IntSet(Spieler,"Fraktion",dini_Int(Spieler2,"Fraktion"));
    dini_IntSet(Spieler,"Fraktionsrang",1);
    new string[256];
    new string2[256];
    format(string,sizeof(string),"Du hast %s in die Fraktion eingeladen!",PlayerName(pID));
    format(string2,sizeof(string2),"Du wurdest von %s in die Fraktion eingeladen !",PlayerName(playerid));
    SendClientMessage(pID,Gruen,string);
    SendClientMessage(playerid,Gruen,string2);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(pID,x,y,z);
    SetSpawnInfo(pID,0,0,x,y,z,0.0,0,0,0,0,0,0);
    SpawnPlayer(pID);
    }
    }
    ShowPlayerDialog(pID, DIALOG_SKININVITE,DIALOG_STYLE_LIST, "Skin Auswahl", "Skin #1\nSkin #2\nSkin #3", "Auswählen", "Abbrechen");
    }
    return 1;
    }



    //Zu OnDialogResponse


    if(dialogid == DIALOG_SKININVITE)
    {
    if(response == 1)
    {
    if(listitem == 0)//Im Dialog der 1. Button
    {
    SetPlayerSkin(playerid,1); //SKINID ANPASSEN !
    }
    if(listitem == 1)//Im Dialog der 2. Button
    {
    SetPlayerSkin(playerid,2); //SKINID ANPASSEN !
    }
    if(listitem == 2)//Im Dialog der 3. Button
    {
    SetPlayerSkin(playerid,3); //SKINID ANPASSEN !
    }
    else if(response == 0)
    {
    TogglePlayerControllable(playerid,1);
    }
    return 1;
    }
    }