Dynamic Fraktions System

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
  • Guten Tag,


    Wie bekomme ich hier herraus welche fraktion ich grade bearbeiten möchte hier mal der teil wo der Dialog angezeigt wird.


    Vielen dank im vorraus


    MfG.
    NoWay 8)


  • for(new i=1;i<MAX_Fraktionen;i++) {
    if(fI[i][f_created] == false)continue
    format(string, 258, "%s%i\t%s\t$%i\n",string, fI[i][f_ID], fI[i][f_Name], fI[i][f_Depot]);
    }


    Die Schleife geht durch und ruft alle Fraktionen auf.


    Dann wählst du ingame im Dialog die ID.


    Mehr transparents zu der Community!
    Aber bitte künftig: Transparenz und nicht Transparents

  • Du weisst schon das listitem bei 0 anfängt und die FraktionsID bei 1?


    Und meine Frage war wie ich beim Listitem die Fraktions ID bekomme?

  • Du weißt schon dass man anhand deines einzeiligen Beitrages deine Frage nicht genau erkennen weil.
    Wie auch immer, so wie ich das jetzt verstanden habe willst du anhand des listitems die Fraktions ID zuweisen.
    Das ist der falsche Ansatz.
    Du wirst doch sicher im Dialog selbst (du verwendest scheinbar listitem) einen Franktionsnamen oder eine Fraktions ID anzeigen.
    Also Beispiel:


    Du hast einen Dialog, da kann man 10 verschiedene Fraktionen (die Anzahl ist egal) auswählen.


    Die einfachste Methode wäre wohl im Namen der Fraktionen (also der "Text" bei ShowPlayerDialog dessen param info[] ist)
    die FranktionsID anzugeben und dann wenn der Spieler im Dialog diese Fraktionen auswählt per inputtext und schleife abzugleichen ob die ID x übereinstimmt und wenn ja dann y.

  • Hey im dialog halt einfach so amchen
    Also so amch ich das immer

    case _Fraktionen_Main_Edit: {
    if(response)
    {
    strdel(inputtext,0,strfind(inputtext,"[")+1);
    strdel(inputtext,strfind(inputtext,"]"),strlen(inputtext));
    new id = strval(inputtext);
    for(new i=1;i<MAX_Fraktionen;i++)
    {
    if(fI[i][f_ID] == id)
    {
    //nun ist i das was du bearbeitest
    return 1;
    }
    }
    SendClientMessage(playerid,-1,"Error: Id fehlerhaft");
    }

    }