A Problem With Zombile FS
#1

I've copy the code from a zombie GameMod ,To change it to a FS.
and i put that FS into my server.
but it not working.
when i tape:/zo
and i cannot see anything,i don't know where i did wrong , but
compile said OK NO ERRORS ,but it still not working,Who can give me idea?Thank u!
I'm Sorry iam Chinese so bad English.
如果有哪个中国人知道请帮我下= =
Код:
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase
and my code:
Код:
//------------------------------------------------------------------------------
//
//   Zombie Filter Script v1.4
//   Designed for SA-MP v0.2.2
//
//   Created by zeruel_angel
//   If you speak spanish, please visit SPANISH forum in samp.tilens.com
//   Si hablas espa?ol, por favor visita el foro en ESPA?OL samp.tilens.com
//------------------------------------------------------------------------------

#include <a_samp>
#define COLOR_YELLOW 0xFFFF00AA
#define PRESS 123
#define HOLD 456

new Ticket[MAX_PLAYERS];

forward HoldingFire();
enum weapParts
{
	WeapId,
	allow,
	Float:range,
	Float:wide,
	damageMin,
	damageMax,
	cutting,
	instaGib,
	continua,
	mnsg[150]
};

new weapL[55][weapParts]=
{
//  ID                  	allow	range   wide	dMin	dMax	cutting	insGib	continua    msng
	{0,                     true,   1.0,    45.0,    5,		10,    	false,	false,	false,  "~n~~n~~n~~n~~n~~n~~n~~w~Punch!!!"},
	{WEAPON_BRASSKNUCKLE,	true,	1.5,	45.0,	5,		15,		false,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~y~Plack~w~!!!"},
	{WEAPON_GOLFCLUB,		true,	2.0,	35.0,	20,		25,		false,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~w~Fiuuuff!!! ~b~~h~Fiuuuff~w~!!!"},
	{WEAPON_NITESTICK,		true,	1.5,	35.0,	10,		15,		false,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~b~~h~Plafff~w~!!!"},
	{WEAPON_KNIFE,			true,	1.5,	15.0,	10,		15,		false,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~r~Fisss~w~!!!"},
	{WEAPON_BAT,			true,	2.0,	35.0,	10,		15,		false,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~g~~h~Paffffff~w~!!!"},
	{WEAPON_SHOVEL,			true,	2.0,	35.0,	10,		25,		true,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~r~~h~~h~PlanK~w~!!!"},
	{WEAPON_POOLSTICK,		true,	2.0,	35.0,	10,		15,		false,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~g~~h~Paffffff~w~!!!"},
	{WEAPON_KATANA,			true,	2.0,	45.0,	20,		45,		true,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~b~SWIFT~w~! ~b~SWIFT~w~!"},
	{WEAPON_CHAINSAW,		true,	2.5,	35.0,	20,		35,		true,	false,	true,	"~n~~n~~n~~n~~n~~n~~n~~g~BRRRRRRRNNNNNN~w~!!!!"},
	{WEAPON_DILDO,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_DILDO2,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_VIBRATOR,		false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_VIBRATOR2,		false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_FLOWER,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_CANE,			true,	2.0,	35.0,	10,		15,		false,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~g~~h~Paffffff~w~!!!"},
	{WEAPON_GRENADE,		false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_TEARGAS,		false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_MOLTOV,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_COLT45,			true,	20.0,	7.0,	10,		15,		false,	false,	true,	"~n~~n~~n~~n~~n~~n~~n~~r~Bang~w~!!~r~Bang~w~!!"},
	{WEAPON_SILENCED,		true,	20.0,	3.0,	10,		15,		false,	false,	false,	"~n~~n~~n~~n~~n~~n~~n~~r~Piuufff~w~!!"},
	{WEAPON_DEAGLE,			true,	25.0,	3.0,	15,		20,		false,	true,	true,	"~n~~n~~n~~n~~n~~n~~n~~r~Baaang~w~!!"},
	{WEAPON_SHOTGUN,		true,	18.0,	7.0,	10,		25,		true,	true,	true,	"~n~~n~~n~~n~~n~~n~~n~~r~BUM~w~!!!!"},
	{WEAPON_SAWEDOFF,		true,	12.0,	10.0,	12,		18,		true,	true,	true,	"~n~~n~~n~~n~~n~~n~~n~~r~BUM~w~!!~r~BUM~w~!!"},
	{WEAPON_SHOTGSPA,		true,	18.0,	7.0,	25,		45,		true,	true,	true,	"~n~~n~~n~~n~~n~~n~~n~~r~BUUUM~w~!!!!"},
	{WEAPON_UZI,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_MP5,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_AK47,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_M4,				false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_TEC9,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_RIFLE,			true,	50.0,	2.0,	0,		50,		false,	true,	true,	"~n~~n~~n~~n~~n~~n~~n~~g~PUUUM~w~!!!!"},
	{WEAPON_SNIPER,			true,	100.0,	1.0,	0,		60,		false,	true,	false,	"~n~~n~~n~~n~~n~~n~~n~~g~PUUUUUUUUMMMMM~w~!!!!"},
	{WEAPON_ROCKETLAUNCHER,	false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_HEATSEEKER,		false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_FLAMETHROWER,	true,	8.0,	15.0,	10,		20,		false,	false,	true,	"~n~~n~~n~~n~~n~~n~~n~~r~Fuuu~y~uffffff~w~!!!!"},
	{WEAPON_MINIGUN,		true,	25.0,	3.0,	1,		99,		true,	true,	true,	"~n~~n~~n~~n~~n~~n~~n~~r~MUAJAJAJAJAJAJ~w~!!!!!"},
	{WEAPON_SATCHEL,		false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_BOMB,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_SPRAYCAN,		true,	2.0,	25.0,	10,		0,		false,	false,	true,	"~n~~n~~n~~n~~n~~n~~n~~y~FS~b~SS~r~SS~g~SS~y~SS~w~!!!"},
	{WEAPON_FIREEXTINGUISHER,true,	3.5,	15.0,	10,		0,		false,	false,	true,	"~n~~n~~n~~n~~n~~n~~n~~w~Fuuuusssshhh~b~!!!!"},
	{WEAPON_CAMERA,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_PARACHUTE,		false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_VEHICLE,		false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{-1,					false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_DROWN,			false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."},
	{WEAPON_COLLISION,		false,	0.0,	0.0,	0,		0,		false,	false,	false,	"~w~This ~r~weapon ~w~is not yet ~b~available ~w~for beeing used against ~g~zombies~w~!!!! ~y~sorry~w~. ~n~~b~zeruel_angel~w~."}
};

new setNumber = 0;

new set[6][3][2]=
{
    {{WEAPON_KATANA,1000},		{WEAPON_SHOTGUN,50},			{WEAPON_FIREEXTINGUISHER,500}},
	{{WEAPON_KATANA,1000},		{WEAPON_SILENCED,100},			{WEAPON_SAWEDOFF,25}},
	{{WEAPON_NITESTICK,1000},	{WEAPON_COLT45,100},			{WEAPON_SHOTGUN,25}},
	{{WEAPON_GOLFCLUB,1000},	{WEAPON_FIREEXTINGUISHER,400},	{WEAPON_FLAMETHROWER,50}},
	{{WEAPON_SHOVEL,1000},		{WEAPON_SHOTGSPA,100},			{WEAPON_RIFLE,25}},
	{{WEAPON_KNIFE,1000},		{WEAPON_SHOTGSPA,100},			{WEAPON_SNIPER,25}}
};

new NOFZombies=0;
new TOTALZombies=10;
new Float:Zspeed = 2.0;
new ZTimerSpeed = 500;
new Float:vaiven = 5.0;
new Float:X,Float:Y,Float:Z;

#define MAX_ZOMBIES 100

#define brazo1 1
#define brazo2 2
#define pierna1 4
#define pierna2 8
enum zombiParts
{
	rArm,
	lArm,
	rLeg,
	lLeg,
	head,
	torso,
	pedazos,
	HP,
	Float:ArmAngle,
	Float:ArmStatus,
	Float:angulo,
	Float:speed,
	LegsH,
	undead,
	target
};

new zombie[MAX_ZOMBIES][zombiParts];

enum zombiPos
{
	partModel,
	Float:RelX,
	Float:RelY,
	Float:RelZ,
	Float:RelrX,
	Float:RelrY,
	Float:RelrZ
}
enum zpart
{
    rLegZ,
	rArmZ,
	torsoZ,
	lArmZ,
	headZ,
	lLegZ
}
new z1[zpart][zombiPos]=
{
	{2905,-0.115479,-0.023924, -1.280131, -90.000000, 90.000000,0.000000},
	{2906, -0.218995, 0.200928, -0.253135, 0.000000, 180.000000, 0.000000},
	{2907, -0.032227, -0.045897, -0.544213, 270.000000, 0.000000, 0.000000},
	{2906, 0.187987, 0.158448, -0.265793, 0.000000, 0.000000, 0.000000},
	{2908, 0.000000, 0.000000, 0.000000, 270.000000, 90.000000, 0.000000},
	{2905, 0.101074, -0.012694, -1.288253, 270.000000, 90.000000, 0.000000}
};

new z2[6][zombiPos]=
{
	{2905, 0.005614, -0.110107, -1.280131, -90.000000, 90.000000, 90.000000},
	{2906, -0.148926, -0.180663, -0.253135, 0.000000, 180.000000, 90.000000},
	{2907, 0.047852, -0.039061, -0.544213, 270.000000, 0.000000, 90.000000},
	{2906, -0.152343, 0.171387, -0.265793, 0.000000, 0.000000, 90.000000},
	{2908, 0.000000, 0.000000, 0.000000, 270.000000, 90.000000, 90.000000},
	{2905, 0.000977, 0.090332, -1.288253, 270.000000, 90.000000, 90.000000}
};
enum zArm
{
	Float:AZ,
	Float:AA
};
enum tipo
{
	der,
	izq
};
new A1[tipo][zArm]=
{
    {-0.253135,0.0},
	{-0.265793,0.0}
};
new A2[tipo][zArm]=
{
	{-0.359635, -90.0},
	{-0.338874, -90.0}
};
forward zombieAtaca(playerid);
forward attacknearest();
new TimerAtaca=-1;
new TimerAPO=-1;
new PlayerDeath[MAX_PLAYERS];

new apocalipsis = false;

enum WeaponType
{
	pWeapId,
	pAmmo
};
new WeaponList[MAX_PLAYERS][12][WeaponType];
new LastWeaponUsed[MAX_PLAYERS];
forward QuitarArmasZombie(playerid);
forward DevolverArmasZombie(playerid);
forward CreateRandomZombie();
new money[MAX_PLAYERS];
new scorez=0;
new scorep=0;

#define delay 500
public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256];
	new idx;
	new tmp[256];
	cmd = strtok(cmdtext, idx);

//--------------------------------------------------------------僵尸主控

	if 	(strcmp(cmd, "/zmsd", true)==0)
	{
		tmp = strtok(cmdtext, idx);
		if	(!strlen(tmp))
		{
			SendClientMessage(playerid, 0xFFFFFFAA, "用法: /zmsd [速度]");
			return 1;
		}
        Zspeed=floatstr(tmp);
		return 1;
	}
	if 	(strcmp(cmd, "/ZTimerSpeed", true)==0)
	{
		tmp = strtok(cmdtext, idx);
		if	(!strlen(tmp))
		{
			SendClientMessage(playerid, 0xFFFFFFAA, "USE: /ZTimerSpeed [timer speed]");
			return 1;
		}
        ZTimerSpeed=strval(tmp);
        OnPlayerCommandText(playerid, "/zstop");
        OnPlayerCommandText(playerid, "/zstart");
		return 1;
	}
	if (strcmp(cmd, "/zo", true)==0 || strcmp(cmd, "/创建一个僵尸", true) == 0)
	{
		new Float:pX,Float:pY,Float:pZ,Float:Ang;
		GetPlayerPos(playerid,pX,pY,pZ);
		GetPlayerFacingAngle(playerid,Ang);
		pX=pX+3.0*floatsin(-Ang,degrees);
		pY=pY+3.0*floatcos(-Ang,degrees);
		pZ=pZ+0.7;
		CrearZombie(pX,pY,pZ,Ang+180.0);
		return 1;
	}
	if 	(strcmp(cmd, "/zmqd", true)==0 || strcmp(cmd, "/启动僵尸", true) == 0)
	{
	    if (NOFZombies>0)
	    {
	        new id;
			tmp = strtok(cmdtext, idx);
			if	(!strlen(tmp))
			{
				id = playerid;
			}
			else
			{
			    if (!IsPlayerConnected(strval(tmp)))
			    {
			        SendClientMessage(playerid, 0xFFFFFFAA, "<!>没有这个玩家");
			        return 1;
			    }
			    id = strval(tmp);
			}
			if (TimerAtaca!=-1){KillTimer(TimerAtaca);}
			for (new j=0;j<TOTALZombies;j++){zombie[j][target]=id;}
			TimerAtaca=SetTimer("zombieAtaca",ZTimerSpeed,1);
			return 1;
		}
	    SendClientMessage(playerid, 0xFFFFFFAA, "<!>没有创建僵尸");
		return 1;
	}
	if 	(strcmp(cmd, "/zmtz", true)==0 || strcmp(cmd, "/停止僵尸", true) == 0)
	{
	    if (NOFZombies>0)
	    {
			if (TimerAtaca!=-1)
			{
			    KillTimer(TimerAtaca);
			}
			for (new j=0;j<TOTALZombies;j++)
			{
			    if (zombie[j][undead])
			    {
					StopObject(zombie[j][head]);
					StopObject(zombie[j][torso]);
					StopObject(zombie[j][rArm]);
					StopObject(zombie[j][lArm]);
					StopObject(zombie[j][rLeg]);
					StopObject(zombie[j][lLeg]);
				}
			}
        	return 1;
		}
	    SendClientMessage(playerid, 0xFFFFFFAA, "<!>没有创建僵尸");
		return 1;
	}
	if 	(strcmp(cmd, "/zmqc", true)==0 || strcmp(cmd, "/清除僵尸", true) == 0)
	{
	    cleanZombies();
	    SendClientMessage(playerid, 0xFFFFFFAA, "<!>没有僵尸了");
		return 1;
	}
 	if 	(strcmp(cmd, "/ZMSL", true)==0 || strcmp(cmd, "/僵尸数量", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, 0xFFFFFFAA, "用法: /ZMS [数量]");
			SendClientMessage(playerid, 0xFFFFFFAA, "用法: /僵尸数量 [数量]");
			return 1;
		}
		cleanZombies();
		TOTALZombies = strval(tmp);
		return 1;
	}
	if 	(strcmp(cmd, "/zmks", true)==0 || strcmp(cmd, "/僵尸战斗开始", true) == 0)
	{
	    apocalipsis = true;
	    scorez=0;
	    scorep=0;
	    SetWorldTime(0);
		SetWeather(0);
		SendClientMessageToAll( 0xFFFFFFAA, "<!>僵尸战斗开始请准备与僵尸战斗");
		SendClientMessageToAll( 0xFFFFFFAA, "<!>僵尸战斗开始请准备与僵尸战斗");
		SendClientMessageToAll( 0xFFFFFFAA, "<!>僵尸战斗开始请准备与僵尸战斗");
		SendClientMessageToAll( 0xFFFFFFAA, "<!>僵尸战斗开始请准备与僵尸战斗");
		SendClientMessageToAll(COLOR_YELLOW,"僵尸暴动模式: 开启");
		if (TimerAPO!=-1){KillTimer(TimerAPO);}
		TimerAPO = SetTimer("attacknearest",10000,1);
		if (TimerAtaca!=-1){KillTimer(TimerAtaca);}
		TimerAtaca=SetTimer("zombieAtaca",ZTimerSpeed,1);
		while (NOFZombies<TOTALZombies)CreateRandomZombie();
		attacknearest();
        for (new i=0;i<MAX_PLAYERS;i++)if(IsPlayerConnected(i))
		SetPlayerVirtualWorld(i,1338);
		return 1;
	}
	if 	(strcmp(cmd, "/zmjs", true)==0 || strcmp(cmd, "/僵尸战斗停止", true) == 0)
	{
	    if (apocalipsis)
		{
			for (new i=0;i<MAX_PLAYERS;i++)if(IsPlayerConnected(i)){DevolverArmasZombie(i);GivePlayerMoney(i,money[i]);}
			SendClientMessageToAll( 0xFFFFFFAA, "<!>僵尸战斗结束了");
		    SendClientMessageToAll( 0xFFFFFFAA, "<!>僵尸战斗结束了");
		    SendClientMessageToAll( 0xFFFFFFAA, "<!>僵尸战斗结束了");
		    SendClientMessageToAll( 0xFFFFFFAA, "<!>僵尸战斗结束了");
			format(tmp,255,"僵尸分数: %d 人类分数: %d 僵尸暴动模式: 关闭 ",scorez,scorep);
			SendClientMessageToAll(COLOR_YELLOW,tmp);
			apocalipsis = false;
		    SetWorldTime(12);
			SetWeather(0);
			cleanZombies();
		}
		if (TimerAPO!=-1){KillTimer(TimerAPO);}
		if (TimerAtaca!=-1){KillTimer(TimerAtaca);}
        for (new i=0;i<MAX_PLAYERS;i++)if(IsPlayerConnected(i))
		SetPlayerVirtualWorld(i,0);
		return 1;
}
	return 0;
}
//------------------------------------------------------------------------------
public OnFilterScriptInit()
{
	print("\n ZOMBIE Filter Script v1.2 Loading...\n**********************\n      (Zeruel_Angel)\n");
	return 1;
}
public OnGameModeInit()
{
	return 1;
}
//------------------------------------------------------------------------------
public OnFilterScriptExit()
{
    print("\n*********** ZOMBIE (zeruel_angel) ***********\n");
	cleanZombies();
	return 1;
}
public OnGameModeExit()
{
    cleanZombies();
	return 1;
}
//------------------------------------------------------------------------------
public attacknearest()
{
    new Float:pX,Float:pY,Float:pZ;
    new Float:distNew,Float:distOld;
    new candidato;
	for (new j=0;j<TOTALZombies;j++)
	{
	    if (zombie[j][undead])
	    {
		    distOld=9999.9;
		    candidato=-1;
		    GetObjectPos(zombie[j][head],X,Y,Z);
			for(new i=0;i<MAX_PLAYERS;i++)
			{
			    if(IsPlayerConnected(i))
			    {
			        GetPlayerPos(i,pX,pY,pZ);
					distNew = floatabs(pX-X) + floatabs(pY-Y);
					if (distNew<distOld)
					{
					distOld = distNew;
					candidato = i;
					}
			    }
			}
			if (distOld>100.0)
			{
				DestroyObject(zombie[j][head]);
				DestroyObject(zombie[j][rLeg]);
				DestroyObject(zombie[j][lLeg]);
				DestroyObject(zombie[j][rArm]);
				DestroyObject(zombie[j][lArm]);
				DestroyObject(zombie[j][torso]);
				NOFZombies--;
				zombie[j][undead]=false;
			    SetTimer("CreateRandomZombie",1000,0);
			}
			zombie[j][target]=candidato;
		}
	}
}
//------------------------------------------------------------------------------
cleanZombies()
{
	for (new j=0;j<TOTALZombies;j++)
	{
	    zombie[j][undead]=false;
		if (IsValidObject(zombie[j][torso]))DestroyObject(zombie[j][torso]);
		if (IsValidObject(zombie[j][head]))	DestroyObject(zombie[j][head]);
		if (IsValidObject(zombie[j][rLeg]))	DestroyObject(zombie[j][rLeg]);
		if (IsValidObject(zombie[j][lLeg]))	DestroyObject(zombie[j][lLeg]);
		if (IsValidObject(zombie[j][rArm]))	DestroyObject(zombie[j][rArm]);
		if (IsValidObject(zombie[j][lArm]))	DestroyObject(zombie[j][lArm]);
		NOFZombies--;
	}
	if (TimerAPO!=-1){KillTimer(TimerAPO);}
	if (TimerAtaca!=-1){KillTimer(TimerAtaca);}
}
//------------------------------------------------------------------------------
 strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
{
		index++;
}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
		result[index - offset] = string[index];
		index++;
}
	result[index - offset] = EOS;
	return result;
}
//------------------------------------------------------------------------------
CrearZombie(Float:pX,Float:pY,Float:pZ,Float:angle)
{
	new Float:PEPE = floatsin((angle*3.14159/180.0));
	new Float:PIPO = floatcos((angle*3.14159/180.0));
	if (NOFZombies<TOTALZombies)
	{
	    new j=0;
		while ((zombie[j][undead])){j++;}
		if (IsValidObject(zombie[j][torso]))
		{
			DestroyObject(zombie[j][head]);
			DestroyObject(zombie[j][rLeg]);
			DestroyObject(zombie[j][lLeg]);
			DestroyObject(zombie[j][rArm]);
			DestroyObject(zombie[j][lArm]);
			DestroyObject(zombie[j][torso]);
		}
		zombie[j][head]=CreateObject(z1[headZ][partModel],pX,pY,pZ,z1[headZ][RelrX],z1[headZ][RelrY],angle);
		zombie[j][torso]=CreateObject(z1[torsoZ][partModel],pX+z1[torsoZ][RelX]*PIPO+PEPE*z2[torsoZ][RelX],pY+z1[torsoZ][RelY]*PIPO+PEPE*z2[torsoZ][RelY],pZ+z1[torsoZ][RelZ],z1[torsoZ][RelrX],z1[torsoZ][RelrY],angle);
        zombie[j][lArm]=CreateObject(z1[lArmZ][partModel],pX+z1[lArmZ][RelX]*PIPO+PEPE*z2[lArmZ][RelX],pY+z1[lArmZ][RelY]*PIPO+PEPE*z2[lArmZ][RelY],pZ+z1[lArmZ][RelZ],z1[lArmZ][RelrX],z1[lArmZ][RelrY],angle);
        zombie[j][rArm]=CreateObject(z1[rArmZ][partModel],pX+z1[rArmZ][RelX]*PIPO+PEPE*z2[rArmZ][RelX],pY+z1[rArmZ][RelY]*PIPO+PEPE*z2[rArmZ][RelY],pZ+z1[rArmZ][RelZ],z1[rArmZ][RelrX],z1[rArmZ][RelrY],angle);
		zombie[j][rLeg]=CreateObject(z1[rLegZ][partModel],pX+z1[rLegZ][RelX]*PIPO+PEPE*z2[rLegZ][RelX],pY+z1[rLegZ][RelY]*PIPO+PEPE*z2[rLegZ][RelY],pZ+z1[rLegZ][RelZ],z1[rLegZ][RelrX],z1[rLegZ][RelrY],angle);
        zombie[j][lLeg]=CreateObject(z1[lLegZ][partModel],pX+z1[lLegZ][RelX]*PIPO+PEPE*z2[lLegZ][RelX],pY+z1[lLegZ][RelY]*PIPO+PEPE*z2[lLegZ][RelY],pZ+z1[lLegZ][RelZ],z1[lLegZ][RelrX],z1[lLegZ][RelrY],angle);

		zombie[j][LegsH]=true;
		zombie[j][speed]=random(100)+50;
		zombie[j][ArmAngle]=0;
		zombie[j][ArmStatus]=random(5)+5;
		zombie[j][undead]=true;
		zombie[j][HP]=100;
		zombie[j][pedazos]= brazo1 + brazo2 + pierna1 + pierna2;
		zombie[j][angulo]=angle;
		NOFZombies++;
	}
	return 1;
}
//------------------------------------------------------------------------------
public zombieAtaca()
{
    new Float:pX,Float:pY,Float:pZ,Float:angle,Float:PEPE,Float:PIPO,Float:AA1,Float:AA2,Float:H;
    new vehicleStatus;
	if (NOFZombies<1 && !apocalipsis)
    {
  		if (TimerAPO!=-1){KillTimer(TimerAPO);}
		if (TimerAtaca!=-1){KillTimer(TimerAtaca);}
    }
    HoldingFire();
	for (new j=0;j<TOTALZombies;j++)
	{
		if(zombie[j][undead]&&IsPlayerConnected(zombie[j][target]) && GetPlayerInterior(zombie[j][target])==0)
		{
		    vehicleStatus = IsPlayerInAnyVehicle(zombie[j][target]);
			GetPlayerPos(zombie[j][target],pX,pY,pZ);
			pZ+=0.7;
			GetObjectPos(zombie[j][head],X,Y,Z);
			angle = 180.0-atan2(X-pX,Y-pY);
			angle+=vaiven;
			vaiven*=-1;
			PEPE = floatsin((angle*3.14159/180.0));
			PIPO = floatcos((angle*3.14159/180.0));
			zombie[j][angulo]=angle;
			if(floatabs(zombie[j][ArmAngle])>10.0){zombie[j][ArmStatus]*=-1;}
			zombie[j][ArmAngle]+=zombie[j][ArmStatus];

			zombie[j][LegsH]=!zombie[j][LegsH];

			AA1 = floatcos(zombie[j][ArmAngle]*3.14159/180.0);
			AA2 = floatsin(zombie[j][ArmAngle]*3.14159/180.0);

			if ((pZ-Z)>3.0)
   			{
   			    Z+=1.0;
		    }
		    else if((pZ-Z)<-3.0)
		    {
		        Z-=1.0;
		    }
			//we destroy the old zombi
			DestroyObject(zombie[j][torso]);
			DestroyObject(zombie[j][head]);
			if (zombie[j][pedazos] & brazo1) DestroyObject(zombie[j][rArm]);
			if (zombie[j][pedazos] & brazo2) DestroyObject(zombie[j][lArm]);
			if (zombie[j][pedazos] & pierna1) DestroyObject(zombie[j][rLeg]);
			if (zombie[j][pedazos] & pierna2) DestroyObject(zombie[j][lLeg]);

			//we recreate the zombie
			zombie[j][head]=CreateObject(z1[headZ][partModel],X,Y,pZ,z1[headZ][RelrX],z1[headZ][RelrY],angle+vaiven);
			zombie[j][torso]=CreateObject(z1[torsoZ][partModel],X+z1[torsoZ][RelX]*PIPO+PEPE*z2[torsoZ][RelX],Y+z1[torsoZ][RelY]*PIPO+PEPE*z2[torsoZ][RelY],pZ+z1[torsoZ][RelZ],z1[torsoZ][RelrX],z1[torsoZ][RelrY],angle);
            if (zombie[j][pedazos] & brazo1)
			zombie[j][rArm]=CreateObject(z1[rArmZ][partModel],X+z1[rArmZ][RelX]*PIPO+PEPE*z2[rArmZ][RelX],Y+z1[rArmZ][RelY]*PIPO+PEPE*z2[rArmZ][RelY],pZ+A1[der][AZ]*AA1+AA2*A2[der][AZ],(-1)*zombie[j][ArmAngle],z1[rArmZ][RelrY],angle);
			if (zombie[j][pedazos] & brazo2)
			zombie[j][lArm]=CreateObject(z1[lArmZ][partModel],X+z1[lArmZ][RelX]*PIPO+PEPE*z2[lArmZ][RelX],Y+z1[lArmZ][RelY]*PIPO+PEPE*z2[lArmZ][RelY],pZ+A1[izq][AZ]*AA1-AA2*A2[izq][AZ],zombie[j][ArmAngle],z1[lArmZ][RelrY],angle);
			if (zombie[j][pedazos] & pierna1)
			zombie[j][rLeg]=CreateObject(z1[rLegZ][partModel],X+z1[rLegZ][RelX]*PIPO+PEPE*z2[rLegZ][RelX],Y+z1[rLegZ][RelY]*PIPO+PEPE*z2[rLegZ][RelY],pZ+z1[rLegZ][RelZ]+float(zombie[j][LegsH])*0.2,z1[rLegZ][RelrX],z1[rLegZ][RelrY],angle);

            if (zombie[j][pedazos] & pierna2)
			zombie[j][lLeg]=CreateObject(z1[lLegZ][partModel],X+z1[lLegZ][RelX]*PIPO+PEPE*z2[lLegZ][RelX],Y+z1[lLegZ][RelY]*PIPO+PEPE*z2[lLegZ][RelY],pZ+z1[lLegZ][RelZ]+float(!zombie[j][LegsH])*0.2,z1[lLegZ][RelrX],z1[lLegZ][RelrY],angle);

			if ( (floatabs(pX-X) + floatabs(pY-Y) + floatabs(pZ-Z) )>(2.0+6.0*vehicleStatus))//The zombie will move to your position to eat you because if you are too far away
			{
				MoveObject(zombie[j][head],pX,pY,pZ,zombie[j][speed]*0.01*Zspeed);
				MoveObject(zombie[j][torso],pX+z1[torsoZ][RelX]*PIPO+PEPE*z2[torsoZ][RelX],pY+z1[torsoZ][RelY]*PIPO+PEPE*z2[torsoZ][RelY],pZ+z1[torsoZ][RelZ],zombie[j][speed]*0.01*Zspeed);
                if (zombie[j][pedazos] & brazo1)
				MoveObject(zombie[j][rArm],pX+z1[rArmZ][RelX]*PIPO+PEPE*z2[rArmZ][RelX],pY+z1[rArmZ][RelY]*PIPO+PEPE*z2[rArmZ][RelY],pZ+A1[der][AZ]*AA1+AA2*A2[der][AZ],zombie[j][speed]*0.01*Zspeed);
				if (zombie[j][pedazos] & brazo2)
				MoveObject(zombie[j][lArm],pX+z1[lArmZ][RelX]*PIPO+PEPE*z2[lArmZ][RelX],pY+z1[lArmZ][RelY]*PIPO+PEPE*z2[lArmZ][RelY],pZ+A1[izq][AZ]*AA1-AA2*A2[izq][AZ],zombie[j][speed]*0.01*Zspeed);
				if (zombie[j][pedazos] & pierna1)
				MoveObject(zombie[j][rLeg],pX+z1[rLegZ][RelX]*PIPO+PEPE*z2[rLegZ][RelX],pY+z1[rLegZ][RelY]*PIPO+PEPE*z2[rLegZ][RelY],pZ+z1[rLegZ][RelZ]+float(zombie[j][LegsH])*0.2,zombie[j][speed]*0.01*Zspeed);
                if (zombie[j][pedazos] & pierna2)
				MoveObject(zombie[j][lLeg],pX+z1[lLegZ][RelX]*PIPO+PEPE*z2[lLegZ][RelX],pY+z1[lLegZ][RelY]*PIPO+PEPE*z2[lLegZ][RelY],pZ+z1[lLegZ][RelZ]+float(!zombie[j][LegsH])*0.2,zombie[j][speed]*0.01*Zspeed);
			}
			else//the zombie EATS you unless you are in a vehicle or you are alredy dead
			{
				StopObject(zombie[j][head]);
				StopObject(zombie[j][torso]);
				StopObject(zombie[j][rArm]);
				StopObject(zombie[j][lArm]);
				StopObject(zombie[j][rLeg]);
				StopObject(zombie[j][lLeg]);
				GetPlayerHealth(zombie[j][target],H);
				if ( !vehicleStatus && !PlayerDeath[zombie[j][target]])
				{
					SetPlayerHealth(zombie[j][target],H-0.4);
				}
			}
		}
	}
	return 1;
}
//------------------------------------------------------------------------------
public OnPlayerSpawn(playerid)
{
    PlayerDeath[playerid]=false;
    if (apocalipsis)
    {
    	ResetPlayerMoney(playerid);
		ResetPlayerWeapons(playerid);
 	 	GivePlayerWeapon(playerid,set[setNumber][0][0],set[setNumber][0][1]);
 	 	GivePlayerWeapon(playerid,set[setNumber][1][0],set[setNumber][1][1]);
 	 	GivePlayerWeapon(playerid,set[setNumber][2][0],set[setNumber][2][1]);
	}
	return 1;
}
//------------------------------------------------------------------------------
public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerDeath[playerid]=true;
	if (apocalipsis && killerid==INVALID_PLAYER_ID)
	{
	    new tmp[255];
	    format(tmp,255,"~w~SCORE~n~~r~Zombies~w~: %d ~y~+1 ~n~~b~Humans~w~: %d",scorez,scorep);
	    scorez++;
	    GameTextForAll(tmp,2000,4);
	    attacknearest();
	}

	return 1;
}
//------------------------------------------------------------------------------
public OnPlayerConnect(playerid)
{
	if (apocalipsis)
	{
	    money[playerid]=GetPlayerMoney(playerid);
	    ResetPlayerMoney(playerid);
	    QuitarArmasZombie(playerid);
	}
	return 1;
}
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
fire(playerid,STAT)
{
    new tmp[250];
    new  weap = GetPlayerWeapon(playerid);
    format(tmp,sizeof(tmp),"ARMA ID : %d ", weap);
    SendClientMessageToAll(0xFFFF00AA,tmp);
    if (!weapL[weap][allow])
    {

        GameTextForPlayer(playerid,weapL[weap][mnsg],2000,5);
        return 1;
    }
    if (!weapL[weap][continua] && STAT==HOLD)
    {
        return 1;
    }
    Ticket[playerid]=tickcount()+delay;

	new Float:pX,Float:pY,Float:pZ,Float:pA,Float:PEPE,Float:PIPO;
	new Float:zzX,Float:zzY,Float:zzA;
	GetPlayerPos(playerid,pX,pY,pZ);
	GetPlayerFacingAngle(playerid,pA);
	pZ=pZ+0.7;
	new ran;
	for (new j=0;j<TOTALZombies;j++)
	{
	    if (IsValidObject(zombie[j][torso]))
	    {
	    	GetObjectPos(zombie[j][head],X,Y,Z);
	    	zzX=X-pX;zzY=Y-pY;zzA=atan2(zzX,zzY);if(zzA>0)zzA-=360.0;
		}
		if (zombie[j][undead]&&(floatsqroot(floatpower(zzX,2)+floatpower(zzY,2)))<weapL[weap][range] && (floatabs(zzA+pA)<weapL[weap][wide]))
		{
		    Z-=1.7;
            zombie[j][HP]-= random(weapL[weap][damageMax]-weapL[weap][damageMin])+weapL[weap][damageMin];
            GameTextForPlayer(playerid,weapL[weap][mnsg],delay-100,5);
			PEPE = floatsin((zombie[j][angulo]*3.14159/180.0));
			PIPO = floatcos((zombie[j][angulo]*3.14159/180.0));
			if (weapL[weap][cutting])
		    {
                if  ((zombie[j][pedazos] & brazo1) || (zombie[j][pedazos] & brazo2))
                {
                    if (ran < 20)
                    {
                    	if (( ran < 10 || !(zombie[j][pedazos] & brazo2)) && (zombie[j][pedazos] & brazo1))
						{
							zombie[j][pedazos]-=brazo1;MoveObject(zombie[j][rArm],X+z1[rArmZ][RelX]*PIPO+PEPE*z2[rArmZ][RelX],Y+z1[rArmZ][RelY]*PIPO+PEPE*z2[rArmZ][RelY],Z,1.0);
						}
                    	else
						{
							zombie[j][pedazos]-=brazo2;MoveObject(zombie[j][lArm],X+z1[lArmZ][RelX]*PIPO+PEPE*z2[lArmZ][RelX],Y+z1[lArmZ][RelY]*PIPO+PEPE*z2[lArmZ][RelY],Z,1.0);
						}
					}
                }
                else if  (zombie[j][HP]<40 && (zombie[j][pedazos] & pierna1 ) && (zombie[j][pedazos] & pierna2))
                {
                    if (ran < 15){zombie[j][pedazos]-=pierna1;MoveObject(zombie[j][rLeg],X+z1[rLegZ][RelX]*PIPO+PEPE*z2[rLegZ][RelX],Y+z1[rLegZ][RelY]*PIPO+PEPE*z2[rLegZ][RelY],Z,1.0);}
                    else{zombie[j][pedazos]-=pierna2;MoveObject(zombie[j][lLeg],X+z1[lLegZ][RelX]*PIPO+PEPE*z2[lLegZ][RelX],Y+z1[lLegZ][RelY]*PIPO+PEPE*z2[lLegZ][RelY],Z,1.0);}
                    zombie[j][speed]-=float(40);
                }
//			}
            }
            if (zombie[j][HP]<0 && zombie[j][undead])
            {
            	zombie[j][undead]=false;
            	NOFZombies--;
				MoveObject(zombie[j][head],X,Y,Z,1.5);
				MoveObject(zombie[j][torso],X+z1[torsoZ][RelX]*PIPO+PEPE*z2[torsoZ][RelX],Y+z1[torsoZ][RelY]*PIPO+PEPE*z2[torsoZ][RelY],Z+0.4,1.5);
                if (zombie[j][pedazos] & brazo1)
				MoveObject(zombie[j][rArm],X+z1[rArmZ][RelX]*PIPO+PEPE*z2[rArmZ][RelX],Y+z1[rArmZ][RelY]*PIPO+PEPE*z2[rArmZ][RelY],Z,1.5);
				if (zombie[j][pedazos] & brazo2)
				MoveObject(zombie[j][lArm],X+z1[lArmZ][RelX]*PIPO+PEPE*z2[lArmZ][RelX],Y+z1[lArmZ][RelY]*PIPO+PEPE*z2[lArmZ][RelY],Z,1.5);
				if (zombie[j][pedazos] & pierna1)
				StopObject(zombie[j][rLeg]);
				if (zombie[j][pedazos] & pierna2)
				StopObject(zombie[j][lLeg]);
				if (apocalipsis)
				{
					format(tmp,sizeof(tmp),"~w~SCORE~n~~r~Zombies~w~: %d ~n~~b~Humans~w~: %d ~y~+1",scorez,scorep);
					scorep++;
					GameTextForAll(tmp,2000,4);
					ran = random(10);
					SetTimer("CreateRandomZombie",ran*1000,0);
					attacknearest();
				}
			}
		}
	}
	return 1;
}
//------------------------------------------------------------------------------
public HoldingFire()
{
	new keys,updown,leftright;
	for (new i=0;i<MAX_PLAYERS;i++)
	{
	    if (IsPlayerConnected(i))
	    {
	    	GetPlayerKeys(i,keys,updown,leftright);
	    	if ((keys & KEY_FIRE)&&(!IsPlayerInAnyVehicle(i))&&(Ticket[i]<tickcount()))
		    {
		        fire(i,HOLD);
		    }
	    }
	}
}
//------------------------------------------------------------------------------
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if ((NOFZombies>0) && (newkeys & KEY_FIRE)&&(!IsPlayerInAnyVehicle(playerid))&&(Ticket[playerid]<tickcount()))
    {
        fire(playerid,PRESS);
    }
}
//------------------------------------------------------------------------------
public CreateRandomZombie()
{
    new playerid = random(MAX_PLAYERS);
    while (!IsPlayerConnected(playerid)&&GetPlayerInterior(playerid)==0)playerid = random(MAX_PLAYERS);
	new Float:pX,Float:pY,Float:pZ,Float:Ang;
	GetPlayerPos(playerid,pX,pY,pZ);
	Ang=float(random(360));
	pX=pX+50.0*floatsin(Ang,degrees);
	pY=pY+50.0*floatcos(Ang,degrees);
	pZ=pZ+0.7;
	CrearZombie(pX,pY,pZ,Ang);
}
//------------------------------------------------------------------------------
public QuitarArmasZombie(playerid)
{
	LastWeaponUsed[playerid]=GetPlayerWeapon(playerid);GetPlayerWeapon(playerid);
    new WeaponId;
    new ammo;
    for (new i=0;i<11;i++)
        {
                GetPlayerWeaponData(playerid, i, WeaponId, ammo);
                WeaponList[playerid][i][pWeapId]=WeaponId;
                WeaponList[playerid][i][pAmmo]=ammo;
        }
    ResetPlayerWeapons(playerid);
    return 1;
}
//------------------------------------------------------------------------------
public DevolverArmasZombie(playerid)
{
    new index;
    for (new i=0;i<11;i++)
        {
                if      (WeaponList[playerid][i][pWeapId]!=0)
                {
                    if  (WeaponList[playerid][i][pWeapId]!=LastWeaponUsed[playerid])
                {
                        GivePlayerWeapon(playerid,WeaponList[playerid][i][pWeapId],WeaponList[playerid][i][pAmmo]);
                }
                        else
                        {
                                index=i;
                        }
        }
        }
    GivePlayerWeapon(playerid,WeaponList[playerid][index][pWeapId],WeaponList[playerid][index][pAmmo]);
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)