der spawnt in son feld was die cordinaten 0 , 0 ,0 hat aber ich hab ganz andere angegeben wie lös ich das problem
#include <a_samp>
#define Round_MaxTime 300000
#define TEAM_HUMAN 1
#define TEAM_ZOMBIE 2
#define COLOR_HUMAN 0x6495EDFF
#define COLOR_ZOMBIE 0xE60000FF
#define WEAPON1_HUMAN 30
#define WEAPON2_HUMAN 32
#define WEAPON3_HUMAN 25
#define WEAPON1_ZOMBIE 4
#define WEAPON2_ZOMBIE 9
#define WEAPON3_ZOMBIE 0
#define COLOR_RED 0xFF0000FF
#define COLOR_YELLOW 0xFFFF00FF
#define COLOR_GREEN 0x66CC99FF
enum aInfo
{
HumansCount,
ZombiesCount,
HumansKills,
ZombiesKills,
ID
};
enum pInfo
{
TotalCount,
Team
};
new bool: FirstRoundStarted=false;
new bool: RoundStarted=false;
new Arena[aInfo];
new PlayerCount;
new PlayerTeam[MAX_PLAYERS];
new Text[256];
new Float:OldHP[MAX_PLAYERS];
forward GlobalTimer();
forward ZombieTimer();
forward AnnounceWinner();
forward ChangeRound();
forward SetPlayerToHumanTeam(playerid);
forward SetPlayerToZombieTeam(playerid);
main()
SetPlayerToHumanTeam(playerid)
{
ResetPlayerWeapons(playerid);
SendClientMessage(playerid,COLOR_HUMAN,"Sichere dich und deine Mitkämpfer!");
GivePlayerWeapon(playerid,WEAPON1_HUMAN,9999);
GivePlayerWeapon(playerid,WEAPON2_HUMAN,9999);
GivePlayerWeapon(playerid,WEAPON3_HUMAN,9999);
SetPlayerColor(playerid,COLOR_HUMAN);
SetPlayerTeam(playerid,TEAM_HUMAN);
PlayerTeam[playerid] = TEAM_HUMAN;
SetPlayerArmour(playerid,100);
switch(random(2))
{
case 0: SetPlayerSkin(playerid,285);
case 1: SetPlayerSkin(playerid,287);
}
}
SetPlayerToZombieTeam(playerid)
{
ResetPlayerWeapons(playerid);
SendClientMessage(playerid,COLOR_ZOMBIE,"Fresse deine Gegner!");
GivePlayerWeapon(playerid,WEAPON1_ZOMBIE,9999);
GivePlayerWeapon(playerid,WEAPON2_ZOMBIE,9999);
GivePlayerWeapon(playerid,WEAPON3_ZOMBIE,9999);
SetPlayerColor(playerid,COLOR_ZOMBIE);
SetPlayerTeam(playerid,TEAM_ZOMBIE);
PlayerTeam[playerid] = TEAM_ZOMBIE;
SetPlayerSkin(playerid,162);
SetPlayerHealth(playerid,250);
SetPlayerArmour(playerid,0);
TogglePlayerControllable(playerid,1);
}
public OnGameModeInit()
{
AddPlayerClass(285,0.0,0.0,5.0,0.0,0,0,0,0,0,0);
AddPlayerClass(287,0.0,0.0,5.0,0.0,0,0,0,0,0,0);
SetGameModeText("Z0mbie vs Humans M0D");
SetWorldTime(0);
SetNameTagDrawDistance(10);
SetTeamCount(2);
ShowPlayerMarkers(1);
UsePlayerPedAnims();
Arena[ID] = 0;
SetTimer("AnnounceWinner",360000,1);
SetTimer("GlobalTimer", 1000, 1);
CreateObject(8147, -2528.7458496094, 891.89373779297, 63.530712127686, 0, 0, 92.25);
....
return 1;
}
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Stuntplaytotal Zombimod!!!");
SendClientMessage(playerid,COLOR_YELLOW,"Auf unserer Homepage sind alle möglichen Hilfen");
SendClientMessage(playerid,COLOR_YELLOW,"Homepage&Forum:Stuntplaytotal.de");
SendClientMessage(playerid,COLOR_RED,"Ersteller: D3nNi$");
PlayerCount ++;
return 1;
}
public OnPlayerDisconnect(playerid)
{
PlayerCount --;
if(PlayerCount <= 0)
{
PlayerCount = 0;
FirstRoundStarted = false;
RoundStarted = false;
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(PlayerTeam[playerid] == TEAM_HUMAN)
{
SetPlayerToHumanTeam(playerid);
}
else if(PlayerTeam[playerid] == TEAM_ZOMBIE)
{
SetPlayerToZombieTeam(playerid);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != -1)
{
GivePlayerMoney(killerid, 150);
}
if(PlayerTeam[playerid] == TEAM_HUMAN)
{
Arena[ZombiesKills] ++;
SetPlayerToZombieTeam(playerid);
}
else if(PlayerTeam[playerid] == TEAM_ZOMBIE)
{
Arena[HumansKills] ++;
}
switch(Arena[ZombiesKills])
{
case 5: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 5");
{
SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 50");
AnnounceWinner();
}
}
switch(Arena[HumansKills])
{
case 5: SendClientMessageToAll(COLOR_GREEN,"MEMSCHEN TEAM'S RANG: 5");
{
SendClientMessageToAll(COLOR_GREEN,"MEMSCHEN TEAM'S RANG: 50");
AnnounceWinner();
}
}
return 1;
}
public OnPlayerRequestClass(playerid,classid)
{
SetPlayerPos(playerid,299.9177,2741.7598,42.9127);
SetPlayerFacingAngle(playerid,198.9686);
SetPlayerCameraPos(playerid,306.3498,2727.6697,47.0493);
SetPlayerCameraLookAt(playerid,299.9177,2741.7598,42.9127);
SendClientMessage(playerid,COLOR_GREEN,"Suche dir bitte einen Skin aus");
PlayerTeam[playerid] = TEAM_HUMAN;
SetPlayerTeam(playerid,TEAM_HUMAN);
return 1;
}
public GlobalTimer()
{
if(PlayerCount >= 1)
{
if(FirstRoundStarted == false)
{
SetTimer("ZombieTimer", 30000, 0);
FirstRoundStarted = true;
}
if(RoundStarted == true && PlayerCount >= 2)
{
new Zombies=0;
new Humans=0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerTeam[i] == TEAM_HUMAN)
{
Humans ++;
}
if(PlayerTeam[i] == TEAM_ZOMBIE)
{
Zombies++;
}
}
}
if(Humans == 0)
{
GameTextForAll("~r~ZOMBIES~w~ gewinnen~y~ ]]",3000,5);
format(Text,256,"Infizierte Menschen: %d | Gestorbene Zombies: %d",
Arena[ZombiesKills],Arena[HumansKills]);
SendClientMessageToAll(COLOR_YELLOW,Text);
Arena[ID] ++;
RoundStarted = false;
SetTimer("ChangeRound",10000,0);
SendClientMessageToAll(COLOR_RED,"Warte 10 Sekunden bis die nächste Runde startet!");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetPlayerCameraPos(i,-1438.0342,1751.5375,45.6543);
SetPlayerCameraLookAt(i,-1736.0754,1132.5067,45.6543);
}
}
}
if(Zombies == 0)
{
GameTextForAll("~b~Polizei~w~ gewinnt~y~ ]]",3000,5);
format(Text,256,"Gestorbene Zombies: %d | Infizierte Menschen: %d",
Arena[HumansKills],Arena[ZombiesKills]);
SendClientMessageToAll(COLOR_YELLOW,Text);
Arena[ID] ++;
RoundStarted = false;
SetTimer("ChangeRound",10000,0);
SendClientMessageToAll(COLOR_RED,"Warte 10 Sekunden bis die nächste Runde startet!");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetPlayerCameraPos(i,-1438.0342,1751.5375,45.6543);
SetPlayerCameraLookAt(i,-1736.0754,1132.5067,45.6543);
}
}
}
}
}
return 1;
}
public ZombieTimer()
{
new Player = -1;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
Player = i;
}
}
if(Player != -1)
{
new Zombie = random(Player+1);
if(IsPlayerConnected(Zombie))
{
SetPlayerToZombieTeam(Zombie);
RoundStarted = true;
}
else
{
ZombieTimer();
}
}
else
{
FirstRoundStarted = false;
}
return 1;
}
public AnnounceWinner()
{
if(Arena[ZombiesKills] > Arena[HumansKills])
{
GameTextForAll("~r~ZOMBIES~w~ gewinnen~y~ ]]",3000,5);
format(Text,256,"Infizierte Menschen: %d | Gestorbene Zombies: %d",
Arena[ZombiesKills],Arena[HumansKills]);
SendClientMessageToAll(COLOR_YELLOW,Text);
}
if(Arena[ZombiesKills] < Arena[HumansKills])
{
GameTextForAll("~b~Polizei~w~ gewinnt~y~ ]]",3000,5);
format(Text,256,"Gestorbene Zombies: %d | Infizierte Menschen: %d",
Arena[HumansKills],Arena[ZombiesKills]);
SendClientMessageToAll(COLOR_YELLOW,Text);
}
if(Arena[ZombiesKills] == Arena[HumansKills])
{
GameTextForAll("~y~ Warte",3000,3);
format(Text,256,"Beide Teams haben %d Todesfälle.",
Arena[ZombiesKills]);
SendClientMessageToAll(COLOR_YELLOW,Text);
}
Arena[ID] ++;
RoundStarted = false;
SetTimer("ChangeRound",10000,0);
SendClientMessageToAll(COLOR_RED,"Warte 10 Sekunden bis die nächste Runde startet!");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetPlayerCameraPos(i,-1438.0342,1751.5375,45.6543);
SetPlayerCameraLookAt(i,-1736.0754,1132.5067,45.6543);
}
}
return 1;
}
public ChangeRound()
{
RoundStarted = false;
Arena[ZombiesKills] = 0;
Arena[HumansKills] = 0;
SetTimer("ZombieTimer", 30000, 0);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerTeam[i] = TEAM_HUMAN;
SpawnPlayer(i);
switch(Arena[ID])
{
case 0:
{
Arena[ID]++;
}
case 1:
{
Arena[ID]++;
}
case 2:
{
Arena[ID]++;
}
case 3:
{
Arena[ID] = 0;
}
}
}
}
return 1;
}
public OnPlayerUpdate(playerid)
{
new Float:NewHP;
GetPlayerArmour(playerid,NewHP);
if(NewHP < OldHP[playerid])
{
if(PlayerTeam[playerid] == TEAM_HUMAN)
{
SetPlayerToZombieTeam(playerid);
Arena[ZombiesKills] ++;
switch(Arena[ZombiesKills])
{
case 5: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 5");
case 10: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 10");
case 15: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 15");
case 20: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 20");
case 25: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 25");
case 30: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 30");
case 35: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 35");
case 40: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 40");
case 45: SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 45");
case 50:
{
SendClientMessageToAll(COLOR_GREEN,"ZOMBIES TEAM'S RANG: 50");
AnnounceWinner();
}
}
}
}
OldHP[playerid] = NewHP;
return 1;
}
//edit ich hab kleine wiederholungs stellen bei dem Rang und die objecte und die cmds entfernt