Abfragen, ob er dort schon ist.

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 hab mal eine Frage.
    Arbeite gerade an einem DM Server, bin gerade auch gut dabei..
    Jedoch meine Frage: Wenn jemand z.B in /deagle ist und er wieder /deagle eingibt, wie kann ich es verweigern lassen mit einer Message: Du bist bereits in Deagle. Oder wenn es in der /dm Arena ist dann halt: Du bist bereits in der /dm arena.
    Und das ich /exit nur benutzen kann, wenn ich wirklich in einer Arena bin und ich es nicht benutzen kann, wenn ich nirgendswo bin.
    Also das es dann verweigert wird mit der Nachricht: Du bist in keiner Arena.


    Mit Freundlichen Grüßen,
    DeaZeR

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • new IstInDM[MAX_PLAYERS];


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/dmarena", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,xyz);// Halt da wo die arena ist
    IstInDm[playerid] = 1;
    return 1;
    }
    else if(IstInDm[playerid] == 1)
    {
    SendClientMessage(playerid,farbe,"Du bist schon im DM Gebiet");
    return 1;
    }
    if (strcmp("/exit", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,xyz);//Dahin wo er landet wenn er verlässt
    IstInDm[playerid]=0;
    }
    else if (IstInDm[playerid] == 0)
    {
    SendClientMessage(playerid,farbe,"Du bist nicht im DM Gebiet");
    return 1;
    }


    So würd ich es machen :D

    Einmal editiert, zuletzt von xPatrick ()

  • if (strcmp("/dm",cmdtext, true, 10) == 0)
    {
    IstInDm[playerid] = 1;
    SetPlayerInterior(playerid,10);
    new rand = random(sizeof(DMSpawn));
    SetPlayerPos(playerid,DMSpawn[rand][0],DMSpawn[rand][1],DMSpawn[rand][2]);
    SetPlayerFacingAngle(playerid,DMSpawn[rand][3]);
    GivePlayerWeapon(playerid,24,1337); //Deagle mit 1337 Schuss
    GivePlayerWeapon(playerid,25,1337); //Shotgun mit 1337 Schuss
    GivePlayerWeapon(playerid,34,1337); //Sniper mit 1337 Schuss
    return 1;
    }


    Hier geht er ins DM (oben ist es bereits definiert)


    Hier verlässt er die Arena:


    if (strcmp("/exit",cmdtext, true, 10) == 0)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,-2720.4309,-317.9237,7.8438);
    IstInDM[playerid] = 0;
    return 1;
    }


    Wo kommt die Abfrage hin?

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • if (strcmp("/exit",cmdtext, true, 10) == 0)
    {
    if(IstInDM[playerid] != 1) return SendClientMessage(playerid, 0xFF0000FF, "Error: Nicht in DM.");
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,-2720.4309,-317.9237,7.8438);
    IstInDM[playerid] = 0;
    return 1;
    }


    xPatrick: Der Code wird so nicht funktionieren, du wirst immer wenn du einen anderen Command außer /exit und /dmarena eingibst die Meldung "Du bist nicht im DM Gebiet" bekommen, und in einer DM Arena kann kein Command mehr benutzt werden, also auch nicht /exit.

  • C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(591) : error 017: undefined symbol "IstInDm"
    C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(591) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(591) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(591) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(591) : fatal error 107: too many error messages on one line


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



    4 Errors.


    if (strcmp("/dm",cmdtext, true, 10) == 0)
    {
    SetPlayerInterior(playerid,10);
    new rand = random(sizeof(DMSpawn));
    SetPlayerPos(playerid,DMSpawn[rand][0],DMSpawn[rand][1],DMSpawn[rand][2]);
    SetPlayerFacingAngle(playerid,DMSpawn[rand][3]);
    GivePlayerWeapon(playerid,24,1337); //Deagle mit 1337 Schuss
    GivePlayerWeapon(playerid,25,1337); //Shotgun mit 1337 Schuss
    GivePlayerWeapon(playerid,34,1337); //Sniper mit 1337 Schuss
    IstInDm[playerid] = 1;
    return 1;
    }


    In der Zeile: IstInDm die oben genannten Errors

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • //Includes
    #include <a_samp>
    #include <dini>
    #include <ocmd>
    new IstInDM[MAX_PLAYERS];


    f (strcmp("/dm",cmdtext, true, 10) == 0)
    {
    SetPlayerInterior(playerid,10);
    new rand = random(sizeof(DMSpawn));
    SetPlayerPos(playerid,DMSpawn[rand][0],DMSpawn[rand][1],DMSpawn[rand][2]);
    SetPlayerFacingAngle(playerid,DMSpawn[rand][3]);
    GivePlayerWeapon(playerid,24,1337); //Deagle mit 1337 Schuss
    GivePlayerWeapon(playerid,25,1337); //Shotgun mit 1337 Schuss
    GivePlayerWeapon(playerid,34,1337); //Sniper mit 1337 Schuss
    IstInDm[playerid] = 1;
    return 1;
    }
    else if(IstInDm[playerid] == 1)
    {
    SendClientMessage(playerid,farbe,"Du bist schon in der /dm Arena!");
    return 1;
    }


    if (strcmp("/exit",cmdtext, true, 10) == 0)
    {
    if(IstInDM[playerid] != 1) return SendClientMessage(playerid,GRAU,"Error: Du bist in keiner Arena.");
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,-2720.4309,-317.9237,7.8438);
    IstInDM[playerid] = 0;
    return 1;
    }


    Errors bleiben^^

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ist entfernt^^

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • Wenn mir das jemand bei der DM Arena macht, kann ich dann denke ich genauso mit den anderen Arenen, sprich /deagle, /rifle usw. :)

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • if(strcmp("/dm",cmdtext, true, 10) == 0)
    {
    if(IstInDM[playerid] == 0)
    {
    SetPlayerInterior(playerid,10);
    new rand = random(sizeof(DMSpawn));
    SetPlayerPos(playerid,DMSpawn[rand][0],DMSpawn[rand][1],DMSpawn[rand][2]);
    SetPlayerFacingAngle(playerid,DMSpawn[rand][3]);
    GivePlayerWeapon(playerid,24,1337); //Deagle mit 1337 Schuss
    GivePlayerWeapon(playerid,25,1337); //Shotgun mit 1337 Schuss
    GivePlayerWeapon(playerid,34,1337); //Sniper mit 1337 Schuss
    IstInDm[playerid] = 1;
    }
    else if(IstInDm[playerid] == 1)
    {
    SendClientMessage(playerid,farbe,"Du bist schon in der /dm Arena!");
    return 1;
    }
    return 1;
    }

  • C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(583) : error 033: array must be indexed (variable "IstInDM")
    C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(592) : error 017: undefined symbol "IstInDm"
    C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(592) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(592) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(592) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Marco\Desktop\Pawno\gamemodes\MySelfmade.pwn(592) : fatal error 107: too many error messages on one line


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



    5 Errors.

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • Hast du TeamViewer dann mach ich dir das ebend

  • hast eine pn^^

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • ocmd:l(playerid)
    {
    if(IstInDM[playerid] == 0)
    {
    SetPlayerInterior(playerid,10);
    new rand = random(sizeof(DMSpawn));
    SetPlayerPos(playerid,DMSpawn[rand][0],DMSpawn[rand][1],DMSpawn[rand][2]);
    SetPlayerFacingAngle(playerid,DMSpawn[rand][3]);
    GivePlayerWeapon(playerid,24,1337); //Deagle mit 1337 Schuss
    GivePlayerWeapon(playerid,25,1337); //Shotgun mit 1337 Schuss
    GivePlayerWeapon(playerid,34,1337); //Sniper mit 1337 Schuss
    IstInDM[playerid] = 1;
    }
    else if(IstInDM[playerid] == 1)
    {
    SendClientMessage(playerid,farbe,"Du bist schon in der /dm Arena!");
    return 1;
    }
    return 1;
    }P.S.: Guck mal bei deiner Variable IstInDM auf Groß/Klein^^