DM Zone funtzt nich ganz PLS HELP :)

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 brotfisher also mein prob. is folgendes -.-
    ich mach gradn DM/Fun GM und bin grad am befehl /deathmatch und /deathmatchoff
    zeilen:



    if(strcmp(cmdtext,"/deathmatch",true)==0)
    {
    SetPlayerPos(playerid, 107.2300,1920.6311,18.5208);
    DM[playerid] = 1;
    GivePlayerWeapon(playerid, 29, 999);
    GivePlayerWeapon(playerid, 31, 999);
    SetPlayerArmour(playerid, 100);
    SetPlayerHealth(playerid, 100.0);
    SetPlayerWorldBounds(playerid, 337.5694,101.5826,1940.9759,1798.7453); //285.3481,96.9720,1940.9755,1799.0811
    SendClientMessage(playerid, COLOR_GREEN, "Willkommen zur AREA 51");
    return 1;
    }
    if(strcmp(cmdtext,"/deathmatchoff",true)==0)
    {
    SetPlayerPos(playerid, 120.2300,1920.6311,18.5208);
    DM[playerid] = 0;
    ResetPlayerWeapons(playerid);
    SetPlayerHealth(playerid, 100.0);
    SetPlayerWorldBounds(playerid, 20000.0000,-20000.0000,20000.0000,-20000.0000);
    SendClientMessage(playerid, COLOR_GREEN, "bye bye");
    return 1;
    }
    return 0;
    }


    das funkt ja soweit DACHTE ICH -.- wenn man jetz da drinne gekillt wird spawnt man am normalen spawn und wird per world boundries wieder in die DM zone geflogn#
    also meine frage:
    wenn man stirbt (also ich hab son Status eingebaut: DM[playerid] = 0/1; ) dann spawnt man aber da nichmehr
    da hab ich das gemacht:



    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(PlayerInfo[playerid][pDM]==1)
    {
    SetPlayerPos(playerid, 107.2300,1920.6311,18.5208);
    DM[playerid] = 1;
    GivePlayerWeapon(playerid, 29, 999);
    GivePlayerWeapon(playerid, 31, 999);
    SetPlayerArmour(playerid, 100);
    SetPlayerHealth(playerid, 100.0);
    SetPlayerWorldBounds(playerid, 337.5694,101.5826,1940.9759,1798.7453); //285.3481,96.9720,1940.9755,1799.0811
    SendClientMessage(playerid, COLOR_GREEN, "Willkommen zurück");
    }
    GivePlayerMoney(killerid, 30000);
    return 1;
    }

    da hab ich gedacht man spawnt dann da wieder war aber nich so dann hab ich das gemacht:


    public OnPlayerSpawn(playerid)
    {
    if(PlayerInfo[playerid][pDM]==1)
    {
    SetPlayerPos(playerid, 107.2300,1920.6311,18.5208);
    DM[playerid] = 1;
    GivePlayerWeapon(playerid, 29, 999);
    GivePlayerWeapon(playerid, 31, 999);
    SetPlayerArmour(playerid, 100);
    SetPlayerHealth(playerid, 100.0);
    SetPlayerWorldBounds(playerid, 337.5694,101.5826,1940.9759,1798.7453); //285.3481,96.9720,1940.9755,1799.0811
    SendClientMessage(playerid, COLOR_GREEN, "Willkommen zurück");
    }


    return 1;
    }
    das funtzt aber auch nich -.- könnt ihr mir helfen?

    2 Mal editiert, zuletzt von [GTR]-_-lol-_- ()

  • Hi,


    Mach doch einfach ein neues public, das startest du bei onplayerspawn mit einem Timer z.b 3 Sekunden.
    und in dieses public machst du dein Setplayerpos rein, sodass er ebend erst bei dem normalen Spawn spawnt, dan aber in den 3 sekunden zu der Dm Arena geportet wird.
    Hoffe habe dein Problem richtig verstanden :D


    mfg ling_ling

  • ohh -.- ich guck mal obs des war.... :)


    da kommt das-.-:
    C:\DOKUME~1\Pascal\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(24) : error 021: symbol already defined: "pDM"
    C:\DOKUME~1\Pascal\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(244) : error 032: array index out of bounds (variable "PlayerInfo")
    C:\DOKUME~1\Pascal\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(247) : error 028: invalid subscript (not an array or too many subscripts): "pDM"
    C:\DOKUME~1\Pascal\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(247) : warning 215: expression has no effect
    C:\DOKUME~1\Pascal\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(247) : error 001: expected token: ";", but found "]"
    C:\DOKUME~1\Pascal\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(247) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\Pascal\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(247) : fatal error 107: too many error messages on one line


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



    6 Errors.


    so wie ichs hab wirft es weder warning noch error:
    so is das aufgebaut:


    new PlayerInfo[MAX_PLAYERS][pInfo];


    new DM[MAX_PLAYERS];


    enum pInfo
    {
    pDM,
    };


    if(PlayerInfo[playerid][pDM]==1) // die abfrage
    DM[playerid] = 1;


  • Ersetz bei OnPlayerSpawn zudem lösche den Code der Deathmatch Daten aus OnPlayerDeath, bringt nämlich wenig


    if(PlayerInfo[playerid][pDM]==1)


    gegen


    if(DM[playerid])



    Zudem würde ich Sicherungen einbauen damit der Spieler das DM nicht doppelt betreten kann


    im Kommando
    if(strcmp(cmdtext,"/deathmatchoff",true)==0)



    bau das ein
    if(!DM[playerid])return SendClientMessage(playerid,0xFF0000FF,"Du bist in keinem Deathmatch!");


    und im anderen Kommando das...


    if(DM[playerid])return SendClientMessage(playerid,0xFF0000FF,"Du bist bereits in einem Deathmatch!");

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • hmmm.... keine warning kein error :) ich tests mal thx blackFox



    EDIT: NICE BlackFox :) es funzt einwandfrei :D


    so jetz noch ne kleine frage am rande:
    wie mach ich so zufällige spawns im DM so mit mehreren positionen wo durch zufall einer ausgewählt wird

    Einmal editiert, zuletzt von [GTR]-_-lol-_- ()

  • da kommt folgendes -.- ich habs nich drauf



    new Float:DMspawns[][] = {
    {192.1223,1931.1367,17.6406,100.2426}
    {234.3555,1933.5605,25.4985,88.9624}
    {247.3800,1860.9109,14.0840,354.0941}
    {165.2771,1848.3613,25.4985,165.7063}
    {117.8007,1870.3394,17.8359,20.0284}
    };



    C:\DOKUME~1\Admin\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(26) : error 001: expected token: ";", but found "{"
    C:\DOKUME~1\Admin\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(30) : error 010: invalid function or declaration
    C:\DOKUME~1\Admin\EIGENE~1\ICQ\584972~1\RECEIV~1\338617~1\gts.pwn(598) : warning 203: symbol is never used: "DMspawns"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • jeder Eintrag muss mit einem neuen Komma beginnen


    new Float:DMspawns[][] = {
    {192.1223,1931.1367,17.6406,100.2426},
    {234.3555,1933.5605,25.4985,88.9624},
    {247.3800,1860.9109,14.0840,354.0941},
    {165.2771,1848.3613,25.4985,165.7063},
    {117.8007,1870.3394,17.8359,20.0284}
    };

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • achsooooo ohh :)
    blackfox du bist der beste :D :thumbup:

    Einmal editiert, zuletzt von [GTR]-_-lol-_- ()