Vou colocar o cуdigo aqui caso alguйm nгo queira fazer o download.
pawn Код:
/* ==============================================================================
= = = = = = = = = = = = = = = = = = =
Hulk 3000 - Sistemas de Arenas.
Todos os creditos reservados a:
Hulk 3000 - http://forum.sa-mp.com/member.php?u=200264
Iniciando o Script - Tutorial de Ediзгo
= = = = = = = = = = = = = =
Iniciando o Script, logo nas linhas abaixo, vocк ira perceber
a re-definiзгo de MAX_PLAYERS, altere o valor de 200 para o numero
de slots de seu servidor. Isso irб evitar a criaзгo com arrays de
armazenamento extra.
= = = = = = = = = = = = = =
A cor padrгo do script й verde, altere o valor de 0x29BC2DFF para
a cor de sua preferкncia.
= = = = = = = = = = = = = =
As arenas ' Pistola ' ' Granada ' e ' DOZE ' estгo no mesmo lugar,
um ponto alto de San Fierro. Assim como as outras 3 arenas estгo em
um ponto de Los Santos.
WORLD_PISTOLA, WORLD_MG, etc, essas definiзхes evitam que os players
se encontrem no mesmo mundo, separando os mesmos.
= = = = = = = = = = = = = =
Nгo alterar outras definiзхes das arenas.
= = = = = = = = = = = = = =
Nгo retirar os creditos.
*/#include <a_samp>#include <zcmd>public OnFilterScriptInit
(){ print("\nЧ ====================================== Ч");
print(" H3 Arena System's - Sistema de Arenas");
print(" Iniciando Sistema.");
print("Ч ======================================= Ч\n");
return 1;
}enum hInfo
{ bool:InArena,
bool:X1
}new InfoArena
[MAX_PLAYERS
][hInfo
];
new InX1;
#undef MAX_PLAYERS#define MAX_PLAYERS 200#define PadraoColor 0x29BC2DFF#define WORLD_X1 1#define WORLD_DOZE 2#define WORLD_PISTOLA 3#define WORLD_GRANADA 4#define WORLD_MG 5#define WORLD_BZ 6public OnPlayerConnect
(playerid
){ InfoArena
[playerid
][InArena
] = false;
InfoArena
[playerid
][X1
] = false;
return 1;
}public OnPlayerDisconnect
(playerid, reason
){ if ( InfoArena
[playerid
][InArena
] == true || InfoArena
[playerid
][X1
] == true
) { new Name
[24], H3String
[64];
GetPlayerName
(playerid, Name,
24);
switch(reason
) { case 0: format(H3String,
64,
"[ARENA] {FFFFFF}%s saiu do jogo em uma arena. ( CONEXГO )", Name
);
case 1: format(H3String,
64,
"[ARENA] {FFFFFF}%s saiu do jogo em uma arena ( /Q )", Name
);
case 2: format(H3String,
64,
"[ARENA] {FFFFFF}%s saiu do jogo em uma arena. ( KICK/BAN )", Name
);
} SendClientMessageToAll
(PadraoColor, H3String
);
} if ( InfoArena
[playerid
][X1
] == true
) { InX1
--;
} return 1;
}public OnPlayerDeath
(playerid, killerid, reason
){ if ( InfoArena
[playerid
][InArena
] == true || InfoArena
[playerid
][X1
] == true || killerid
!= INVALID_PLAYER_ID
) { new Name
[24], H3String
[128];
GetPlayerName
(playerid, Name,
24);
format ( H3String,
128,
"~w~Voce acabou com ~r~%s", Name
);
GameTextForPlayer
(killerid, H3String,
2000,
4);
GameTextForPlayer
(playerid,
"~r~Morte Subita",
3000,
0);
} if (InfoArena
[playerid
][X1
] == true
) { InX1
--;
} InfoArena
[playerid
][InArena
] = false;
InfoArena
[playerid
][X1
] = false;
ResetPlayerWeapons
(playerid
);
SetPlayerVirtualWorld
(playerid,
0);
return 1;
}CMD:x1
(playerid
){ if (InfoArena
[playerid
][InArena
] == true || InfoArena
[playerid
][X1
] == true
) return SendClientMessage
(playerid, PadraoColor,
"[ERRO] Retire-se da arena /kill");
if (InX1
== 2) return SendClientMessage
(playerid, PadraoColor,
"[ERRO] {FFFFFF}A Arena estб lotada, aguarde...");
new pos
= random(6), H3String
[128], Name
[24];
ResetPlayerWeapons
(playerid
);
GivePlayerWeapon
(playerid,
38,
9999);
GivePlayerWeapon
(playerid,
35,
9999);
GivePlayerWeapon
(playerid,
38,
9999);
GivePlayerWeapon
(playerid,
16,
999);
GivePlayerWeapon
(playerid,
24,
999);
SetPlayerArmour
(playerid,
100.0);
SetPlayerHealth
(playerid,
100.0);
InX1
++;
GetPlayerName
(playerid, Name,
24);
format ( H3String,
128,
"[ARENA]{FFFFFF} %s foi para a arena: X1. ( /x1 )", Name
);
SendClientMessageToAll
(PadraoColor, H3String
);
InfoArena
[playerid
][X1
] = true;
SetPlayerVirtualWorld
(playerid, WORLD_X1
);
if (pos
< 3) SetPlayerPos
(playerid,
-2339.7571,
412.1153,
73.2578);
if (pos
>= 3) SetPlayerPos
(playerid,
-2446.6318,
445.8134,
73.2578);
return 1;
}CMD:bz
(playerid
){ if (InfoArena
[playerid
][InArena
] == true || InfoArena
[playerid
][X1
] == true
) return SendClientMessage
(playerid, PadraoColor,
"[ERRO] Retire-se da arena /kill");
new pos
= random(6), H3String
[128], Name
[24];
ResetPlayerWeapons
(playerid
);
GivePlayerWeapon
(playerid,
35,
9999);
SetPlayerArmour
(playerid,
100.0);
SetPlayerHealth
(playerid,
100.0);
GetPlayerName
(playerid, Name,
24);
format ( H3String,
128,
"[ARENA]{FFFFFF} %s foi para a arena: bazuca. ( /mg )", Name
);
SendClientMessageToAll
(PadraoColor, H3String
);
InfoArena
[playerid
][InArena
] = true;
SetPlayerVirtualWorld
(playerid, WORLD_BZ
);
if (pos
< 3) SetPlayerPos
(playerid,
-2339.7571,
412.1153,
73.2578);
if (pos
>= 3) SetPlayerPos
(playerid,
-2446.6318,
445.8134,
73.2578);
return 1;
}CMD:mg
(playerid
){ if (InfoArena
[playerid
][InArena
] == true || InfoArena
[playerid
][X1
] == true
) return SendClientMessage
(playerid, PadraoColor,
"[ERRO] Retire-se da arena /kill");
new pos
= random(6), H3String
[128], Name
[24];
ResetPlayerWeapons
(playerid
);
GivePlayerWeapon
(playerid,
38,
9999);
SetPlayerArmour
(playerid,
100.0);
SetPlayerHealth
(playerid,
100.0);
GetPlayerName
(playerid, Name,
24);
format ( H3String,
128,
"[ARENA]{FFFFFF} %s foi para a arena: minigun. ( /mg )", Name
);
SendClientMessageToAll
(PadraoColor, H3String
);
InfoArena
[playerid
][InArena
] = true;
SetPlayerVirtualWorld
(playerid, WORLD_MG
);
if (pos
< 3) SetPlayerPos
(playerid,
-2339.7571,
412.1153,
73.2578);
if (pos
>= 3) SetPlayerPos
(playerid,
-2446.6318,
445.8134,
73.2578);
return 1;
}CMD:granada
(playerid
){ if (InfoArena
[playerid
][InArena
] == true || InfoArena
[playerid
][X1
] == true
) return SendClientMessage
(playerid, PadraoColor,
"[ERRO] Retire-se da arena /kill");
new pos
= random(6), H3String
[128], Name
[24];
ResetPlayerWeapons
(playerid
);
GivePlayerWeapon
(playerid,
16,
999);
SetPlayerArmour
(playerid,
100.0);
SetPlayerHealth
(playerid,
100.0);
GetPlayerName
(playerid, Name,
24);
format ( H3String,
128,
"[ARENA]{FFFFFF} %s foi para a arena: granada. ( /granada )", Name
);
SendClientMessageToAll
(PadraoColor, H3String
);
InfoArena
[playerid
][InArena
] = true;
SetPlayerVirtualWorld
(playerid, WORLD_GRANADA
);
if (pos
< 3) SetPlayerPos
(playerid,
1407.8090,
-1488.8660,
125.3697);
if (pos
>= 3) SetPlayerPos
(playerid,
1431.5345,
-1452.7095,
125.3672);
return 1;
}CMD:pistola
(playerid
){ if (InfoArena
[playerid
][InArena
] == true || InfoArena
[playerid
][X1
] == true
) return SendClientMessage
(playerid, PadraoColor,
"[ERRO] Retire-se da arena /kill");
new pos
= random(6), H3String
[128], Name
[24];
ResetPlayerWeapons
(playerid
);
GivePlayerWeapon
(playerid,
24,
999);
SetPlayerArmour
(playerid,
100.0);
SetPlayerHealth
(playerid,
100.0);
GetPlayerName
(playerid, Name,
24);
format ( H3String,
128,
"[ARENA]{FFFFFF} %s foi para a arena: pistola. ( /pistola )", Name
);
SendClientMessageToAll
(PadraoColor, H3String
);
InfoArena
[playerid
][InArena
] = true;
SetPlayerVirtualWorld
(playerid, WORLD_PISTOLA
);
if (pos
< 3) SetPlayerPos
(playerid,
1407.8090,
-1488.8660,
125.3697);
if (pos
>= 3) SetPlayerPos
(playerid,
1431.5345,
-1452.7095,
125.3672);
return 1;
}CMD:doze
(playerid
){ if (InfoArena
[playerid
][InArena
] == true || InfoArena
[playerid
][X1
] == true
) return SendClientMessage
(playerid, PadraoColor,
"[ERRO] Retire-se da arena /kill");
new pos
= random(6), H3String
[128], Name
[24];
ResetPlayerWeapons
(playerid
);
GivePlayerWeapon
(playerid,
25,
999);
SetPlayerArmour
(playerid,
100.0);
SetPlayerHealth
(playerid,
100.0);
GetPlayerName
(playerid, Name,
24);
format ( H3String,
128,
"[ARENA]{FFFFFF} %s foi para a arena: doze. ( /doze )", Name
);
SendClientMessageToAll
(PadraoColor, H3String
);
InfoArena
[playerid
][InArena
] = true;
SetPlayerVirtualWorld
(playerid, WORLD_DOZE
);
if (pos
< 3) SetPlayerPos
(playerid,
1407.8090,
-1488.8660,
125.3697);
if (pos
>= 3) SetPlayerPos
(playerid,
1431.5345,
-1452.7095,
125.3672);
return 1;
}CMD:kill
(playerid
){ SetPlayerHealth
(playerid,
0.0);
return 1;
}public OnFilterScriptExit
(){ for ( new playerid
= 0; playerid
< MAX_PLAYERS; playerid
++) { if (InfoArena
[playerid
][InArena
] == true || InfoArena
[playerid
][X1
] == true
) { ResetPlayerWeapons
(playerid
);
SendClientMessage
(playerid, PadraoColor,
"[INFO] {FFFFFF}Vocк foi spawnado. Script (Desligado/Reiniciado)");
InfoArena
[playerid
][InArena
] = false;
InfoArena
[playerid
][X1
] = false;
SpawnPlayer
(playerid
);
} } return 1;
}