Gangjail Befehl mit OCMD

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
  • 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

  • Probiers mal so kann sein das es doch konflikte bei der Abfrage gibt



    ocmd:gangjail(playerid, params[])
    {
    new pID, Level, string[100], playername[64];
    if(sSpieler[playerid][Fraktion] >= 3)
    {
    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;
    }


    Und es war nicht die Ansage gewesen das wenn der Spieler in einer Fraktion ist, das er dann keine neu gesetzt bekommt. Aber Gut auch das kriegen wir schnell hin



    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(sSpieler[playerid][Fraktion]>=0) 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 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

    2 Mal editiert, zuletzt von KinGRaPTiiC ()

  • Seit ihr blind ? :D



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


    Du musst das ganze speichern wenn Er nachdem relogg im Gangjail landen soll.