[Noch nicht gelöst] Commands Sperren

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
  • Du fragst mit einer Variable ab ob er in Der Area ist bei jedem Command wenn ja dann kann er es nicht machen wenn nein dann ja


    new InArena[MAX_PLAYERS];


    InArena[playerid] = 1; //Arena Eintritt
    InArena[playerid] = 0; //Arena Austritt


    If(InArena[playerid] == XX)



    If(InArena[playerid] == 1)


    {
    SendClientMessage(playerid,DEINEFARBE,"Hier gehen keine Commands ausser /exit");
    return 1;
    }

  • Eig. nicht man könnte es noch anders machen bei onplayercommandtext einfach eine abfrage machen ob er in arenen ist so ungefähr




    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(arena[playerid] != 1)
    {
    if(strcmp("/help",cmdtext,true)==0)
    {
    }
    u.s.w
    }
    return 0;
    }



    hoffe du kannst es nachvollziehen

  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(InArena[playerid] == 1 && strcmp("/exit", cmdtext , false) == 0) return SendClientMessage(playerid,-1,"Du kannst in der Arena keine Befehle verwenden, außer /exit");
    if (strcmp("/dm", cmdtext, true, 10) == 0)
    {
    InArena[playerid] = 1; //Arena Eintritt
    new rand = random(sizeof(RandomSpawn));
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,24,99999);
    GivePlayerWeapon(playerid,31,99999);
    GivePlayerWeapon(playerid,16,5);
    GivePlayerWeapon(playerid,34,100);
    SetPlayerArmour(playerid,100);
    SendClientMessage(playerid,-1,"Du hast die Deathmatch Arena betreten.");
    minigun[playerid] = 1;
    SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
    SetPlayerHealth(playerid,99.5);
    return 1;
    }
    if(strcmp("/exit",cmdtext,true,15) == 0)
    {
    InArena[playerid] = 0; //Arena Austritt
    ResetPlayerWeapons(playerid);
    SendClientMessage(playerid,-1,"Du hast die Deathmatch Arena verlassen.");
    minigun[playerid] = 0;
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SpawnPlayer(playerid);
    return 1;
    }
    return 0;
    }


    ingame funktioniert es nicht :((

  • exit geht nicht
    if(strcmp("/exit",cmdtext,true,15) == 0)
    {
    ResetPlayerWeapons(playerid);
    SendClientMessage(playerid,-1,"Du hast die Deathmatch Arena verlassen.");
    minigun[playerid] = 0;
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SpawnPlayer(playerid);
    InArena[playerid] = 0; //Arena Austritt
    return 1;
    }

  • vllt mal so?



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(InArena[playerid] == 1 && strcmp("/exit", cmdtext , true == 0)
    {
    }
    else
    {
    if (strcmp("/dm", cmdtext, true, 10) == 0)
    {
    InArena[playerid] = 1; //Arena Eintritt
    new rand = random(sizeof(RandomSpawn));
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,24,99999);
    GivePlayerWeapon(playerid,31,99999);
    GivePlayerWeapon(playerid,16,5);
    GivePlayerWeapon(playerid,34,100);
    SetPlayerArmour(playerid,100);
    SendClientMessage(playerid,-1,"Du hast die Deathmatch Arena betreten.");
    minigun[playerid] = 1;
    SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
    SetPlayerHealth(playerid,99.5);
    return 1;
    }
    if(strcmp("/exit",cmdtext,true,15) == 0)
    {
    InArena[playerid] = 0; //Arena Austritt
    ResetPlayerWeapons(playerid);
    SendClientMessage(playerid,-1,"Du hast die Deathmatch Arena verlassen.");
    minigun[playerid] = 0;
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SpawnPlayer(playerid);
    return 1;
    }
    }
    return 0;
    }

    Einmal editiert, zuletzt von midomen ()

  • da ist ein else drin ;) aber kein problem H4rd_B4se xD


    Alman versuche es jetzt habe ausversehen vergessen aus dem false ein true zu machen


    if(InArena[playerid] == 1 && strcmp("/exit", cmdtext , [color=#ff6600]true[/color] == 0) da war ein false

  • geht immer noch nicht warum ?
    if(InArena[playerid] == 1 && strcmp(cmdtext ,"/exit", false)) return SendClientMessage(playerid,-1,"Du kannst in der Arena keine Befehle verwenden, außer /exit");
    if (strcmp("/dm", cmdtext, true, 10) == 0)
    {
    InArena[playerid] = 1; //Arena Eintritt
    new rand = random(sizeof(RandomSpawn));
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,24,99999);
    GivePlayerWeapon(playerid,31,99999);
    GivePlayerWeapon(playerid,16,5);
    GivePlayerWeapon(playerid,34,100);
    SetPlayerArmour(playerid,100);
    SendClientMessage(playerid,-1,"Du hast die Deathmatch Arena betreten.");
    minigun[playerid] = 1;
    SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
    SetPlayerHealth(playerid,99.5);
    return 1;
    }
    if(InArena[playerid] == 1 && strcmp("/exit", cmdtext ,true)== 0)
    {
    ResetPlayerWeapons(playerid);
    SendClientMessage(playerid,-1,"Du hast die Deathmatch Arena verlassen.");
    minigun[playerid] = 0;
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SpawnPlayer(playerid);
    InArena[playerid] = 0; //Arena Austritt
    return 1;
    }