Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include a_samp
- #include streamer
- #include zcmd
- #define MAX_MINES 5
- #define TEMPO 6
- #define INVALID_MINE_RANGE -100.0
- new
- pMineObj[MAX_PLAYERS][MAX_MINES][2],
- pMineArea[MAX_PLAYERS][MAX_MINES],
- bool:pMineAtivada[MAX_PLAYERS][MAX_MINES],
- Float:pMineRange[MAX_PLAYERS][MAX_MINES][3]
- ;
- CMD:desativartodas(playerid) {
- if(!IsPlayerAdmin(playerid)) return 0;
- for(new i; i < MAX_PLAYERS; i++) {
- if(IsPlayerConnected(i)) {
- for(new mineid; mineid < MAX_MINES; mineid++) {
- if((pMineObj[i][mineid][0] != 0) && (pMineObj[i][mineid][1] != 0)) {
- pMineAtivada[i][mineid] = false;
- }
- }
- }
- }
- return 1;
- }
- CMD:ativarminas(playerid) {
- for(new mineid; mineid < MAX_MINES; mineid++) {
- if((pMineObj[playerid][mineid][0] != 0) && (pMineObj[playerid][mineid][1] != 0)) {
- pMineAtivada[playerid][mineid] = true;
- }
- }
- SendClientMessage(playerid, -1, "Minas ativadas");
- return 1;
- }
- CMD:desativarminas(playerid) {
- for(new mineid; mineid < MAX_MINES; mineid++) {
- if((pMineObj[playerid][mineid][0] != 0) && (pMineObj[playerid][mineid][1] != 0)) {
- pMineAtivada[playerid][mineid] = false;
- }
- }
- SendClientMessage(playerid, -1, "Minas desativadas");
- return 1;
- }
- CMD:mina(playerid) {
- if(GetPlayerInterior(playerid) != 0) return 1;
- new bool:freio;
- for(new mineid; mineid < MAX_MINES; mineid++) {
- if((pMineObj[playerid][mineid][0] == 0) && (pMineObj[playerid][mineid][1] == 0)) {
- GetPlayerPos(playerid, pMineRange[playerid][mineid][0], pMineRange[playerid][mineid][1], pMineRange[playerid][mineid][2]);
- pMineObj[playerid][mineid][0] = CreateDynamicObject(1213, pMineRange[playerid][mineid][0], pMineRange[playerid][mineid][1], pMineRange[playerid][mineid][2]-0.90, 0.0, 0.0, 0.0, -1, -1, -1);
- pMineObj[playerid][mineid][1] = CreateDynamicObject(19290, pMineRange[playerid][mineid][0], pMineRange[playerid][mineid][1], pMineRange[playerid][mineid][2]-0.90, 0.0, 0.0, 0.0, -1, -1, -1);
- pMineArea[playerid][mineid] = CreateDynamicCube(pMineRange[playerid][mineid][0], pMineRange[playerid][mineid][1], pMineRange[playerid][mineid][2]-0.90, pMineRange[playerid][mineid][0]+3.5, pMineRange[playerid][mineid][1]+3.5, pMineRange[playerid][mineid][2]+3.5, -1, -1, -1);
- SetTimerEx("DestruirMina", TEMPO*60*1000, false, "ii", playerid, mineid);
- SendClientMessage(playerid, -1, "Mina criada!");
- print("[MINAS] Mina criada!");
- freio = true;
- }
- if(freio == true) break;
- }
- if(freio == false) return SendClientMessage(playerid, -1, "Você não possui ou já atingiu o número maximo de minas colocadas!");
- return 1;
- }
- DestruirMina(playerid, mineid); public DestruirMina(playerid, mineid) {
- for(new i; i < 2; i ++) {
- DestroyDynamicObject(pMineObj[playerid][mineid][i]);
- DestroyDynamicArea(pMineArea[playerid][mineid]);
- pMineAtivada[playerid][mineid] = false;
- pMineObj[playerid][mineid][i] = 0;
- for(new x; x < 3; x++)
- pMineRange[playerid][mineid][x] = INVALID_MINE_RANGE;
- }
- print("[MINAS] Mina distruida!");
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason) {
- for(new mineid; mineid < MAX_MINES; mineid++) {
- for(new i; i < 2; i ++) {
- DestroyDynamicObject(pMineObj[playerid][mineid][i]);
- DestroyDynamicArea(pMineArea[playerid][mineid]);
- pMineAtivada[playerid][mineid] = false;
- pMineObj[playerid][mineid][i] = 0;
- for(new x; x < 3; x++)
- pMineRange[playerid][mineid][x] = INVALID_MINE_RANGE;
- }
- }
- return 1;
- }
- public OnPlayerEnterDynamicArea(playerid, areaid)
- {
- for(new i; i < MAX_PLAYERS; i++) {
- if(IsPlayerConnected(i)) {
- for(new mineid; mineid < MAX_MINES; mineid++) {
- if( (areaid == pMineArea[i][mineid]) && (pMineAtivada[i][mineid] == true) )
- CreateExplosion(pMineRange[i][mineid][0], pMineRange[i][mineid][1], pMineRange[i][mineid][2], 2, 3.0);
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement