Problem mit Dm Respawn

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 habe eine dm arena und das ich nachdem ich immer sterbe nicht wirder /dm machne muss habe ich eine funktion die mich respawnen lässt bis ich /leave gemacht habe. ich habe dann noch in der dm arena ein radom spawn. alles is super ich bekomme waffen und so weiter bis ich sterbe. nach dem 1x sterben lade ich an meinen atandart dm spawn wo ich als erstes gehabt habe wo ichj noch keinen radom spawn hatte und habe keine waffen. das immer wieder respawn bis /leave script sieht so aus:
    new imdm[MAX_PLAYERS];
    bei on player spawn:
    if(imdm[playerid]) {
    bei meinen dm command:
    imdm[playerid]=1;
    und der leave command:
    if(strcmp(cmdtext,"/leave",true)==0) {
    imdm[playerid]=0;
    SpawnPlayer(playerid);
    ResetPlayerWeapons(playerid);
    return 1;
    }
    könnt ihr mir pls helfen, thx

  • Du fragst ab :


    if(imdm[playerid])


    das ist das gleiche wie dies


    if(imdm[playerid] == 1)


    Also wirds wohl nicht daran liegen das wäre das gleiche wie dies


    if(imdm[playerid] == 0)


    und


    if(!imdm[playerid])



    if(strcmp(cmdtext,"/leave",true)==0)
    {
    if(imdm[playerid])
    {
    imdm[playerid]=0;
    SpawnPlayer(playerid);
    ResetPlayerWeapons(playerid);
    }
    return 1;
    }


    bei OnPlayerSpawn einfach das


    if(imdm[playerid])
    {
    // RandomSpawn, Waffen bekommen etc.
    }
    else
    {
    // Normal Spawn
    }


    am besten platzierst du die abfrage nach allen anderen abfragen bzw. Code Zeilen wo man auch an eine bestimmte stelle gesetzt wird,
    dann kannste du auch else weglassen

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • ok habs so gemacht wie du sagtest. hier mal die zeile:
    public OnPlayerSpawn(playerid)
    {
    SetPlayerInterior (playerid,0);
    GameTextForPlayer(playerid,"~r~!!!DM nur in /DM | DM Only in /DM!!!",20000,5);
    SetPlayerPos(playerid,2624.727783, 412.268402, 5.772491); }
    GivePlayerMoney(playerid, 1000000);
    if(imdm[playerid])
    {
    SetPlayerPos(playerid,2622.8799,410.6660,6.5970); }
    SetPlayerPos(playerid,2630.6230,469.3402,5.1221); }
    SetPlayerPos(playerid,2679.0183,459.6478,5.1321); }
    SetPlayerPos(playerid,2657.0662,425.2959,6.6054); }
    SetPlayerPos(playerid,2628.9194,482.1089,5.1226); }
    SetPlayerPos(playerid,2666.5422,478.4476,5.1181); }
    SetPlayerPos(playerid,2628.8086,462.3764,5.1221); }
    SetPlayerPos(playerid,2673.8872,420.5434,6.6013); }
    SetPlayerPos(playerid,2651.3726,449.6331,5.1199); }
    SetPlayerPos(playerid,2678.6292,464.3182,5.1319); }
    SetPlayerPos(playerid,2664.4861,476.6132,5.1183); }
    GivePlayerWeapon(playerid,24,9999); //Desert Eagle
    GivePlayerWeapon(playerid,31,9999); //M4
    GivePlayerWeapon(playerid,3,9999);
    GivePlayerWeapon(playerid,29,9999); //MP5
    GivePlayerWeapon(playerid,25,9999); //Shotgun
    GivePlayerWeapon(playerid,28,9999); //UZI
    GivePlayerWeapon(playerid,34,9999);
    GivePlayerWeapon(playerid,17,9999);
    }
    else
    {
    SetPlayerPos(playerid,2624.727783, 412.268402, 5.772491); }
    }
    return 1;
    }



    und hier der kommende error:
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1254) : error 021: symbol already defined: "GivePlayerMoney"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1255) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1277) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1281) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


  • //oben im script
    new Float:DMSpawns[11][3] = {
    {2622.8799,410.6660,6.5970},
    {2630.6230,469.3402,5.1221},
    {2679.0183,459.6478,5.1321},
    {2657.0662,425.2959,6.6054},
    {2628.9194,482.1089,5.1226},
    {2666.5422,478.4476,5.1181},
    {2628.8086,462.3764,5.1221},
    {2673.8872,420.5434,6.6013},
    {2651.3726,449.6331,5.1199},
    {2678.6292,464.3182,5.1319},
    {2664.4861,476.6132,5.1183}
    };


    public OnPlayerSpawn(playerid)
    {
    SetPlayerInterior (playerid,0);
    GameTextForPlayer(playerid,"~r~!!!DM nur in /DM | DM Only in /DM!!!",20000,5);
    SetPlayerPos(playerid,2624.727783, 412.268402, 5.772491);
    GivePlayerMoney(playerid, 1000000);
    if(imdm[playerid] == 1)
    {
    new rand = random(sizeof(DMSpawns));
    SetPlayerPos(playerid,DMSpawns[rand][0], DMSpawns[rand][1], DMSpawns[rand][2]);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,24,9999); //Desert Eagle
    GivePlayerWeapon(playerid,31,9999); //M4
    GivePlayerWeapon(playerid,3,9999);
    GivePlayerWeapon(playerid,29,9999); //MP5
    GivePlayerWeapon(playerid,25,9999); //Shotgun
    GivePlayerWeapon(playerid,28,9999); //UZI
    GivePlayerWeapon(playerid,34,9999);
    GivePlayerWeapon(playerid,17,9999);
    }
    else
    {
    SetPlayerPos(playerid,2624.727783, 412.268402, 5.772491);
    }
    return 1;
    }

  • jetz spawnt der da aber standart und immer nur in der selben ecke. ich habe ja noch so ein script drinn das wenn man /dm macht das der dort imemr spawnt bis man /leave macht. ich hatte es so das er immer an einen anderen punkt dort drinn spawnte bis mann stirbt dann spawnr der wieder in der selben ecke und hst keine waffen. das war mein problem. äh. ja xD

  • jetzt weis ich wieso ich immer in der ecke spawnte. es lag an dem dauernt in der dm arena spawn script:
    public OnPlayerSpawn(playerid)
    {
    SetPlayerInterior (playerid,0);
    GameTextForPlayer(playerid,"~r~!!!DM nur in /DM | DM Only in /DM!!!",20000,5);
    if(imdm[playerid]==1) {
    SetPlayerPos(playerid,2624.727783, 412.268402, 5.772491); }
    GivePlayerMoney(playerid, 1000000);
    return 1;
    }
    dieses setplayer pos war die cord wo mich dahin brachte nachem ich starb. jetzt habe ich versucht dieses setplayerpos mit
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]);
    da bekomme ich aber voll viele errors von sachen die in ordnugn saind. was kann ich machen ??

  • new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]);



    haste oben auch


    new Float:gRandomPlayerSpawns[23][3] = {
    {1958.3783,1343.1572,15.3746},
    {2199.6531,1393.3678,10.8203},
    {2483.5977,1222.0825,10.8203},
    {2637.2712,1129.2743,11.1797},
    {2000.0106,1521.1111,17.0625},
    {2024.8190,1917.9425,12.3386},
    {2261.9048,2035.9547,10.8203},
    {2262.0986,2398.6572,10.8203},
    {2244.2566,2523.7280,10.8203},
    {2335.3228,2786.4478,10.8203},
    {2150.0186,2734.2297,11.1763},
    {2158.0811,2797.5488,10.8203},
    {1969.8301,2722.8564,10.8203},
    {1652.0555,2709.4072,10.8265},
    {1564.0052,2756.9463,10.8203},
    {1271.5452,2554.0227,10.8203},
    {1441.5894,2567.9099,10.8203},
    {1480.6473,2213.5718,11.0234},
    {1400.5906,2225.6960,11.0234},
    {1598.8419,2221.5676,11.0625},
    {1318.7759,1251.3580,10.8203},
    {1558.0731,1007.8292,10.8125},


    {1705.2347,1025.6808,10.8203}
    };


    Sind bsp coords

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • wie gesagt viiiiiiiiiiele errors was eig keine sind.
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1542) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1542) : error 004: function "OnPlayerDeath" is not implemented
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1547) : error 017: undefined symbol "reason"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1549) : error 017: undefined symbol "killerid"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1566) : warning 225: unreachable code
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1566) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1566) : error 004: function "OnPlayerCommandText" is not implemented
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1568) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1573) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1607) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1637) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1638) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1638) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1638) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1638) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1638) : fatal error 107: too many error messages on one line


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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • dann müsste ich meine komplette gamemode posten weil der flasche fehlermeldunge ngiebt. ich poste mal das alles ztusammenhängende.
    new Float:gRandomPlayerSpawns[11][3] = {
    {2622.8799,410.6660,6.5970},
    {2630.6230,469.3402,5.1221},
    {2679.0183,459.6478,5.1321},
    {2657.0662,425.2959,6.6054},
    {2628.9194,482.1089,5.1226},
    {2666.5422,478.4476,5.1181},
    {2628.8086,462.3764,5.1221},
    {2673.8872,420.5434,6.6013},
    {2651.3726,449.6331,5.1199},
    {2678.6292,464.3182,5.1319},
    {2664.4861,476.6132,5.1183}
    };


    onplayer spawn.
    GivePlayerWeapon(playerid,24,9999); //Desert Eagle
    GivePlayerWeapon(playerid,31,9999); //M4
    GivePlayerWeapon(playerid,3,9999);
    GivePlayerWeapon(playerid,29,9999); //MP5
    GivePlayerWeapon(playerid,25,9999); //Shotgun
    GivePlayerWeapon(playerid,28,9999); //UZI
    GivePlayerWeapon(playerid,34,9999);
    GivePlayerWeapon(playerid,17,9999);
    SetPlayerPos(playerid,2656.7705,449.3372,5.1199); }
    GivePlayerMoney(playerid, 1000000);
    return 1;
    }



  • new Float:gRandomPlayerSpawns[11][3] = {
    {2622.8799,410.6660,6.5970},
    {2630.6230,469.3402,5.1221},
    {2679.0183,459.6478,5.1321},
    {2657.0662,425.2959,6.6054},
    {2628.9194,482.1089,5.1226},
    {2666.5422,478.4476,5.1181},
    {2628.8086,462.3764,5.1221},
    {2673.8872,420.5434,6.6013},
    {2651.3726,449.6331,5.1199},
    {2678.6292,464.3182,5.1319},
    {2664.4861,476.6132,5.1183}
    };


    onplayer spawn.
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]);
    GivePlayerWeapon(playerid,24,9999); //Desert Eagle
    GivePlayerWeapon(playerid,31,9999); //M4
    GivePlayerWeapon(playerid,3,9999);
    GivePlayerWeapon(playerid,29,9999); //MP5
    GivePlayerWeapon(playerid,25,9999); //Shotgun
    GivePlayerWeapon(playerid,28,9999); //UZI
    GivePlayerWeapon(playerid,34,9999);
    GivePlayerWeapon(playerid,17,9999);
    GivePlayerMoney(playerid, 1000000);
    return 1;
    }

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • sind wieder sie selben errors xD glaub ich
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1553) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1553) : error 004: function "OnPlayerDeath" is not implemented
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1558) : error 017: undefined symbol "reason"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1560) : error 017: undefined symbol "killerid"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1577) : warning 225: unreachable code
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1577) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1577) : error 004: function "OnPlayerCommandText" is not implemented
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1579) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1584) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1618) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1648) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1649) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1649) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1649) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1649) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Alex\Eigene Dateien\samp02Xserver.win32\gamemodes\Atlanta_island.pwn(1649) : fatal error 107: too many error messages on one line


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