Gibt formatierten String aus anstatt Umwandlung

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
  • Hi,
    bin immer noch beim Ranknamen. :D


    Also:
    format(str2, sizeof(str2), "FFeature[%d][Rank%d]", Spieler[x][Fraktion], Spieler[x][FraktionRank]);
    Lasse ich das jetzt ausgeben gibt er bspw.: "FFeature[2][Rank4]" aus, was auch richtig ist, aber er soll das eigtl. mit dem Auszug aus der Datenbank ersetzen, er lädt die Ranknamen, aber fügt die nicht richtig ein:
    format(str2, sizeof(str2), "FFeature[%d][Rank%d]", Spieler[x][Fraktion], Spieler[x][FraktionRank]);
    format(str, sizeof(str), "%s %s\n", str2, GetName(x));


    MfG.

    Einmal editiert, zuletzt von TutNichts ()

  • LoL, machst du es so umständlich??
    ocmd:f(playerid,params[])
    {
    new text[128], string[128], rangname[64];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,Grau,"Benutze: /f [Text]");
    if(GetPVarInt(playerid,"Fraktion") == 1)
    {
    switch(GetPVarInt(playerid,"Rang"))
    {
    case 1:{rangname="Geheim Agent";}
    case 2:{rangname="Top Agent";}
    case 3:{rangname="Special Agent";}
    case 4:{rangname="FBI Ausbilder";}
    case 5:{rangname="FBI Vize-Präsident";}
    case 6:{rangname="FBI Präsident";}
    }
    }
    if(GetPVarInt(playerid,"Fraktion") == 3)
    {
    switch(GetPVarInt(playerid,"Rang"))
    {
    case 1:{rangname="Diener";}
    case 2:{rangname="Bomben - Leger";}
    case 3:{rangname="Himmelsführer";}
    case 4:{rangname="Himmelswache";}
    case 5:{rangname="Mentalist";}
    case 6:{rangname="Meister";}
    }
    }
    if(GetPVarInt(playerid,"Fraktion") == 2)
    {
    switch(GetPVarInt(playerid,"Rang"))
    {
    case 1:{rangname="Anfänger";}
    case 2:{rangname="Auszubildener";}
    case 3:{rangname="Ausbilder";}
    case 4:{rangname="Techniker";}
    case 5:{rangname="Leitender Assistand";}
    case 6:{rangname="Leiter";}
    }
    }
    if(GetPVarInt(playerid,"Fraktion") == 4)
    {
    switch(GetPVarInt(playerid,"Rang"))
    {
    case 1:{rangname="Quarter";}
    case 2:{rangname="Nostra";}
    case 3:{rangname="Nokatia";}
    case 4:{rangname="Hidera";}
    case 5:{rangname="Musta";}
    case 6:{rangname="Padre";}
    }
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
    {
    format(string,sizeof(string),"%s %s: %s",rangname,SpielerName(playerid),text);
    SendClientMessage(i,Hellblau,string);
    }
    }
    }
    return 1;
    }

    Einorndnen kanste ja selber :)

  • Sie werden bei Gamemodeinit übergeben:
    format(FFeatures[spawns][Rank1], MAX_RANK_LENGH, mysql_GetString("Fraktionsraenge", "Rank1", "FraktionsID", str4));
    format(FFeatures[spawns][Rank2], MAX_RANK_LENGH, mysql_GetString("Fraktionsraenge", "Rank2", "FraktionsID", str4));
    format(FFeatures[spawns][Rank3], MAX_RANK_LENGH, mysql_GetString("Fraktionsraenge", "Rank3", "FraktionsID", str4));
    format(FFeatures[spawns][Rank4], MAX_RANK_LENGH, mysql_GetString("Fraktionsraenge", "Rank4", "FraktionsID", str4));
    format(FFeatures[spawns][Rank5], MAX_RANK_LENGH, mysql_GetString("Fraktionsraenge", "Rank5", "FraktionsID", str4));
    format(FFeatures[spawns][Rank6], MAX_RANK_LENGH, mysql_GetString("Fraktionsraenge", "Rank6", "FraktionsID", str4));
    format(FFeatures[spawns][Rank7], MAX_RANK_LENGH, mysql_GetString("Fraktionsraenge", "Rank7", "FraktionsID", str4));
    format(FFeatures[spawns][Rank8], MAX_RANK_LENGH, mysql_GetString("Fraktionsraenge", "Rank8", "FraktionsID", str4));

    #EDIT: Code & Kommentar: Er lädt die ja auch richtig, aber bei dem formatieren bzw. abfragen des Ranknamens vom User scheiterts
    #EDIT2:
    Habe mal die Variante von warstar14 genommen:
    Sollte doch gar nicht so falsch sein, oder?:
    //oben vom Stock:
    new Ranknamex[50],
    FactionFromPlayer = Spieler[playerid][Fraktion];
    //Mittedrin mal rausgefischt
    case 2:
    Ranknamex = FFeatures[FactionFromPlayer][Rank2];

    2 Mal editiert, zuletzt von TutNichts ()