Kein Befehl nutzen im DM

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
  • Hey,
    ich habe mal eine Frage.
    Wenn man in einer Dm-Zone ist, soll man keine Befehle nutzen können.
    Dazu habe ich bei dem Command der nicht benutzt werden soll das hier eingefügt =

    Spoiler anzeigen
    if(DMZone[playerid] == 1) return SendClientMessage(playerid,COLOR_RED, "Benutz /exitdm um den Befehl zu nutzen.");

    und bei der DM Zone das hier
    Spoiler anzeigen
    DMZone[playerid] = 1;

    Alles funktioniert soweit, aber auch wenn ich nicht in einer DM Zone bin steht das ich /exitdm eingeben soll.
    Daher meine Frage: Wieso ?


    MfG
    Ed_Hardy
    Ps. Ich hatte das mal in einem Thema gefunden, aber finde es nicht mehr...
    Wäre echt gut wenn ihr mir helfen könnt.

  • Spoiler anzeigen
    [hide] if (strcmp("/exitdm", cmdtext, true) == 0)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, 1041.2393,-1036.4368,31.7359);
    SendClientMessage(playerid, COLOR_BLUE, "Du hast das Deathmatch verlassen.");
    ResetPlayerWeapons(playerid);
    return 1;
    }[/hide]

    Ist eigentlich nur ein Teleport wenn man /exitdm eingibt, weiter hab ich noch nix ?

  • if (strcmp("/exitdm", cmdtext, true) == 0)
    {
    DMZone[playerid] = 0;
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, 1041.2393,-1036.4368,31.7359);
    SendClientMessage(playerid, COLOR_BLUE, "Du hast das Deathmatch verlassen.");
    ResetPlayerWeapons(playerid);
    return 1;
    }

  • DMZone[playerid] = 0; //= er ist nicht im dm
    DMZone[playerid] = 1; //= er ist im dm


    if(DMZone[playerid] == /*0 oder 1 */) {
    //funktion
    }else{ // wenn er nicht im if ist
    //funktion
    }

  • Ich habe das jetzt so gemacht.

    Spoiler anzeigen
    if(DMZone[playerid] = 1)
    {
    SendClientMessage(playerid,yellow,"Du bist in keinem DM");
    return 1;
    }

    Aber wenn ich dann im DM bin geht /exitdm auch nicht ? + warning beim Compilen
    Spoiler anzeigen
    H:\Dokumente und Einstellungen\Ed_hardy\Desktop\[SeS]Stunt-EvER\gamemodes\SesStunt.pwn(1021) : warning 211: possibly unintended assignment
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    1 Warning.

  • Sende mal /exitdm und /dm und der cmd der nicht gehn soll wenn er in dm ist

  • /exitdm

    Spoiler anzeigen
    if (strcmp("/exitdm", cmdtext, true) == 0)
    {
    if(DMZone[playerid] = 1)
    {
    SendClientMessage(playerid,yellow,"Du bist in keinem DM");
    return 1;
    }
    DMZone[playerid] = 0;
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, 1041.2393,-1036.4368,31.7359);
    SendClientMessage(playerid, COLOR_BLUE, "Du hast das Deathmatch verlassen.");
    ResetPlayerWeapons(playerid);

    Spoiler anzeigen
    return 1;
    }


    /2edm

    Spoiler anzeigen
    if (strcmp("/2edm", cmdtext, true) == 0)
    {
    DMZone[playerid] = 1;
    SetPlayerPos(playerid, -0.4912,-3383.6975,17.0448);//hier kommt das hin wo die hin sollen ;)
    GivePlayerWeapon(playerid, 16, 999); //Waffen die 24 ist die ID und das 999 die kugeln
    GivePlayerWeapon(playerid, 31, 999);// hier ist das auch so
    GivePlayerWeapon(playerid, 34, 999);// hier ist das auch so
    SetPlayerFacingAngle(playerid, 360);
    SendClientMessage(playerid, COLOR_BLUE, "Willkommen beim 2 Etagen Death-Match");
    SetPlayerInterior(playerid, 0);
    spawntimer = SetTimerEx("spawntime",4000,0,"d",playerid);
    TogglePlayerControllable(playerid,0);
    GameTextForPlayer(playerid, "~g~Map wird geladen bitte warten!", 4000, 4);
    return 1;
    }


    z.B /sfpark

    Spoiler anzeigen
    if (strcmp("/sfpark", cmdtext, true) == 0)
    {
    if(DMZone[playerid] == 1) return SendClientMessage(playerid,COLOR_RED, "Benutz /exitdm um den Befehl zu nutzen.");
    new tmpcar = GetPlayerVehicleID(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, -2679.3127,1349.2620,16.9978);
    SetVehiclePos(tmpcar, -2679.3127,1349.2620,16.9978);
    SendClientMessage(playerid, COLOR_BLUE, "Du bist nun im San Firero Stunt Park");
    PutPlayerInVehicle(playerid,tmpcar,0);
    spawntimer = SetTimerEx("spawntime",3000,0,"d",playerid);
    TogglePlayerControllable(playerid,0);
    GameTextForPlayer(playerid, "~g~Map wird geladen bitte warten!", 3000, 4);
    ResetPlayerWeapons(playerid);

    Spoiler anzeigen
    return 1;
    }


    MFG
    Ed_Hardy

  • if (strcmp("/exitdm", cmdtext, true) == 0)
    {
    if(DMZone[playerid] = 1)
    {
    SendClientMessage(playerid,yellow,"Du bist in keinem DM");


    }else{
    DMZone[playerid] = 0;
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, 1041.2393,-1036.4368,31.7359);
    SendClientMessage(playerid, COLOR_BLUE, "Du hast das Deathmatch verlassen.");
    ResetPlayerWeapons(playerid);
    }
    return 1;
    }


    if (strcmp("/sfpark", cmdtext, true) == 0)
    {
    if(DMZone[playerid] == 1) {
    SendClientMessage(playerid,COLOR_RED, "Benutz /exitdm um den Befehl zu nutzen.");
    }else {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, -2679.3127,1349.2620,16.9978);
    SetVehiclePos(tmpcar, -2679.3127,1349.2620,16.9978);
    SendClientMessage(playerid, COLOR_BLUE, "Du bist nun im San Firero Stunt Park");
    PutPlayerInVehicle(playerid,tmpcar,0);
    spawntimer = SetTimerEx("spawntime",3000,0,"d",playerid);
    TogglePlayerControllable(playerid,0);
    GameTextForPlayer(playerid, "~g~Map wird geladen bitte warten!", 3000, 4);
    ResetPlayerWeapons(playerid);
    }
    return 1;
    }

  • Also ich will das ja so haben das bei /sfpark man den Befehl /exitdm nicht nutzen kann da er ja nicht in einem DM ist.
    Dein Code funktioniert zwar, bekomme aber immer noch die Warnung.
    Bei /sfpark funktioniert das mit " Du bist in keinem DM " wenn ich /exitdm eingegeben habe.
    Aber bei /2edm steht dann auch du bist in keinem DM ??


    MfG
    Ed_Hardy

  • ups vergessen
    if (strcmp("/2edm", cmdtext, true) == 0)
    {
    if(DMZone[playerid] == 1){
    SetPlayerPos(playerid, -0.4912,-3383.6975,17.0448);//hier kommt das hin wo die hin sollen ;)
    GivePlayerWeapon(playerid, 16, 999); //Waffen die 24 ist die ID und das 999 die kugeln
    GivePlayerWeapon(playerid, 31, 999);// hier ist das auch so
    GivePlayerWeapon(playerid, 34, 999);// hier ist das auch so
    SetPlayerFacingAngle(playerid, 360);
    SendClientMessage(playerid, COLOR_BLUE, "Willkommen beim 2 Etagen Death-Match");
    SetPlayerInterior(playerid, 0);
    spawntimer = SetTimerEx("spawntime",4000,0,"d",playerid);
    TogglePlayerControllable(playerid,0);
    GameTextForPlayer(playerid, "~g~Map wird geladen bitte warten!", 4000, 4);
    } else{
    SendClientMessage(playerid,yellow,"Du bist in keinem DM");
    }
    return 1;
    }

  • Hmm,
    wenn ich bei /2edm bin und den Befehl /exitdm eingebe steht da immernoch das ich in keinem DM bin ??
    Die Warnung ist immer noch da .. =

    Spoiler anzeigen
    H:\Dokumente und Einstellungen\Michael\Desktop\[SeS]Stunt-EvER\gamemodes\SesStunt.pwn(1023) : warning 211: possibly unintended assignment
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    1 Warning.

  • mach aus der 1 ein 0 undposte mal die zeile wo des scheiß is

  • mach das:
    if(DMZone[playerid] = 1)
    in
    if(DMZone[playerid] == 1)


    und die 0 wieder in die 1