Beiträge von KinGRaPTiiC

    Guten Abend Breadfishler,


    Ich habe ein Problem mit dem /r chat der Code:


    dcmd_r(playerid,params[])
    {
    print("Befehl aufgerufen.");
    if(IstSpielerInFraktion(playerid, 0))return SendClientMessage(playerid,ROT,"Du bist in keiner Fraktion.");
    new string[145];
    if(sscanf(params, "s", string)) return SendClientMessage(playerid,GELB,"INFO: /r [Nachicht]");
    new fID = sSpieler[playerid][Fraktion];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(string,sizeof(string), "**(( %s: %s ))**", name, string);
    print(string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(!IstSpielerInFraktion(i, fID))continue;
    SendClientMessage(i,RCHAT, string);
    }
    return 1;
    }


    So ich habe schon vieles ausprobiert aber entweder kriege ich immer Warnings ;(


    Ich würde es gerne machen das man den Frakchat nur von Fraktion 1-2 Nutzbar machen und das man den jeweiligen Chat nur sieht wenn er in Fraktion 1 ist z.B Fraktion 1 kann nur mit Fraktion 1 reden und Fraktion 2 kann nur mit Fraktion 2 reden


    Vielen Dank im vorraus!

    Morgen Breadfishler,


    Ich habe ein Problem mit meinem Bot er Connected und ~30sec Später disconnected er einfach...


    [04:38:55] [npc:join] BOT0 has joined the server (0:127.0.0.1)
    [04:39:09] [npc:part] BOT0 has left the server (0:0)


    -Ich habe Max. 10 Bots in der Server.cfg eingetragen


    Hier einfach mal der ganze NPC kram:
    Unter OnPlayerConnect:
    if(IsPlayerNPC(playerid)) return 1;


    Unter OnPlayerRequestClass
    if(IsPlayerNPC(playerid)) return 1;
    bei den anderen Includes:
    #include <a_npc>
    Unter OnGameModeInit:
    ConnectNPC("BOT0","bot0rec");


    public OnPlayerDisconnect(playerid, reason)
    {
    //NPC/Bot Abfrage Disc.
    if(IsPlayerNPC(playerid)) return 1;
    SpielerSpeichern(playerid);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    //NPC Skin Setzung
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,botname,sizeof(botname));
    if(!strcmp(botname,"BOT0",true))
    {
    SetPlayerSkin(playerid,1);
    }
    }
    //NPC/Bot Abfrage Spawn.
    if(IsPlayerNPC(playerid)) return 1;
    SetPlayerPos(playerid,385.5036,-1818.1259,7.8410);
    if(sSpieler[playerid][Gangjailticket] == 1)
    {
    SetPlayerPos(playerid,215.5774,-229.2976,1.7786);
    }
    return 1;
    }


    Ich habe auch den bot0rec in den recordings Ordner getan


    PS: falls ich etwas vergessen habe einfach bescheid sagen :)


    Vielen Dank im vorraus! :)

    if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    new String[128];
    if(IsPlayerConnected(playerid))
    {
    format(String, sizeof(String), "Name: %s\nBargeld: %d$\nBankguthaben: %d$", sSpieler, Bargeld, Bankguthaben); //2617
    ShowPlayerDialog(playerid, STATS, DIALOG_STYLE_MSGBOX, "Stats", String, "Okay", "");
    }
    return 1;
    }



    Bekomme diese Warnings:
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2617) : warning 213: tag mismatch
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2617) : warning 213: tag mismatch


    PS: Alter habe ich entfernt da ich das noch nirgendwo angegeben habe das er sein Alter eingeben soll

    Guten Tag Breadfishler,


    Mein /stats Befehl sieht mittlerweile so aus:


    if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new string[128]
    ShowPlayerDialog(playerid, STATS, DIALOG_STYLE_MSGBOX, "Stats", "Name\nAlter\nBargeld\nBankguthaben", "Okay", "");
    }
    return 1;
    }


    Wie lass ich nun z.B Bargeld u. Bankguthaben in einem String anzeigen den string hab ich zwar schon erstellt nur weiß ich nun nicht wie ich das Hinkriege das es halt so angezeigt wird
    Bargeld: %d
    Bankguthaben: %d


    Alter habe ich leider noch nirgendwo erstellen lassen können deshalb reicht Bankguthaben und Bargeld erstmal aus ^^


    Vielen Dank im Vorraus! :)

    Nabend Breadfishler,



    Ich bin grade dabei mir das Tutorial von NemesusTV anzuschauen bzgl. Paydaysystem, nun ist es so das er das Video total gefailt hat und man nicht wirklich sieht wie er es macht bis jetzt,


    bin ich so weit:


    Mein SpielerDaten enum:
    enum Spielerdaten
    {
    Adminlevel,
    Suplvl,
    level,
    Fraktion,
    slogin,
    Rang,
    PaydayZeit
    };



    public Paydaycheck();
    forward Paydaycheck()
    { //3248
    for(new i=0; i=<MAX_PLAYERS; i++) //3249
    {
    if(sSpieler[i][PaydayZeit] < 60) //3251
    {
    sSpieler[i][PaydayZeit] ++;
    }
    }




    Und bekomme Diese errors:
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3248) : error 001: expected token: ";", but found "{"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3249) : error 010: invalid function or declaration
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3251) : error 010: invalid function or declaration



    Ich habe leider keine Ahnung was ich noch machen muss...


    Vielen Dank im vorraus! :)

    Ich verstehe nicht wieso es immer noch nicht klappt.....


    /edit Nochmal´s vielen Dank für deine Hilfe ich hab es nun gefixxt habe einfach meinen alten setfraktion´s Befehl benutzt und man kann jetzt mit 3,4,5,6


    /gangjail machen und mit 0,1,2 geht es nicht so meine letzte frage an dich wäre noch:


    Also ihm wird ja Gangjailticket 1, so wenn er sich nun Ausloggen würde wäre es wieder bei 0 diese Funktion habe ich mal raus gelassen das mit OnPlayerDisconnect (das es sich auf 0 setzt), so nun will ich das wenn er "Reloggt" das er dort wieder spawnt müsste ich es dann so machen?


    Unter OnPlayerRequestClass


    dies soll einfach nur ein Grobes beispiel sein!:



    if(Gangjailticket =1;
    {
    SetPlayerPos(playerid,X,Y,Z);
    SendClientMessage(playerid,ROT,"Da du im Gangjail (frachtiert :D) wurdest spawnst du hier!");
    SendClientMessage(playerid,ROT,"Versuche dir Hilfe zu holen");
    return 1;
    }


    Vielen Dank im vorraus!! :)


    @robbi2304

    Also nochmal alles von neu :D :


    Habe jetzt diesen Befehl:
    ocmd:gangjail(playerid, params[])
    {
    new pID, Level, string[100], playername[64];
    if(sSpieler[playerid][Fraktion] >= 3 || sSpieler[playerid][Fraktion] <= 6)
    {
    if(IsPlayerInRangeOfPoint(playerid,4.0,204.48158, -235.56549, 0.56437)) return SendClientMessage(playerid,ROT,"Du bist nicht mein Gangjail!");
    if(sscanf(params, "ud", pID, Level)) return SendClientMessage(playerid,GELB, "Tippe: /gangjail [Spielername / ID]");
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "* %s hat dich ins Gangjail gesteckt!", playername);
    SendClientMessage(pID, ROT, string);
    GetPlayerName(pID, playername, sizeof(playername));
    format(string, sizeof(string), "* Du hast den Spieler %s ins Gangjail gesteckt!", playername);
    SendClientMessage(playerid, GELB, string);
    Gangjailticket[pID] = 1;
    }
    else
    {
    return SendClientMessage(playerid,ROT,"Du bist in keiner Gang/Mafia");
    }
    return 1;
    }


    das ist der setfraktion befehl:
    dcmd_setfraktion(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid, 5)) return SendClientMessage(playerid,ROT,"Du bist kein Administator!");
    new pid, frakid, string[145], name[MAX_PLAYER_NAME];
    if(sscanf(params,"ud",pid,frakid)) return SendClientMessage(playerid,GELB,"Verwendung : /setfraktion [ID][Fraktions ID]");
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,ROT,"Ungültiger Spieler");
    if(IstSpielerInFraktion(pid,frakid)) return SendClientMessage(playerid,ROT,"Der Spieler ist bereits in der Fraktion");
    if(frakid == sSpieler[playerid][Fraktion]) return SendClientMessage(playerid,ROT,"Dieser Spieler ist schon in der Fraktion");//2889
    sSpieler[pid][Fraktion] = frakid;
    GetPlayerName(pid, name, MAX_PLAYER_NAME);
    format(string, sizeof(string), "Du hast dem Spieler %s (ID: %d) die Fraktion %s zugewiesen.", name, playerid, fInfo[frakid][f_name]);
    SendClientMessage(playerid,HELLBLAU,string);
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(string, sizeof(string), "Du wurdest der Fraktion %s von %s zugewiesen!", fInfo[frakid][f_name], name);
    SendClientMessage(pid,HELLBLAU,string);
    return 1;
    }


    -Ich bin z.B Zivilist und kann trotzdem /gangjail 0 z.B eingeben muss aber aus irgendeinem grund /gangjail 0 0 eingeben


    -Ich kann /setfraktion 0 1,2,3,4,5,6 machen aber z.B wenn ich Fraktion 6 bin kann ich nicht 5,4,3,2,1,0 sein und das selbe mit allen anderen Fraktionen

    Hoffe das ist der aller letzte Error :DDD :
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2889) : error 033: array must be indexed (variable "fInfo")



    dcmd_setfraktion(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid, 5)) return SendClientMessage(playerid,ROT,"Du bist kein Administator!");
    new pid, frakid, string[145], name[MAX_PLAYER_NAME];
    if(sscanf(params,"ud",pid,frakid)) return SendClientMessage(playerid,GELB,"Verwendung : /setfraktion [ID][Fraktions ID]");
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,ROT,"Ungültiger Spieler");
    if(IstSpielerInFraktion(pid,frakid)) return SendClientMessage(playerid,ROT,"Der Spieler ist bereits in der Fraktion");
    if(frakid == sSpieler[playerid][fInfo]) return SendClientMessage(playerid,ROT,"Dieser Spieler ist schon in der Fraktion");//2889
    sSpieler[pid][Fraktion] = frakid;
    GetPlayerName(pid, name, MAX_PLAYER_NAME);
    format(string, sizeof(string), "Du hast dem Spieler %s (ID: %d) die Fraktion %s zugewiesen.", name, playerid, fInfo[frakid][f_name]);
    SendClientMessage(playerid,HELLBLAU,string);
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(string, sizeof(string), "Du wurdest der Fraktion %s von %s zugewiesen!", fInfo[frakid][f_name], name);
    SendClientMessage(pid,HELLBLAU,string);
    return 1;
    }


    Danke für die ganze Hilfe @robbi2304 und an alle anderen!