Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -=[ Minijuego Survival ]=-
- -=[ By: Cesar_Google ]=-
- -=[ Version: 1.5 ]=-
- -=[ Beta No Estable ]=-
- Plagio:
- Es una infracción al derecho de autor acerca de una obra artística o intelectual de cualquier tipo,
- en la que se incurre cuando se presenta una obra ajena como propia u original.
- ________ ___________
- | ______| | _________|
- | | | |
- | | | | ______
- | | | | | __ |
- | | | | |_| | |
- | |______ | |_______| |
- |________| |___________|
- =====
- */
- #include <a_samp>
- #include <zcmd>
- #tryinclude <foreach>
- #if !defined _FOREACH_LOCAL_VERSION
- #define foreach(%0: Player) \
- for(new %0, m = GetMaxPlayers(); %0 < m; %0++)if(IsPlayerConnected(%0) && !IsPlayerNPC(%0))
- #endif
- #pragma tabsize 0
- #define Publico:%0(%1) forward %0(%1); public %0(%1)
- #define Creditos "-=[ Minijuego Survival By: Cesar_Google ]=-"
- #define SURVIVAL_OPCION "EQUIPO 1 Nombre: %s\nEQUIPO 1 Nombre: %s\nEQUIPO 1 Nombre: %s\nEQUIPO 2 Nombre: %s\nEQUIPO 2 Nombre: %s\nEQUIPO 2 Nombre: %s\nComenzar Minijuego"
- #define MAX_ROUND (2)
- #define MAXIMO (3)
- #define Dialog_Load (12000)
- #define Dialog_Electo (12001)
- enum Info
- {
- Player_A,
- Player_B,
- Player_C,
- Player_D,
- Player_E,
- Player_F,
- Start,
- Round,
- Punto_A,
- Punto_B,
- Score_A,
- Score_B,
- EnMinigame,
- Spectando
- }
- new SurvivalInfo[Info];
- new PlayerSurvival[MAX_PLAYERS][Info];
- new Cadena[256];
- new Text:Contenido;
- new Stats[128];
- new Float:Sangre[6];
- new Float:Vida_A;
- new Float:Vida_B;
- new EnCadena[256];
- new Float:Chaleco[6];
- public OnFilterScriptInit()
- {
- print("||======================================||");
- print("||"Creditos"||");
- print("||======================================||");
- SurvivalInfo[Player_A] = -1;
- SurvivalInfo[Player_B] = -1;
- SurvivalInfo[Player_C] = -1;
- SurvivalInfo[Player_D] = -1;
- SurvivalInfo[Player_E] = -1;
- SurvivalInfo[Player_F] = -1;
- SurvivalInfo[Score_A] = 0;
- SurvivalInfo[Score_B] = 0;
- SurvivalInfo[Round] = MAX_ROUND;
- SurvivalInfo[Start] = 0;
- Contenido = TextDrawCreate(204.000000, 52.000000, "Vida Team A: 600 10/10 Vida Team B: 600");
- TextDrawBackgroundColor(Contenido, 255);
- TextDrawFont(Contenido, 1);
- TextDrawLetterSize(Contenido, 0.260000, 1.600000);
- TextDrawColor(Contenido, -1027423542);
- TextDrawSetOutline(Contenido, 1);
- TextDrawSetProportional(Contenido, 1);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- PlayerSurvival[playerid][EnMinigame] = 0;
- PlayerSurvival[playerid][Spectando] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid,reason)
- {
- if( PlayerSurvival[playerid][EnMinigame] == 1 )
- {
- SurvivalInfo[Player_A] = -1;
- SurvivalInfo[Player_B] = -1;
- SurvivalInfo[Player_C] = -1;
- SurvivalInfo[Player_D] = -1;
- SurvivalInfo[Player_E] = -1;
- SurvivalInfo[Player_F] = -1;
- SurvivalInfo[Start] = 0;
- SurvivalInfo[Round] = 0;
- SurvivalInfo[Punto_A] = 0;
- SurvivalInfo[Punto_B] = 0;
- SurvivalInfo[Score_A] = 0;
- SurvivalInfo[Score_B] = 0;
- foreach(new i:Player)
- {
- if( PlayerSurvival[i][EnMinigame] == 1 )
- {
- PlayerSurvival[i][EnMinigame] = 0;
- PlayerSurvival[i][Spectando] = 0;
- SpawnPlayer(i);
- }
- }
- SendClientMessageToAll(-1, "Se cancela el Minijuego puesto que uno de los jugadores abandono el servidor..!");
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if( PlayerSurvival[playerid][EnMinigame] == 1 && PlayerSurvival[playerid][Spectando] == 0)
- {
- Posicion(SurvivalInfo[Player_A], 136.6301,-86.7180,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_B], 132.7864,-86.8496,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_C], 128.6443,-86.8047,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_D], 127.9004,-132.3238,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_E], 132.6352,-132.2935,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_F], 137.6153,-132.2618,1.4283, 0, 10);
- return 1;
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(PlayerSurvival[playerid][EnMinigame] == 1)
- {
- if( SurvivalInfo[Player_A] == killerid || SurvivalInfo[Player_B] == killerid || SurvivalInfo[Player_C] == killerid )
- {
- SurvivalInfo[Punto_A]++;
- if(SurvivalInfo[Punto_A] == MAXIMO)
- {
- SurvivalInfo[Score_A]++;
- SurvivalInfo[Punto_A] = 0;
- if(SurvivalInfo[Score_A] == SurvivalInfo[Round])
- {
- SurvivalInfo[Score_A] = 0;
- format(EnCadena, sizeof(EnCadena), "Minijuego Finalizado: El Equipo A le gano al Equipo B con %d De vida, Con %d derrotas y %d Victorias", floatround(Vida_A), SurvivalInfo[Score_B], SurvivalInfo[Score_A]);
- SendClientMessageToAll(-1, EnCadena);
- EndMinigame();
- }
- }
- }
- if( SurvivalInfo[Player_D] == killerid || SurvivalInfo[Player_E] == killerid || SurvivalInfo[Player_F] == killerid )
- {
- SurvivalInfo[Punto_B]++;
- if(SurvivalInfo[Punto_B] == MAXIMO)
- {
- SurvivalInfo[Score_B]++;
- SurvivalInfo[Punto_B] = 0;
- if(SurvivalInfo[Score_B] == SurvivalInfo[Round])
- {
- SurvivalInfo[Score_B] = 0;
- format(EnCadena, sizeof(EnCadena), "Minijuego Finalizado: El Equipo B le gano al Equipo A con %d De vida, Con %d derrotas y %d Victorias", floatround(Vida_B), SurvivalInfo[Score_A], SurvivalInfo[Score_B]);
- SendClientMessageToAll(-1, EnCadena);
- EndMinigame();
- }
- }
- }
- }
- if(PlayerSurvival[playerid][EnMinigame] == 1)
- {
- TogglePlayerSpectating(playerid, true);
- PlayerSpectatePlayer(playerid, killerid);
- PlayerSurvival[playerid][Spectando] = 1;
- }
- ActualizarContenido();
- return 1;
- }
- stock Nombre(playerid)
- {
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, sizeof(Name));
- return Name;
- }
- Publico: ElectorName(playerid)
- {
- SurvivalInfo[Player_A] = playerid;
- format(Cadena, sizeof(Cadena), SURVIVAL_OPCION,
- Nombre(SurvivalInfo[Player_A]),
- Nombre(SurvivalInfo[Player_B]),
- Nombre(SurvivalInfo[Player_C]),
- Nombre(SurvivalInfo[Player_D]),
- Nombre(SurvivalInfo[Player_E]),
- Nombre(SurvivalInfo[Player_F]));
- ShowPlayerDialog(playerid, Dialog_Load, DIALOG_STYLE_LIST, Creditos, Cadena, "Aceptar", "Cancelar");
- return 1;
- }
- Publico: Posicion(playerid, Float:x, Float:y, Float:z, Interiorid, Worldid)
- {
- SetPlayerPos(playerid, Float:x, Float:y, Float:z);
- SetPlayerInterior(playerid, Interiorid);
- SetPlayerVirtualWorld(playerid, Worldid);
- return 1;
- }
- stock VidaArmadura( playerid, Valor)
- {
- GetPlayerHealth(playerid,Sangre[Valor]);
- GetPlayerArmour(playerid,Chaleco[Valor]);
- new Cantidad = floatround(Sangre[Valor]) + floatround(Chaleco[Valor]);
- return Cantidad;
- }
- Publico: EndMinigame( )
- {
- foreach(new i:Player)
- {
- if( PlayerSurvival[i][EnMinigame] == 1 )
- {
- SurvivalInfo[Player_A] = -1;
- SurvivalInfo[Player_B] = -1;
- SurvivalInfo[Player_C] = -1;
- SurvivalInfo[Player_D] = -1;
- SurvivalInfo[Player_E] = -1;
- SurvivalInfo[Player_F] = -1;
- SurvivalInfo[Start] = 0;
- SurvivalInfo[Round] = 0;
- SurvivalInfo[Punto_A] = 0;
- SurvivalInfo[Punto_B] = 0;
- SurvivalInfo[Score_A] = 0;
- SurvivalInfo[Score_B] = 0;
- PlayerSurvival[i][EnMinigame] = 0;
- PlayerSurvival[i][Spectando] = 0;
- SpawnPlayer(i);
- }
- }
- }
- Publico: SpawnAll()
- {
- foreach(new playerid:Player)
- {
- if(PlayerSurvival[playerid][EnMinigame] == 1)
- {
- SpawnPlayer( playerid );
- TogglePlayerSpectating(playerid, false);
- PlayerSurvival[playerid][Spectando] = 0;
- }
- }
- }
- public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
- {
- ActualizarContenido();
- return 1;
- }
- Publico: ActualizarContenido()
- {
- Vida_A =
- VidaArmadura( SurvivalInfo[Player_A], 0) +
- VidaArmadura( SurvivalInfo[Player_B], 1) +
- VidaArmadura( SurvivalInfo[Player_C], 2);
- Vida_B =
- VidaArmadura( SurvivalInfo[Player_D], 3) +
- VidaArmadura( SurvivalInfo[Player_E], 4) +
- VidaArmadura( SurvivalInfo[Player_F], 5);
- format(Stats, sizeof(Stats), "Vida Team A: %d %d/%d Vida Team B: %d", floatround(Vida_A),SurvivalInfo[Score_A],SurvivalInfo[Score_B], floatround(Vida_B));
- TextDrawSetString(Contenido, Stats);
- foreach(new playerid:Player)
- {
- if(PlayerSurvival[playerid][EnMinigame] == 1)
- {
- TextDrawShowForPlayer(playerid, Contenido);
- }
- }
- return 1;
- }
- Publico: Start_MiniGame()
- {
- PlayerSurvival[SurvivalInfo[Player_A]][EnMinigame] = 1;
- PlayerSurvival[SurvivalInfo[Player_B]][EnMinigame] = 1;
- PlayerSurvival[SurvivalInfo[Player_C]][EnMinigame] = 1;
- PlayerSurvival[SurvivalInfo[Player_D]][EnMinigame] = 1;
- PlayerSurvival[SurvivalInfo[Player_E]][EnMinigame] = 1;
- PlayerSurvival[SurvivalInfo[Player_F]][EnMinigame] = 1;
- Posicion(SurvivalInfo[Player_A], 136.6301,-86.7180,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_B], 132.7864,-86.8496,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_C], 128.6443,-86.8047,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_D], 127.9004,-132.3238,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_E], 132.6352,-132.2935,1.4297, 0, 10);
- Posicion(SurvivalInfo[Player_F], 137.6153,-132.2618,1.4283, 0, 10);
- SurvivalInfo[Start] = 1;
- SurvivalInfo[Round] = 1;
- ActualizarContenido();
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == Dialog_Load)
- {
- if(!response)
- {
- SurvivalInfo[Player_A] = -1;
- SurvivalInfo[Player_B] = -1;
- SurvivalInfo[Player_C] = -1;
- SurvivalInfo[Player_D] = -1;
- SurvivalInfo[Player_E] = -1;
- SurvivalInfo[Player_F] = -1;
- SurvivalInfo[Score_A] = 0;
- SurvivalInfo[Score_B] = 0;
- SurvivalInfo[Start] = 0;
- SendClientMessage(playerid, -1, "Has Cancelado el minijuego...!");
- return 1;
- }
- if(response)
- {
- if(SurvivalInfo[Start] == 1)
- {
- SendClientMessage(playerid, -1, "Ya hay un minijuego en progreso...!");
- return 1;
- }
- switch (listitem)
- {
- case 0:{SurvivalInfo[Player_A] = playerid; ElectorName(playerid);}
- case 1:{ShowPlayerDialog(playerid, Dialog_Electo, DIALOG_STYLE_INPUT, Creditos, "Escribe el ID del jugador que participara", "Aceptar", "Atras");}
- case 2:{ShowPlayerDialog(playerid, Dialog_Electo+1, DIALOG_STYLE_INPUT, Creditos, "Escribe el ID del jugador que participara", "Aceptar", "Atras");}
- case 3:{ShowPlayerDialog(playerid, Dialog_Electo+2, DIALOG_STYLE_INPUT, Creditos, "Escribe el ID del jugador que participara", "Aceptar", "Atras");}
- case 4:{ShowPlayerDialog(playerid, Dialog_Electo+3, DIALOG_STYLE_INPUT, Creditos, "Escribe el ID del jugador que participara", "Aceptar", "Atras");}
- case 5:{ShowPlayerDialog(playerid, Dialog_Electo+4, DIALOG_STYLE_INPUT, Creditos, "Escribe el ID del jugador que participara", "Aceptar", "Atras");}
- case 6:{
- if(SurvivalInfo[Player_A] == -1 ||SurvivalInfo[Player_B] == -1 ||SurvivalInfo[Player_C] == -1 ||SurvivalInfo[Player_D] == -1 ||SurvivalInfo[Player_E] == -1 ||SurvivalInfo[Player_F] == -1)
- {
- SendClientMessage(playerid, -1, "Para empesar este minijuego es necesario tener todos los participantes...!");
- ElectorName(playerid);
- return 1;
- }
- Start_MiniGame();
- }
- }
- }
- }
- if(dialogid == Dialog_Electo+1)
- {
- new Acount = strval(inputtext);
- if(!response){ElectorName(playerid);}
- if(response)
- {
- if( IsPlayerConnected(Acount) && Acount == SurvivalInfo[Player_A] && Acount == SurvivalInfo[Player_C] && Acount == SurvivalInfo[Player_D] && Acount == SurvivalInfo[Player_E] && Acount == SurvivalInfo[Player_F]) return ElectorName(playerid);
- SurvivalInfo[Player_B] = Acount;
- ElectorName(playerid);
- return 1;
- }
- }
- if(dialogid == Dialog_Electo+2)
- {
- new Acount = strval(inputtext);
- if(!response){ElectorName(playerid);}
- if(response)
- {
- if( IsPlayerConnected(Acount) && Acount == SurvivalInfo[Player_A] && Acount == SurvivalInfo[Player_B] && Acount == SurvivalInfo[Player_D] && Acount == SurvivalInfo[Player_E] && Acount == SurvivalInfo[Player_F]) return ElectorName(playerid);
- SurvivalInfo[Player_C] = Acount;
- ElectorName(playerid);
- return 1;
- }
- }
- if(dialogid == Dialog_Electo+3)
- {
- new Acount = strval(inputtext);
- if(!response){ElectorName(playerid);}
- if(response)
- {
- if( IsPlayerConnected(Acount) && Acount == SurvivalInfo[Player_A] && Acount == SurvivalInfo[Player_B] && Acount == SurvivalInfo[Player_C] && Acount == SurvivalInfo[Player_E] && Acount == SurvivalInfo[Player_F]) return ElectorName(playerid);
- SurvivalInfo[Player_D] = Acount;
- ElectorName(playerid);
- return 1;
- }
- }
- if(dialogid == Dialog_Electo+4)
- {
- new Acount = strval(inputtext);
- if(!response){ElectorName(playerid);}
- if(response)
- {
- if( IsPlayerConnected(Acount) && Acount == SurvivalInfo[Player_A] && Acount == SurvivalInfo[Player_B] && Acount == SurvivalInfo[Player_C] && Acount == SurvivalInfo[Player_D] && Acount == SurvivalInfo[Player_F]) return ElectorName(playerid);
- SurvivalInfo[Player_E] = Acount;
- ElectorName(playerid);
- return 1;
- }
- }
- if(dialogid == Dialog_Electo+5)
- {
- new Acount = strval(inputtext);
- if(!response){ElectorName(playerid);}
- if(response)
- {
- if( IsPlayerConnected(Acount) && Acount == SurvivalInfo[Player_A] && Acount == SurvivalInfo[Player_B] && Acount == SurvivalInfo[Player_C] && Acount == SurvivalInfo[Player_D] && Acount == SurvivalInfo[Player_E]) return ElectorName(playerid);
- SurvivalInfo[Player_F] = Acount;
- ElectorName(playerid);
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerCommandReceived(playerid, cmdtext[] )
- {
- if( PlayerSurvival[playerid][EnMinigame] == 1 ){SendClientMessage(playerid, -1, "No puedes usar comandos en este minijuego...!"); return false;}
- return 1;
- }
- CMD:survival(playerid, params[])
- {
- return ElectorName(playerid);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement