Beiträge von Leonid4s

    Hi Leute,


    ich habe mir ein kleines Dialogsystem gemacht. Jeder spieler bekommt ein Dialog angezeigt, in dem seine Befehle stehen. Wenn man z.B. Drogenhändler und Admin ist bekommt man ein Menu mit genau den Befehlen die man braucht (z.B. Drogen verkaufen,Kicken,Bannen).
    Das Problem ist jetz das es unterschiedlich viele Dialogpunkte gibt und somit ist die Anzahl von listitem immer anders. Also hat man z.B. einmal 0=Drogenv verkaufen;1=Kicken;2=bannen und einmal 0=Drogen verkaufen;1=Fesseln;2=verhaften;.
    Vieleicht hat einer eine schlaue Idee wie man das umsetzenn könnte oder vieleicht auch eine alternative.



    MfG Leonidas


    new string[256];//einen neuen string erstellen
    format(string, sizeof(string), "Dateiname.ini");/
    *Hier formatieren wir den String- in dem Fall geben wir ihm den Wert Dateiname.ini -du kannst dir aber auch ein anderen aussuchen*/

    new File: Datei = fopen(string, io_write);/*Hier öffnen wir mit fopen den string und legen mit io_write fest,das wir in die Date schreiben wollen oder eine erstellen wollen*/
    if (Datei)//Wenn die Datei existiert
    {
    new string2[32];//machen wir einen neuen String

    format(string2, sizeof(string2), "Wert=%d",/* Hier dann was anstelle von %d eingesetzt werden soll z.B 4*/);/*Setzen in string2 Wert=(indem fall 4) ein*/
    fwrite(Datei, string2);//Und Hier schreiben wir in die Datei
    fclose(Datei);//Hier schließen wir di Datei


    }





    Für Format guck dir mal das an Format
    und für fwrite mal das Fwrite
    MfG leonid4s


    new string[256];
    format(string, sizeof(string), "Dateiname.ini/*Hier den gewünschten dateinamen*/");
    new File: Datei = fopen(string, io_write);
    if (Datei)
    {
    new string2[32];

    format(string2, sizeof(string2), "Wert=%d",/* Hier dann was anstelle von %d eingesetzt werden soll z.B 4*/);
    fwrite(Datei, string2);


    }




    MfG Leonid4s

    Filterscript wird schwierig weil du diese PlayerInfo sahce nur im Gamemode ist.
    Mach das mal in den Gamemode.
    Ansonsten musst du das PlayerInfo in dem Filterscript neu erstellen und auslese:

    enum Info
    {
    pMember,
    pFraktion


    };
    PlayerInfo[MAX_PLAYERS][Info];



    Und dann halt die Fraktionsdaten aus der Inidatei auslesen.
    Ich würd das aber in den Gamemode packen.

    du suchst dir am besten für jede deiner fraktionen ne id aus,spiecherst dan in der ini datei des spielers(je nachdem in welcher gang er ist) diese id und wenn du dann z.B fraktionsautos hast fragst du einfach diese id ab


    Dann speicherst du mit Dini(ich würde SII nehmen,weil Dini ist lahm) in (Beispiel) Peters ini-Datei den Wert Fraktion=1 ab(sagen wir 1 ist die Fraktionsnummer der Admins kannst du dir aber aussuchen).
    Jetz hast du ein Adminganggebiet mit Gangautos.
    Wenn Peter Jetzt in ein Auto steigen will überprüfst du ob der Wert von Fraktion dem Wert entspricht ,den du als AdminId gewählt hast.
    Also wenn der Wert Fraktion von Peter gleich 1 ist (wie in diesem Fall) darf er fahren.wenn nicht RemovePlayerFromVehicel(playerid);.


    MfG Leonid4s

    hi,
    du musst jetzt di Fraktion abfragen (ich glaub im gf ist das PayerInfo[playerid][AdminLevel]) also:



    if (strcmp(cmdtext, "/xxx", true) == 0){
    if(PlayerInfo[playerid][AdminLevel]>0)
    {
    MoveObject(admin4_gate,755.44641113281, -1383.70703125, 24.68807220459,4);
    SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Admin Gelände!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
    }
    return 1;
    }
    if (strcmp(cmdtext, "/xxx", true) == 0){
    if(PlayerInfo[playerid][AdminLevel]>0)
    {
    MoveObject(admin4_gate,755.44641113281, -1383.70703125, 12.688069343567,4);
    SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Admin Gelände!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
    }
    return 1;
    }



    wenn du kein GF hast musst du dir halt selber die FraktionId's ausdenken und selber so ne ini datei für jeden Spieler anlegen.