Beiträge von The Sensei

    Danke dafür das hat mir geholfen. Ich erstelle bloß gerade ein Fraktionscreate System per Dialog.
    Soll ich dann immer das:
    new i = GetFreeFrakID()if(i == -1) return SendClientMessage(playerid,-1,"* Es wurden bereits 25 Fraktionen erstellt!");
    Einfügen? Kommt dann auch immer die Selbe ID. Oder hast du vielleicht eine andere Idee.



    //e @Kaliber


    Ich habe das Problem, das er einfach die Id´s weiterzählt.
    Das soll er ja nicht er soll ja eine Fraktion mit einer ID ausstatten.


    Bisheriger Code:


    new i = GetFreeFrakID();
    if(i == -1) return SendClientMessage(playerid,-1,"* Es wurden bereits 25 Fraktionen erstellt!");
    if(dialogid==DIALOG_CREATEFRACTION)
    {
    if(response)
    {
    ShowPlayerDialog(playerid, DIALOG_CREATEFRACTION_NAME, DIALOG_STYLE_INPUT, "Fraktionserstellsystem by {FF7700}Ryan_Walton{FFFFFF}", "Sie können nun den Namen für die Fraktion festlegen.", "Weiter","Abbrechen");
    }
    else
    {
    SCM(playerid,COLOR_GREY,"Abgebrochen");
    }
    return 1;
    }
    //STEP 2
    if(dialogid==DIALOG_CREATEFRACTION_NAME)
    {
    new string[256];
    if(response)
    {
    format(string,sizeof(string),"%s",inputtext);
    format(cfrak_info[i][f_name],128, string);
    cfrak_info[i][f_id] = i;
    format(string,sizeof(string),"Sie erstellen die Fraktion: {FF7700}%s(ID: %d){FFFFFF}", cfrak_info[i][f_name],cfrak_info[i][f_id]);
    SCM(playerid,COLOR_YELLOW,string);
    ShowPlayerDialog(playerid, DIALOG_CREATEFRACTION_CATERGORIE, DIALOG_STYLE_LIST, "Fraktionserstellsystem by {FF7700}Ryan_Walton{FFFFFF}", "Behörde\nNeutrale Fraktion\nGang/Mafia", "Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_CREATEFRACTION_NAME, DIALOG_STYLE_INPUT, "Fraktionserstellsystem by {FF7700}Ryan_Walton{FFFFFF}", "Sie können nun einen Namen für die Fraktion auswählen", "Weiter","Abbrechen");
    }
    }


    Keine Warnings ETC.

    Ok, so ganz hab ich das nicht verstanden.
    Ich habe auch ein Problem mit meinem Enum. Es ist ja 2dimensional und ich weiß nicht was ich in die 2 Spalte eintragen soll ^^
    enum cfrakEnum{
    f_name[128],
    f_catergorie,
    f_enterpoint_x,
    f_enterpoint_y,
    f_enterpoint_z,
    f_spawnpoint_x,
    f_spawnpoint_y,
    f_spawnpoint_z,
    f_dutypoint_x,
    f_dutypoint_y,
    f_dutypoint_z,
    f_equippoint_x,
    f_equippoint_y,
    f_equippoint_z,
    f_arrestpoint_x,
    f_arrestpoint_y,
    f_arrestpoint_z,
    f_exitpoint_x,
    f_exitpoint_y,
    f_exitpoint_z,
    f_interior,
    f_world
    }
    new cfrak_info[25][cfrakEnum];


    Vielleicht kannst du mir anhand meines Enums eine bessere Beschreibung deiner Lösung geben.

    Hey,


    warum funktioniert das nicht?:

    format(string,sizeof(string),"%s",inputtext);
    cfrak_info[23][f_name] = string;
    format(string,sizeof(string),"Sie erstellen die Fraktion {FF7700}%s{FFFFFF}", cfrak_info[23][f_name]);
    SCM(playerid,COLOR_YELLOW,string);


    Code
    error 047: array sizes do not match, or destination array is too small

    Kann mir einer sagen warum das:
    format(string,sizeof(string),"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s",fInfo[pInfo[playerid][pFraction]][f_rank0],fInfo[pInfo[playerid][pFraction]][f_rank1],fInfo[pInfo[playerid][pFraction]][f_rank2],fInfo[pInfo[playerid][pFraction]][f_rank3],
    fInfo[pInfo[playerid][pFraction]][f_rank4],fInfo[pInfo[playerid][pFraction]][f_rank5],fInfo[pInfo[playerid][pFraction]][f_rank6],fInfo[pInfo[playerid][pFraction]][f_rank7]);
    ShowPlayerDialog(playerid, DIALOG_FSETTINGS_SETTINGS_RANKNAMES_OVERVIEW, DIALOG_STYLE_LIST, "Einstellungen", string, "","Zurück");


    Nicht funktioniert er zeigt mir den Dialog an doch ohne irgendwas drin.

    Könntest du mir anhand diesem hier erklären wie ich zum Beispiel wenn ich ein Event starte. Den Namen ändern lassen kann?
    //Oben im Skript
    #define SERVER_NAME_INTERVAL 500


    //Ruf folgendes unter OnGameModeInitAuf
    SetTimerEx("changeServerName", SERVER_NAME_INTERVAL, 0, "i", 0);


    //Dann iwo im Skript
    forward changeServerName(x);
    public changeServerName(x)
    {
    static const s_name[]="[RLR] RedLife Reallife";
    new tmp[8 + sizeof(s_name) + 1];
    strmid(tmp,s_name,0,x,sizeof(s_name));
    format(tmp,sizeof tmp,"hostname %s",tmp);
    SendRconCommand(tmp);
    if(x == sizeof(s_name)-1) x=-1;
    SetTimerEx("changeServerName", SERVER_NAME_INTERVAL, 0, "i", ++x);
    }

    Hey,


    bei mir wird OnPlayerSpawn aufgerufen und ich spawne in Blueberry. Er versucht mich in die Richtige Welt zusetzen schafft es aber nicht warum?
    /*
    enum fractionsEnum{
    f_id,
    f_name,
    f_spawn_x,
    f_spawn_y,
    f_spawn_z,
    f_spawn_r,
    f_interior
    }
    new fInfo[250][fractionsEnum];*/


    public OnPlayerSpawn(playerid)
    {
    if(!pInfo[playerid][pLoggedIn])return 1;
    SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
    if(pInfo[playerid][pFraction] > 0) {
    SetPlayerInterior(playerid, fInfo[pFraction][f_interior]);
    SetPlayerPos(playerid, fInfo[pFraction][f_spawn_x],fInfo[pFraction][f_spawn_y],fInfo[pFraction][f_spawn_z]);
    SetPlayerVirtualWorld(playerid, 0);
    } else {
    SetPlayerPos(playerid, 116.0559,1050.0408,13.6094);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    }
    return 1;
    }

    Hey,


    ich habe hier meine Funktion:
    forward ShowUserakte(playerid);
    public ShowUserakte(playerid)
    {
    print("Funktion aktiviert");
    new string[64], name[MAX_PLAYER_NAME], admin[MAX_PLAYER_NAME],date[40], text[256];
    if(cache_num_rows() > 0)
    {
    print("Erste Abfrage");
    for(new i;i<cache_num_rows();i++)
    {
    print("Schleife aktiviert");
    cache_get_field_content(i, "name", name,handle,MAX_PLAYER_NAME);
    cache_get_field_content(i, "admin", admin, handle,MAX_PLAYER_NAME);
    cache_get_field_content(i, "text", text, handle,256);
    cache_get_field_content(i, "date", date, handle,40);
    printf("%s hat folgende Einträge von %s -> %s am %s", name, admin, text, date);
    format(string,sizeof(string),"%s hat folgende Einträge von %s -> %s am %s", name, admin, text, date);
    SendClientMessage(playerid,-1,string);
    }
    }
    else {
    ShowPlayerDialog(playerid, DIALOG_USERAKTEMSG, DIALOG_STYLE_MSGBOX, "Userakte", "Es wurden keine Einträge gefunden.", "Ok", "");
    }
    return 1;
    }
    und hier meinen Befehl
    ocmd:userakte(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid, 1))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
    new text[128],pID, name[MAX_PLAYER_NAME];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"Tippe: /userakte [name]");
    GetPlayerName(pID, name,MAX_PLAYER_NAME);
    format(text,sizeof(text),""#info_farbe"*Die Datenbank wird nach der Userakte von '%s' durchsucht*", name);
    SendClientMessage(playerid,-1,text);
    mysql_pquery(handle, "SELECT * FROM akte WHERE name = '%s'", name, "ShowUserakte");
    printf("Userakte von %s aufrufen", name);
    return 1;
    }


    Ich bekomme keine Error´s sondern mir wird nur "Userakte von %s aufrufen" angezeigt.


    //PUSH

    Hey,


    ich habe dank @_Marvin meine Showleader Funktion fertig gestellt.
    forward Showleader();
    public Showleader()
    {
    if(!cache_num_rows())return 1;
    new string[MAX_PLAYER_NAME], fraction[64];
    cache_get_field_content(0, "name", string,handle,MAX_PLAYER_NAME);
    cache_get_field_content(0, "fraction", fraction, handle,64);
    printf("Es gibt folgende Leader '%s' -> '%s'", string, f_name[strval(fraction)]);
    return 1;
    }


    Leider wird Sie nur 1 mal aufgerufen.
    Doch ich möchte alle Namen auslesen...


    ocmd:leaders(playerid)
    {
    mysql_pquery(handle, "SELECT * FROM accounts WHERE frank = '10'", "Showleader");
    return 1;
    }

    Was meinst du mit "und MAX_PLAYER_NAME zu den Wert von fraction."?
    Meinst du vielleicht die String länge?

    @_Marvin ich habe meinen /leader Befehl mit einer schleife gemacht.
    Er geht jeden Spieler auf dem Server durch und guckt ob sein Rank 10 ist(Leaderrank).
    Doch wie gebe ich dazu die Fraktion aus.


    forward Showleader();
    public Showleader()
    {
    new string[32], fraction[32];
    cache_get_field_content(0, "name", string);
    cache_get_field_content(
    printf("Es gibt folgende Leader '%s'.", string);
    return 1;
    }


    ocmd:leaders(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new query[128];
    mysql_format(handle, query, sizeof(query), "SELECT * FROM accounts WHERE frank = '10'");
    mysql_pquery(handle, query, "Showleader");
    }
    }
    return 1;
    }


    Ich würde eine Erklärung feiern, da ich nicht immer fragen möchte sondern das auch mal lernen möchte

    Was ist daran so schwer?
    Du gehst in die Datei (Reportsystem) -> F5 -> Server.cfg -> Filterscripts Namen eintragen vom Reportsystem -> Server starten -> Spaß haben

    Junge wenn du zu Unfähig bist nach ShowPlayerDialog zu Googlen hör auf zu Scripten wenn ich das schon wieder sehe


    C:\Users\korha\Desktop\German Reality\gamemodes\German-Reality.pwn(44872) : error 017: undefined symbol "DIALOG_WELCOME"


    Und du fragst auch noch `? Sachmal gehts dir noch gut ?

    Du hast garantiert genauso angefangen. Ich übrigend´s auch ich hab auch immer gefragt, Sachen die im nachhinein einfach waren. Du brauchst nicht schreiben wenn du ihm nicht helfen willst.