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
Problem mit Dm Respawn
- Jack_xD
- Geschlossen
- Erledigt
-
-
das
if(imdm[playerid]) {in
if(imdm[playerid]==1) {ändern
-
spawnt immernoch falsch. ich weis nich wieso genau da in der ecke oO ich habe /save gemacht dann die cord im script gesucht aber nichts derartigen gefunden oO
-
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 -
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 CompuPhase4 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
-
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 lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
-
lol zeig mal den kompletten code mit den errors
-
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;
} -
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 lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
-
breadfish.de
Hat das Thema geschlossen.