Frage: Befehle nur an manchen orten erlauben.

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,
    Ich hab ne Frage ich möchte das wenn man sich bei /dm1 aufhällt nicht woanders hinporten kann ohne das man vorher /exit gemacht hat.
    Also was muss ich einfügen dass man /dm1 nur mit /exit verlassen kann

  • Ganz oben im Script:
    new bool:IsInDm1;


    Im Befehl:


    if(IsInDm1 == true)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist bereits in DM1!");
    }else{
    // HIER DEIN RESTLICHER BEFEHL
    IsInDm1 = true;
    }


    Im Exit Befehl:



    if(IsInDm1 == false)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist nicht in DM1!");
    }else{
    // HIER DEIN RESTLICHER BEFEHL
    IsInDm1 = false;
    }


    EDIT:
    Code überarbeitet

    Einmal editiert, zuletzt von GooMan ()

  • Versuch es anders:



    Ganz oben Irgendwo:


    new DM1Zone = 0;



    if(strcmp(cmdtext,"/DM1",true) == 0)
    {
    if(DM1Zone == 1)
    {
    SendClientMessage(playerid,COLOR,"Du bist bereits in der DM Zone");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR,"Willkommen in der DM Zone");
    SetPlayerPos(playerid,x,y,z);
    DM1Zone = 1;
    // Wenn du was brauchst dan hier noch rein.
    return 1;
    }
    }


    Dannach command nummero 2


    if(strcmp(cmdtext,"/exit",true) == 0)
    {
    if(DM1Zone == 0)
    {
    // SendClientMessaeg(playerid,COLOR,"Du bist nicht in der DM1 Zone");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR,"Du bist aus der DM1 Zone rausgegangen");
    DM1Zone = 0;
    SetPlayerPos(playerid,x,y,z);
    //Wenn du noch was brauchst hier rein.
    return 1;
    }
    }


    Ich hoffe ich konnte dir helfen :D

  • Also so siehst aus aber da kommt immer error:


    Das die /dm1:
    if(strcmp(strget(cmdtext,0), "/dm1", true) ==0)
    {
    if(IsInDm1 == true)
    {
    SendClientMessage(playerid, COLOR_WHITE,"Du bist bereits in DM1!");
    }else{
    SetPlayerPos(playerid, -756.6650,2068.8547,60.3617);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    GivePlayerWeapon(playerid, 24, 999);
    GivePlayerWeapon(playerid, 31, 999);
    GivePlayerWeapon(playerid, 33, 999);
    SendClientMessage(playerid, COLOR_RED, "Du hast Dm1 betreten. Benutze /exit um es zu verlassen.");
    IsInDm1 = true;
    }
    return 1;
    }
    die /exit:
    if(strcmp(strget(cmdtext,0), "/exit", true) ==0)
    {
    SetPlayerPos(playerid, 345.9912,2391.9768,25.2188);
    ResetPlayerWeapons(playerid);
    SetPlayerArmour(playerid, 0);
    SendClientMessage(playerid, COLOR_RED, "Du hast ein DM verlassen");
    IsInDm1 = false;
    }
    return 1;
    }


    Der Error:
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(565) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(567) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(570) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(574) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(578) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(580) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(583) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(588) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(591) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(593) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(596) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(601) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(604) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(606) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(609) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(614) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(617) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(619) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(622) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(627) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(630) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(632) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(635) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(645) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(648) : error 010: invalid function or declaration
    C:\Users\Julius H\Desktop\server\gamemodes\Dmserver1.pwn(650) : error 010: invalid function or declaration


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    26 Errors.

    Einmal editiert, zuletzt von Sagaking ()

  • new bool:IsInDm1[MAX_PLAYERS]; // Es muss für jeden Spieler eine eigene Variable erstellt werden
    und statt
    if(IsInDm1[playerid] == true)

    ginge
    if(IsInDm1[playerid])
    auch, das returnt nämlich auch true ;)



  • Den hier!