Badyx

[FS] Sistema de trabajos

Oct 3rd, 2012
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.63 KB | None | 0 0
  1. /*
  2.         Sistema de trabajos By Badyx
  3.                                                        
  4.  
  5.         Fecha:      05/10/2012
  6.         Tiempo:     1 hora
  7.  
  8.                                                        
  9.         3 trabajos
  10.  
  11.         Repartidor periodicos
  12.         Repartidor de mensajeria
  13.         Pescador
  14.  
  15.         Para www.Pawnoscripting.com
  16.  
  17.  
  18.         */
  19.                                                        
  20.                                                        
  21. #include <a_samp>
  22.  
  23. #define funcion%0(%1) \
  24.                      forward %0(%1); \
  25.                                     public %0(%1)
  26.                                    
  27. #define Rojo                                                          0xa80707FF
  28. #define Verde                                                         0x1eb032FF
  29.  
  30. new Float:PuntosRPeriodicos[3][3] = {
  31. {910.0433,-1795.7535,13.5547},
  32. {923.4427,-1797.1438,13.5469},
  33. {934.5285,-1798.4348,13.7699}
  34. };
  35.  
  36. new Float:PuntosRepartidor[2][3] = {
  37. {1682.2114,-1635.0190,13.6392},
  38. {1804.1008,-2118.6482,13.5543}
  39. };
  40.  
  41. new bool:RepartiendoPeriodicos[MAX_PLAYERS];
  42. new bool:RepartiendoCajas[MAX_PLAYERS];
  43. new bool:EstaPescando[MAX_PLAYERS];
  44.  
  45.  
  46. #if defined FILTERSCRIPT
  47.  
  48.  
  49. #else
  50.  
  51. main(){}
  52.  
  53. #endif
  54.  
  55.  
  56. funcion OnPlayerConnect(playerid)
  57. {
  58.     RepartiendoPeriodicos[playerid] = false;
  59.     RepartiendoCajas[playerid] = false;
  60.     EstaPescando[playerid] = false;
  61.     return 1;
  62. }
  63.  
  64. funcion OnPlayerDisconnect(playerid, reason)
  65. {
  66.     RepartiendoPeriodicos[playerid] = false;
  67.     RepartiendoCajas[playerid] = false;
  68.     EstaPescando[playerid] = false;
  69.     return 1;
  70. }
  71.  
  72.  
  73. funcion OnPlayerCommandText(playerid, cmdtext[])
  74. {
  75.  
  76. /*      Repartidor de periodicos        */
  77.  
  78.     if (strcmp("/RepartirPeriodicos", cmdtext, true, 10) == 0)
  79.     {
  80.         if (RepartiendoPeriodicos[playerid] == false)
  81.         {
  82.         if(EsBicicleta(GetPlayerVehicleID(playerid)))
  83.         {
  84.         if(IsPlayerInAnyVehicle(playerid))
  85.         {
  86.         SendClientMessage(playerid,Verde,"Repartiendo periodicos...");
  87.         SendClientMessage(playerid,Verde,"Dirigete a los checkpoints (puntos rojos).");
  88.         RepartiendoPeriodicos[playerid] = true;
  89.         new randomize;
  90.         randomize = random(sizeof(PuntosRPeriodicos));
  91.         SetPlayerCheckpoint(playerid, PuntosRPeriodicos[randomize][0], PuntosRPeriodicos[randomize][1], PuntosRPeriodicos[randomize][2], 5.0);
  92.         return 1;
  93.         }
  94.         return SendClientMessage(playerid,Rojo,"[Error] No estas en un coche!");
  95.         }
  96.         return SendClientMessage(playerid,Rojo,"[Error] Necesita estar en una bicicleta para usar este comando!");
  97.         }
  98.         return SendClientMessage(playerid,Rojo,"[Error] Usted ya esta repartiendo periodicos!");
  99.     }
  100.    
  101.     if (strcmp("/dRepartirPeriodicos", cmdtext, true, 10) == 0)
  102.     {
  103.         if (RepartiendoPeriodicos[playerid] == true)
  104.         {
  105.         SendClientMessage(playerid,Verde,"Dejaste de repartir periodicos.");
  106.         RepartiendoPeriodicos[playerid] = false;
  107.         DisablePlayerRaceCheckpoint(playerid);
  108.         return 1;
  109.         }
  110.         return SendClientMessage(playerid,Rojo,"[Error] Usted no esta repartiendo periodicos!");
  111.     }
  112.    
  113.    
  114. /*      Repartidor      */
  115.    
  116.     if (strcmp("/Repartir", cmdtext, true, 10) == 0)
  117.     {
  118.         if (RepartiendoCajas[playerid] == false)
  119.         {
  120.         if(IsPlayerInAnyVehicle(playerid))
  121.         {
  122.         SendClientMessage(playerid,Verde,"Repariendo...");
  123.         SendClientMessage(playerid,Verde,"Dirigete a los checkpoints (puntos rojos).");
  124.         new randomize;
  125.         randomize = random(sizeof(PuntosRPeriodicos));
  126.         SetPlayerCheckpoint(playerid, PuntosRepartidor[randomize][0], PuntosRepartidor[randomize][1], PuntosRepartidor[randomize][2], 5.0);
  127.         RepartiendoCajas[playerid] = true;
  128.         return 1;
  129.         }
  130.         return SendClientMessage(playerid,Rojo,"[Error] No estas en un coche!");
  131.         }
  132.         return SendClientMessage(playerid,Rojo,"[Error] Usted ya esta repartiendo!");
  133.     }
  134.    
  135.     if (strcmp("/dRepartir", cmdtext, true, 10) == 0)
  136.     {
  137.         if (RepartiendoCajas[playerid] == true)
  138.         {
  139.         SendClientMessage(playerid,Verde,"Dejaste de repartir.");
  140.         RepartiendoCajas[playerid] = false;
  141.         DisablePlayerRaceCheckpoint(playerid);
  142.         return 1;
  143.         }
  144.         return SendClientMessage(playerid,Rojo,"[Error] Usted no esta repartiendo!");
  145.     }
  146.    
  147. /*      Pescador        */
  148.    
  149.     if (strcmp("/Pescar", cmdtext, true, 10) == 0)
  150.     {
  151.         if (EstaPescando[playerid] == false)
  152.         {
  153.         if(EstaEnZonaPesca(playerid))
  154.         {
  155.         SendClientMessage(playerid,Verde,"Pescando...");
  156.         EstaPescando[playerid] = true;
  157.         SetTimerEx("Pescando", 5000, 0, "d", playerid);
  158.         return 1;
  159.         }
  160.         return SendClientMessage(playerid,Rojo,"[Error] No estas en el muelle!");
  161.         }
  162.         return SendClientMessage(playerid,Rojo,"[Error] Usted no esta pescando!");
  163.     }
  164.    
  165.     if (strcmp("/dPescar", cmdtext, true, 10) == 0)
  166.     {
  167.         if (EstaPescando[playerid] == true)
  168.         {
  169.         SendClientMessage(playerid,Verde,"Dejaste de pescar.");
  170.         EstaPescando[playerid] = false;
  171.         DisablePlayerRaceCheckpoint(playerid);
  172.         return 1;
  173.         }
  174.         return SendClientMessage(playerid,Rojo,"[Error] Usted no esta pescando!");
  175.     }
  176.    
  177.     if (strcmp("/Ayudame", cmdtext, true, 10) == 0)
  178.     {
  179.         new Mensajeayuda[600];
  180.         format(Mensajeayuda, sizeof(Mensajeayuda),
  181.         "{00F50A}|____________________Sistema de trabajos Badyx____________________| {F0F0F0}\n");
  182.         strcat(Mensajeayuda, "{F5FF00}\n\n[Repartidor de periodicos] Use /RepartirPeriodicos para empezar a repartir\nUse /DrepartirPeriodicos para dejar de repartir\n[Info] Tendras que estar en una bicicleta e ir a los puntos marcados\n\n");
  183.         strcat(Mensajeayuda, "{F5FF00}\n\n[Repartidos] Use /Repartir para empezar a repartir\nUse /Drepartir para dejar de repartir\n[Info] No se requiere nada en especial\n\n");
  184.         strcat(Mensajeayuda, "{F5FF00}\n\n[Pescador] Use /Pescar para lanzar su caña\nUse /dPescar para dejar de pescar\n[Info] Se requiere estar en el puerto\n\n");
  185.         ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, "{00A5FF}Ayuda Trabajos.", Mensajeayuda, "Aceptar", "");
  186.         return 1;
  187.     }
  188.    
  189.    
  190.     return 0;
  191. }
  192.  
  193. funcion Pescando(playerid)
  194. {
  195. new RandomPesca = random(11);
  196. switch(RandomPesca)
  197. {
  198. case 0: {SendClientMessage(playerid,Rojo,"[Error] El hilo de tu caña se a roto!");return 1;}
  199. case 1: {SendClientMessage(playerid,Verde,"Encontraste un calcetin con 100 de dinero"); GivePlayerMoney(playerid, 100);return 1;}
  200. case 2: {SendClientMessage(playerid,Verde,"Encontraste un calcetin con 20 de dinero"); GivePlayerMoney(playerid, 100);return 1;}
  201. case 3: {SendClientMessage(playerid,Verde,"Pescaste un atun y lo vendiste por 10 de dinero");GivePlayerMoney(playerid, 10);return 1;}
  202. case 4: {SendClientMessage(playerid,Rojo,"[Error] El hilo de tu caña se a roto!");return 1;}
  203. case 5: {SendClientMessage(playerid,Verde,"Pescaste un pulpo y lo vendiste por 20 de dinero");GivePlayerMoney(playerid, 20);return 1;}
  204. case 6: {SendClientMessage(playerid,Verde,"Pescaste una sardina y lo vendiste por 1 de dinero");GivePlayerMoney(playerid, 1);return 1;}
  205. case 7: {SendClientMessage(playerid,Rojo,"[Error] El hilo de tu caña se a roto!");return 1;}
  206. case 8: {SendClientMessage(playerid,Verde,"Encontraste un calcetin con 50 de dinero"); GivePlayerMoney(playerid, 100);return 1;}
  207. case 9: {SendClientMessage(playerid,Rojo,"[Error] El hilo de tu caña se a roto!");return 1;}
  208. case 10: {SendClientMessage(playerid,Rojo,"[Error] El hilo de tu caña se a roto!");return 1;}
  209. }
  210. return 1;
  211. }
  212.  
  213.  
  214. funcion EsBicicleta(vehicleid)
  215. {
  216.     new model = GetVehicleModel(vehicleid);
  217.     if(model == 481 || model == 509 || model == 510)
  218.     {
  219.         return 1;
  220.     }
  221.     return 0;
  222. }
  223.  
  224. funcion OnPlayerEnterCheckpoint(playerid)
  225. {
  226.     new string[30];
  227.     new Pasta = random(20), randomize;
  228.     if (RepartiendoPeriodicos[playerid] == true)
  229.     {
  230.     if(EsBicicleta(GetPlayerVehicleID(playerid)))
  231.     {
  232.     PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
  233.     format(string, sizeof(string), "~w~Te pagaron~n~~g~$%d",Pasta);
  234.     GameTextForPlayer(playerid, string, 5000, 1);
  235.     GivePlayerMoney(playerid, Pasta);
  236.     randomize = random(sizeof(PuntosRPeriodicos));
  237.     SetPlayerCheckpoint(playerid, PuntosRPeriodicos[randomize][0], PuntosRPeriodicos[randomize][1], PuntosRPeriodicos[randomize][2], 5.0);
  238.     }
  239.     return 1;
  240.     }
  241.    
  242.     if (RepartiendoCajas[playerid] == true)
  243.     {
  244.     PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
  245.     format(string, sizeof(string), "~w~Te pagaron~n~~g~$%d",Pasta);
  246.     GameTextForPlayer(playerid, string, 5000, 1);
  247.     GivePlayerMoney(playerid, Pasta);
  248.     randomize = random(sizeof(PuntosRepartidor));
  249.     SetPlayerCheckpoint(playerid, PuntosRepartidor[randomize][0], PuntosRepartidor[randomize][1], PuntosRepartidor[randomize][2], 5.0);
  250.     return 1;
  251.     }
  252.     return 1;
  253.     }
  254.  
  255. funcion EstaEnZonaPesca(playerid)
  256. {
  257.     if(IsPlayerConnected(playerid))
  258.     {
  259.         if(IsPlayerInRangeOfPoint(playerid,2,403.8346,-2088.3628,7.8359) || IsPlayerInRangeOfPoint(playerid,2,398.6683,-2088.4817,7.8359))
  260.         {
  261.             return 1;
  262.         }
  263.         else if(IsPlayerInRangeOfPoint(playerid,2,396.0295,-2088.3022,7.8359) || IsPlayerInRangeOfPoint(playerid,2,391.0287,-2088.2808,7.8359))
  264.         {
  265.             return 1;
  266.         }
  267.         else if(IsPlayerInRangeOfPoint(playerid,2,383.2155,-2088.3271,7.8359) || IsPlayerInRangeOfPoint(playerid,2,375.0619,-2088.2026,7.8359))
  268.         {
  269.             return 1;
  270.         }
  271.         else if(IsPlayerInRangeOfPoint(playerid,2,369.8253,-2088.4463,7.8359) || IsPlayerInRangeOfPoint(playerid,2,367.2083,-2088.3237,7.8359))
  272.         {
  273.             return 1;
  274.         }
  275.         else if(IsPlayerInRangeOfPoint(playerid,2,362.1855,-2088.4866,7.8359) || IsPlayerInRangeOfPoint(playerid,2,354.4520,-2088.3418,7.8359))
  276.         {
  277.             return 1;
  278.         }
  279.     }
  280.     return 0;
  281. }
  282.  
  283. //============================================================================//
  284. //                                                                            //
  285. //                              FINAL DEL SCRIPT                              //
  286. //                                                                            //
  287. //                 SI TE SIRVIO RESPETA EL TRABAJO DEL CREADOR                //
  288. //                                                                            //
  289. //============================================================================//
Advertisement
Add Comment
Please, Sign In to add comment