Advertisement
cesar_google

CG_AD Minijuego

Nov 11th, 2012
659
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.62 KB | None | 0 0
  1. /*
  2. Hecho Por: Cesar_Google
  3.  ________         ___________
  4. |  ______|       |  _________|
  5. | |              | |
  6. | |              | |   ______
  7. | |              | |  |  __  |
  8. | |              | |  |_|  | |
  9. | |______        | |_______| |
  10. |________|       |___________|
  11.            =====
  12.             C_AD
  13. Minijuego de A/D hecho por cesar_google
  14. para usar el comando necesita ser admin RCON
  15. */
  16. #include <a_samp>
  17.  
  18. #define TXTO_ADD "Mini Juego De A/D Comienza"
  19. #define TXTO_AD  "Un administrador empezo un minijuego \n de A/D selecciona tu equipo o \n presiona ESC para salir"
  20. #define ADID 666
  21.  
  22. #define attackers 1
  23. #define defenders 2
  24.  
  25. forward EsDefensor    ( playerid );
  26. forward EsAtacante    ( playerid );
  27. forward AcountTimer   ( playerid );
  28. forward StartRound    (          );
  29. forward StartCam      (          );
  30. forward WinAttackers  (          );
  31. forward WinDefenders  ( playerid );
  32. forward StartTimeRound( playerid , counts );
  33.  
  34.  
  35. static AD[MAX_PLAYERS];
  36.  
  37.  
  38. new
  39. Enter_Checkpoint,
  40. Timer_Checkpoint,
  41. Timer_Check     ,
  42. Kills_attackers ,
  43. Kills_defenders ,
  44. Max_attackers   ,
  45. Max_defenders   ,
  46. EnGame
  47. ;
  48.  
  49. public OnFilterScriptInit()
  50. {
  51.  
  52.     print("||===================||");
  53.     print("||C_AD Cargado By C_G||");
  54.     print("||===================||");
  55.     EnGame = 0;
  56.    
  57.     return 1;
  58. }
  59.  
  60. public OnPlayerSpawn(playerid)
  61. {
  62.     AD[ playerid ] = 0;
  63.  
  64.     return 1;
  65. }
  66.  
  67. public OnPlayerDeath(playerid, killerid, reason)
  68. {
  69.     for ( new i = 0; i < MAX_PLAYERS; i++)
  70.     {
  71.        
  72.     if ( AD [ killerid ] == attackers )
  73.     {
  74.    
  75.     Kills_attackers++;
  76.    
  77.     if ( Kills_attackers >= Max_defenders )
  78.     {
  79.             Timer_Checkpoint = 0;
  80.             GameTextForAll("~g~Ganan ~r~ Los Atacantes",5000,3);
  81.             SpawnPlayer( i );
  82.             EnGame = 0;
  83.             DisablePlayerCheckpoint(i);
  84.     }
  85.    
  86.     }
  87.     else
  88.    
  89.     if( AD [ killerid ] == defenders )
  90.     {
  91.    
  92.     Kills_defenders++;
  93.    
  94.     if ( Kills_defenders >= Max_attackers )
  95.     {
  96.             Timer_Checkpoint = 0;
  97.             GameTextForAll("~g~Ganan ~b~ Los Defensores",5000,3);
  98.             SpawnPlayer( i );
  99.             DisablePlayerCheckpoint(i);
  100.             EnGame = 0;
  101.     }
  102.    
  103.     }
  104.     }
  105.     return 1;
  106. }
  107.  
  108. public OnPlayerCommandText(playerid, cmdtext[])
  109. {
  110.  
  111.     if (strcmp("/Partida", cmdtext, true, 10) == 0)
  112.     {
  113.         if ( IsPlayerAdmin( playerid ) )
  114.         {
  115.         if ( EnGame == 1 ) return SendClientMessage( playerid , -1 , "A/D Info: Ya Esta El Minijuego en curso" );
  116.         for ( new i = 0; i < MAX_PLAYERS; i++)
  117.         {
  118.         ShowPlayerDialog( i , ADID , DIALOG_STYLE_MSGBOX , TXTO_ADD , TXTO_AD , "Atacantes" , "Defensores" );
  119.         SetTimer("StartCam",10000,false);
  120.         StartTimeRound( playerid , 10 );
  121.         EnGame = 1;
  122.         }
  123.         }
  124.         else
  125.         {
  126.         SendClientMessage( playerid , -1 , "A/D Info: Tu no eres administrador" );
  127.         }
  128.         return 1;
  129.     }
  130.    
  131.     return 1;
  132. }
  133.  
  134. public OnPlayerEnterCheckpoint(playerid)
  135. {
  136.     AcountTimer( playerid );
  137.     return 1;
  138. }
  139.  
  140. public AcountTimer( playerid )
  141. {
  142.     if ( AD [ playerid ] == attackers)
  143.     {
  144.     Timer_Checkpoint++;
  145.     new str[64];
  146.     format(str,64,"~y~%d",Timer_Checkpoint);
  147.     GameTextForAll(str,1000,3);
  148.     WinAttackers(  );
  149.     Timer_Check = SetTimer("AcountTimer",1000,false);
  150.     }
  151. }
  152.  
  153. public OnPlayerLeaveCheckpoint(playerid)
  154. {
  155.     if ( Enter_Checkpoint == 1 )
  156.     {
  157.         if ( AD [ playerid ] == attackers)
  158.         {
  159.         KillTimer(Timer_Check);
  160.         Timer_Checkpoint = 0 ;
  161.         }
  162.     }
  163.     return 1;
  164. }
  165.  
  166. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  167. {
  168.     if ( dialogid == ADID )
  169.     {
  170.     if ( !response ){ EsDefensor ( playerid ) ; return 1 ; }
  171.     if (  response ){ EsAtacante ( playerid ) ; return 1 ; }
  172.     return 1;
  173.     }
  174.     return 1;
  175. }
  176.  
  177. public StartCam(   )
  178. {
  179.     for ( new i = 0; i < MAX_PLAYERS; i++)
  180.     {
  181.     if ( AD [ i ] >= 1 )
  182.     {
  183.     SetTimer( "StartRound" , 10500 , false );
  184.     StartTimeRound( i , 10 );
  185.     SetPlayerCameraPos( i , 1380.4127 , 2170.7090 , 40.000);
  186.     SetPlayerCameraLookAt( i , 1384.4127 , 2185.7090 , 40.000);
  187.     }
  188.     }
  189.     return 1;
  190. }
  191.  
  192. public StartRound(   )
  193. {
  194.     for ( new i = 0; i < MAX_PLAYERS; i++)
  195.     {
  196.         if ( AD [ i ] >= 1 )
  197.         {
  198.             TogglePlayerControllable( i , 1 );
  199.             SetCameraBehindPlayer( i );
  200.             SetPlayerCheckpoint( i , 1384.4127 , 2185.7090 , 11.000 , 2);
  201.             Enter_Checkpoint = 1;
  202.             StartTimeRound( i , 5 );
  203.             SetTimerEx("WinDefenders",5000,false,"ii",i);
  204.         }
  205.     }
  206.     return 1;
  207. }
  208.  
  209. public EsDefensor( playerid )
  210. {
  211.     AD [ playerid ] = defenders ;
  212.     SetPlayerColor ( playerid , 0x0000FFAA );
  213.     new RS = random( 3 );
  214.     switch ( RS )
  215.     {
  216.     case 0: SetPlayerPos( playerid , 1395.9873,2183.6284,11.0234 );
  217.     case 1: SetPlayerPos( playerid , 1394.3312,2194.6814,11.0234 );
  218.     case 2: SetPlayerPos( playerid , 1395.0850,2186.9119,11.0234 );
  219.     }
  220.     SetPlayerHealth( playerid , 100 );
  221.     SetPlayerArmour( playerid , 100 );
  222.    
  223.     Max_defenders++;
  224.    
  225.     TogglePlayerControllable( playerid , 0 );
  226.  
  227.     return 1;
  228. }
  229.  
  230. public EsAtacante( playerid )
  231. {
  232.     AD [ playerid ] = attackers ;
  233.     SetPlayerColor ( playerid , 0xFF0000AA );
  234.     new RS = random( 3 );
  235.     switch ( RS )
  236.     {
  237.     case 0: SetPlayerPos( playerid , 1302.1281,2109.5955,11.0234 );
  238.     case 1: SetPlayerPos( playerid , 1301.9929,2115.8318,11.0234 );
  239.     case 2: SetPlayerPos( playerid , 1302.2112,2125.7681,11.0234 );
  240.     }
  241.     SetPlayerHealth( playerid , 100 );
  242.     SetPlayerArmour( playerid , 100 );
  243.    
  244.     Max_attackers++;
  245.    
  246.     TogglePlayerControllable( playerid , 0 );
  247.  
  248.     return 1;
  249. }
  250.  
  251. stock StopTimeRound(playerid) {
  252. if(GetPVarInt(playerid,"Acounts")) {
  253. KillTimer(GetPVarInt(playerid,"Acounts_ID"));
  254. SetPVarInt(playerid,"Acounts",0);
  255. return 1;
  256. }
  257. return 0;
  258. }
  259.  
  260. public StartTimeRound( playerid , counts )
  261. {
  262. SetPVarInt(playerid,"Acounts",1);
  263. new count_text[64];
  264. format(count_text,sizeof(count_text),"~g~%d ~w~Segundos",counts);
  265. if(counts > 0 && IsPlayerConnected(playerid)) {
  266. SetPVarInt(playerid,"Acounts_ID",SetTimerEx("StartTimeRound",1000,false,"ii",playerid,counts-1));
  267. GameTextForAll(count_text,999, 4);
  268. }
  269. else
  270. {
  271. SetPVarInt(playerid,"Acounts",0);
  272. }
  273. return 1;
  274. }
  275.  
  276. public WinAttackers(  )
  277. {
  278.     if ( Enter_Checkpoint == 1 )
  279.     {
  280.         for ( new i = 0; i < MAX_PLAYERS; i++)
  281.         {
  282.             if ( Timer_Checkpoint >= 20 )
  283.             {
  284.             Timer_Checkpoint = 0;
  285.             GameTextForAll("~g~Ganan ~r~ Los Atacantes",5000,3);
  286.             SpawnPlayer( i );
  287.             DisablePlayerCheckpoint(i);
  288.             EnGame = 0;
  289.             return;
  290.             }
  291.         }
  292.     }
  293. }
  294.  
  295. public WinDefenders( playerid )
  296. {
  297.   GameTextForAll("~g~Ganan ~b~ Los Defensores",5000,3);
  298.   SetPlayerHealth( playerid , 0.0 );
  299.   DisablePlayerCheckpoint( playerid );
  300.   EnGame = 0;
  301.   return 1;
  302. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement