Guest User

Untitled

a guest
Jun 27th, 2014
466
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 22.33 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_ini>
  3. #include <zcmd>
  4. #include <sscanf2>
  5.  
  6. //Colores
  7. #define COL_WHITE "{FFFFFF}"
  8. #define COL_RED "0xFB0000FF"
  9. #define COL_GREEN "0x00D235FF"
  10. #define COL_LIGHTBLUE "{00CED1}"
  11.  
  12. //Dialogs
  13. #define DIALOG_REGISTER  1
  14. #define DIALOG_LOGIN     2
  15. #define DIALOG_SUCCESS_1 3
  16. #define DIALOG_SUCCESS_2 4
  17.  
  18. //Users Path
  19. #define PATH "/Usuarios/%s.ini"
  20. #define CPATH "/Coches/%i.ini"
  21.  
  22. //Enums
  23. enum pInfo
  24. {
  25.     pPass,
  26.     pDinero,
  27.     pAdmin,
  28.     pTelefono,
  29.     pCoche1,
  30.     pCoche2,
  31.     pCoche3,
  32.     pCasa1,
  33.     pCasa2,
  34.     pFaccion,
  35.     pJob,
  36.     pSkin,
  37.     pInterior,
  38.     Float:pPosX,
  39.     Float:pPosY,
  40.     Float:pPosZ
  41. }
  42.  
  43. enum vInfo
  44. {
  45.     vID,
  46.     vModel,
  47.     Float:vX,
  48.     Float:vY,
  49.     Float:vZ,
  50.     Float:vAngle,
  51.     vColor1,
  52.     vColor2,
  53.     vOwner[MAX_PLAYER_NAME],
  54.     bool:vLocked
  55. }
  56.  
  57. //Globales
  58. new Vehicle[MAX_PLAYERS];
  59. new PlayerInfo[MAX_PLAYERS][pInfo];
  60. new VehicleInfo[MAX_VEHICLES][vInfo];
  61. new bool:vCreated[MAX_VEHICLES];
  62.  
  63. //Forwards
  64. forward LoadUser_data(playerid,name[],value[]);
  65. forward SpawnVehicle(playerid, modelid, color1, color2);
  66. forward public LoadVehicleData(vehicleID, name[], value[]);
  67.  
  68. //Stocks
  69. stock UserPath(playerid)
  70. {
  71.     new string[128],playername[MAX_PLAYER_NAME];
  72.     GetPlayerName(playerid,playername,sizeof(playername));
  73.     format(string,sizeof(string),PATH,playername);
  74.     return string;
  75. }
  76.  
  77. stock VehiclePath(vehicleID)
  78. {
  79.     new strPath[64];
  80.     format(strPath, sizeof(strPath), "/Coches/%d.ini");
  81.  
  82.     return strPath;
  83. }
  84.  
  85. stock VehicleGetFreeSlot()
  86. {
  87.     for(new i = 0; i < MAX_VEHICLES; i++)
  88.     {
  89.         if(!vCreated[i]) return i;
  90.     }
  91.  
  92.     return -1;
  93. }
  94.  
  95. stock VehicleCreate(vehicleModel, Float:vehicleX, Float:vehicleY, Float:vehicleZ, Float:vehicleAngle, vehicleColor1, vehicleColor2, vehicleOwner[], bool:vehicleLocked)
  96. {
  97.     new vehicleid = VehicleGetFreeSlot();
  98.     VehicleInfo[vehicleid][vModel] = vehicleModel;
  99.     VehicleInfo[vehicleid][vX] = vehicleX;
  100.     VehicleInfo[vehicleid][vY] = vehicleY;
  101.     VehicleInfo[vehicleid][vZ] = vehicleZ;
  102.     VehicleInfo[vehicleid][vColor1] = vehicleColor1;
  103.     VehicleInfo[vehicleid][vColor2] = vehicleColor2;
  104.     format(VehicleInfo[vehicleid][vOwner], MAX_PLAYER_NAME, vehicleOwner);
  105.     VehicleInfo[vehicleid][vLocked] = vehicleLocked;
  106.     VehicleInfo[vehicleid][vID] = CreateVehicle(vehicleModel, vehicleX, vehicleY, vehicleZ, vehicleAngle,vehicleColor1, vehicleColor2, -1);
  107.     vCreated[vehicleid] = true;
  108.     VehicleSaveAll();
  109.  
  110.     return vehicleid;
  111. }
  112.  
  113. stock VehicleGet(vehicleID)
  114. {
  115.     GetVehiclePos(VehicleInfo[vehicleID][vID], VehicleInfo[vehicleID][vX], VehicleInfo[vehicleID][vY], VehicleInfo[vehicleID][vZ]);
  116.     GetVehicleZAngle(VehicleInfo[vehicleID][vID], VehicleInfo[vehicleID][vAngle]);
  117. }
  118.  
  119. stock VehicleLoad(vehicleID, file[])
  120. {
  121.     INI_ParseFile(file, "LoadVehicleData", .bExtra = true, .extra = vehicleID);
  122.     VehicleCreate(VehicleInfo[vehicleID][vModel],
  123.     VehicleInfo[vehicleID][vX], VehicleInfo[vehicleID][vY], VehicleInfo[vehicleID][vZ], VehicleInfo[vehicleID][vAngle], VehicleInfo[vehicleID][vColor1], VehicleInfo[vehicleID][vColor2],
  124.     VehicleInfo[vehicleID][vOwner], VehicleInfo[vehicleID][vLocked]);
  125. }
  126.  
  127. stock VehicleSave(vehicleID)
  128. {
  129.     new INI:dFile = INI_Open(VehiclePath(vehicleID));
  130.    
  131.     INI_WriteInt(dFile, "model", VehicleInfo[vehicleID][vModel]);
  132.     INI_WriteFloat(dFile, "X", VehicleInfo[vehicleID][vX]);
  133.     INI_WriteFloat(dFile, "Y", VehicleInfo[vehicleID][vY]);
  134.     INI_WriteFloat(dFile, "Z", VehicleInfo[vehicleID][vZ]);
  135.     INI_WriteInt(dFile, "color1", VehicleInfo[vehicleID][vColor1]);
  136.     INI_WriteInt(dFile, "color2", VehicleInfo[vehicleID][vColor2]);
  137.     INI_WriteString(dFile, "owner", VehicleInfo[vehicleID][vOwner]);
  138.     INI_WriteInt(dFile, "locked", VehicleInfo[vehicleID][vLocked] ? 1 : 0);
  139.     INI_Close(dFile);
  140. }
  141.  
  142. stock VehicleLoadAll()
  143. {
  144.     new index = 0;
  145.  
  146.     while(fexist(VehiclePath(index)))
  147.     {
  148.         VehicleLoad(index, VehiclePath(index));
  149.         index++;
  150.     }
  151.  
  152.     printf("Vehicles Loaded: %d", index);
  153. }
  154.  
  155. stock VehicleSaveAll()
  156. {
  157.     new index = 0;
  158.  
  159.     for(new i = 0; i < MAX_VEHICLES; i++)
  160.     {
  161.         if(vCreated[i])
  162.         {
  163.             VehicleGet(index);
  164.             VehicleSave(index);
  165.             index++;
  166.         }
  167.     }
  168.  
  169.     printf("Vehicles Saved: %d", index);
  170. }
  171.  
  172. main(){}
  173.  
  174.  
  175. public LoadUser_data(playerid,name[],value[])
  176. {
  177.     INI_Int("Pass",PlayerInfo[playerid][pPass]);
  178.     INI_Int("Dinero",PlayerInfo[playerid][pDinero]);
  179.     INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  180.     INI_Int("Telefono",PlayerInfo[playerid][pTelefono]);
  181.     INI_Int("Coche1",PlayerInfo[playerid][pCoche1]);
  182.     INI_Int("Coche2",PlayerInfo[playerid][pCoche2]);
  183.     INI_Int("Coche3",PlayerInfo[playerid][pCoche3]);
  184.     INI_Int("Casa1",PlayerInfo[playerid][pCasa1]);
  185.     INI_Int("Coche2",PlayerInfo[playerid][pCasa2]);
  186.     INI_Int("Faccion",PlayerInfo[playerid][pFaccion]);
  187.     INI_Int("Job",PlayerInfo[playerid][pJob]);
  188.     INI_Int("Skin",PlayerInfo[playerid][pSkin]);
  189.     INI_Int("Interior",PlayerInfo[playerid][pInterior]);
  190.     INI_Float("PosX",PlayerInfo[playerid][pPosX]);
  191.     INI_Float("PosY",PlayerInfo[playerid][pPosY]);
  192.     INI_Float("PosZ",PlayerInfo[playerid][pPosZ]);
  193.     return 1;
  194. }
  195.  
  196. public LoadVehicleData(vehicleID, name[], value[])
  197. {
  198.     INI_Int("model", VehicleInfo[vehicleID][vModel]);
  199.     INI_Float("X", VehicleInfo[vehicleID][vX]);
  200.     INI_Float("Y", VehicleInfo[vehicleID][vY]);
  201.     INI_Float("Z", VehicleInfo[vehicleID][vZ]);
  202.     INI_Int("color1", VehicleInfo[vehicleID][vColor1]);
  203.     INI_Int("color2", VehicleInfo[vehicleID][vColor2]);
  204.     INI_String("owner", VehicleInfo[vehicleID][vOwner], MAX_PLAYER_NAME);
  205.     INI_Bool("locked", VehicleInfo[vehicleID][vLocked]);
  206.     return 1;
  207. }
  208.  
  209. public OnGameModeInit()
  210. {
  211.     SetGameModeText("Blank Script");
  212.     AddPlayerClass(0, 1643.4510, -2287.4954, -1.1971, 276.4842,0,0,0,0,0,0);
  213.     VehicleLoadAll();
  214.     return 1;
  215. }
  216.  
  217. public OnGameModeExit()
  218. {
  219.     VehicleSaveAll();
  220.     return 1;
  221. }
  222.  
  223. public OnPlayerRequestClass(playerid, classid)
  224. {
  225.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  226.     return 1;
  227. }
  228.  
  229. public OnPlayerConnect(playerid)
  230. {
  231.     if(fexist(UserPath(playerid)))
  232.     {
  233.         INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  234.         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""COL_WHITE"Login",""COL_WHITE"Bienvenido!\nEscribe tu contraseña debajo para entrar.","Login","Salir");
  235.     }
  236.     else
  237.     {
  238.         ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,""COL_WHITE"Registrando...",""COL_WHITE"Introduce una contraseña debajo para registrar una nueva cuenta.","Registrar","Salir");
  239.     }
  240.     return 1;
  241. }
  242.  
  243. public OnPlayerDisconnect(playerid, reason)
  244. {
  245.     new Float:Pos[3];
  246.     new INI:File = INI_Open(UserPath(playerid));
  247.    
  248.     GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  249.    
  250.     INI_SetTag(File,"data");
  251.     INI_WriteInt(File,"Dinero",GetPlayerMoney(playerid));
  252.     INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
  253.     INI_WriteInt(File,"Telefono",PlayerInfo[playerid][pTelefono]);
  254.     INI_WriteInt(File,"Coche1",PlayerInfo[playerid][pCoche1]);
  255.     INI_WriteInt(File,"Coche2",PlayerInfo[playerid][pCoche2]);
  256.     INI_WriteInt(File,"Coche3",PlayerInfo[playerid][pCoche3]);
  257.     INI_WriteInt(File,"Casa1",PlayerInfo[playerid][pCasa1]);
  258.     INI_WriteInt(File,"Casa2",PlayerInfo[playerid][pCasa2]);
  259.     INI_WriteInt(File,"Faccion",PlayerInfo[playerid][pFaccion]);
  260.     INI_WriteInt(File,"Job",PlayerInfo[playerid][pJob]);
  261.     INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
  262.     INI_WriteInt(File,"Interior",PlayerInfo[playerid][pInterior]);
  263.     INI_WriteFloat(File,"PosX",Pos[0]);
  264.     INI_WriteFloat(File,"PosY",Pos[1]);
  265.     INI_WriteFloat(File,"PosZ",Pos[2]);
  266.     INI_Close(File);
  267.    
  268.    
  269.     if( Vehicle[playerid] != 0)
  270.         {
  271.             DestroyVehicle(Vehicle[playerid]);
  272.         }
  273.    
  274.    
  275.     return 1;
  276. }
  277.  
  278. public OnPlayerSpawn(playerid)
  279. {
  280.     if(PlayerInfo[playerid][pPosX] == 0 && PlayerInfo[playerid][pPosY] == 0)
  281.     {
  282.         SetPlayerPos(playerid, 1643.4510, -2287.4954, -1.1971);
  283.         GivePlayerMoney(playerid, 5000);
  284.     }else
  285.     {
  286.         SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
  287.     }
  288.     return 1;
  289. }
  290.  
  291. public OnPlayerDeath(playerid, killerid, reason)
  292. {
  293.     new Float:X, Float:Y, Float:Z;
  294.     GetPlayerPos(playerid, X, Y, Z);
  295.     PlayerInfo[playerid][pPosX] = X;
  296.     PlayerInfo[playerid][pPosY] = Y;
  297.     PlayerInfo[playerid][pPosZ] = Z;
  298.     return 1;
  299. }
  300.  
  301. public OnVehicleSpawn(vehicleid)
  302. {
  303.     return 1;
  304. }
  305.  
  306. public OnVehicleDeath(vehicleid, killerid)
  307. {
  308.     return 1;
  309. }
  310.  
  311. public OnPlayerText(playerid, text[])
  312. {
  313.     return 1;
  314. }
  315.  
  316. public OnPlayerCommandText(playerid, cmdtext[])
  317. {
  318.     return 0;
  319. }
  320.  
  321. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  322. {
  323.     return 1;
  324. }
  325.  
  326. public OnPlayerExitVehicle(playerid, vehicleid)
  327. {
  328.     return 1;
  329. }
  330.  
  331. public OnPlayerStateChange(playerid, newstate, oldstate)
  332. {
  333.     return 1;
  334. }
  335.  
  336. public OnPlayerEnterCheckpoint(playerid)
  337. {
  338.     return 1;
  339. }
  340.  
  341. public OnPlayerLeaveCheckpoint(playerid)
  342. {
  343.     return 1;
  344. }
  345.  
  346. public OnPlayerEnterRaceCheckpoint(playerid)
  347. {
  348.     return 1;
  349. }
  350.  
  351. public OnPlayerLeaveRaceCheckpoint(playerid)
  352. {
  353.     return 1;
  354. }
  355.  
  356. public OnRconCommand(cmd[])
  357. {
  358.     return 1;
  359. }
  360.  
  361. public OnPlayerRequestSpawn(playerid)
  362. {
  363.     return 1;
  364. }
  365.  
  366. public OnObjectMoved(objectid)
  367. {
  368.     return 1;
  369. }
  370.  
  371. public OnPlayerObjectMoved(playerid, objectid)
  372. {
  373.     return 1;
  374. }
  375.  
  376. public OnPlayerPickUpPickup(playerid, pickupid)
  377. {
  378.     return 1;
  379. }
  380.  
  381. public OnVehicleMod(playerid, vehicleid, componentid)
  382. {
  383.     return 1;
  384. }
  385.  
  386. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  387. {
  388.     return 1;
  389. }
  390.  
  391. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  392. {
  393.     return 1;
  394. }
  395.  
  396. public OnPlayerSelectedMenuRow(playerid, row)
  397. {
  398.     return 1;
  399. }
  400.  
  401. public OnPlayerExitedMenu(playerid)
  402. {
  403.     return 1;
  404. }
  405.  
  406. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  407. {
  408.     return 1;
  409. }
  410.  
  411. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  412. {
  413.     return 1;
  414. }
  415.  
  416. public OnRconLoginAttempt(ip[], password[], success)
  417. {
  418.     return 1;
  419. }
  420.  
  421. public OnPlayerUpdate(playerid)
  422. {
  423.     return 1;
  424. }
  425.  
  426. public OnPlayerStreamIn(playerid, forplayerid)
  427. {
  428.     return 1;
  429. }
  430.  
  431. public OnPlayerStreamOut(playerid, forplayerid)
  432. {
  433.     return 1;
  434. }
  435.  
  436. public OnVehicleStreamIn(vehicleid, forplayerid)
  437. {
  438.     return 1;
  439. }
  440.  
  441. public OnVehicleStreamOut(vehicleid, forplayerid)
  442. {
  443.     return 1;
  444. }
  445.  
  446. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  447. {
  448.     switch( dialogid )
  449.     {
  450.         case DIALOG_REGISTER:
  451.         {
  452.             if (!response) return Kick(playerid);
  453.             if(response)
  454.             {
  455.                 if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, ""COL_WHITE"Registrando...",""COL_RED"Has introducido una contrasela invalida.\n"COL_WHITE"Introduce una contraseña debajo para registrar una nueva cuenta.","Registrar","Salir");
  456.                 new INI:File = INI_Open(UserPath(playerid));
  457.                 INI_SetTag(File,"data");
  458.                 INI_WriteString(File,"Password",inputtext);
  459.                 INI_WriteInt(File,"Dinero", 0);
  460.                 INI_WriteInt(File,"Admin", 0);
  461.                 INI_WriteInt(File,"Telefono", 0);
  462.                 INI_WriteInt(File,"Coche1", 0);
  463.                 INI_WriteInt(File,"Coche2", 0);
  464.                 INI_WriteInt(File,"Coche3", 0);
  465.                 INI_WriteInt(File,"Casa1", 0);
  466.                 INI_WriteInt(File,"Casa2", 0);
  467.                 INI_WriteInt(File,"Faccion", 0);
  468.                 INI_WriteInt(File,"Job", 0);
  469.                 INI_WriteInt(File,"Skin", 0);
  470.                 INI_WriteInt(File,"Interior", 0);
  471.                 INI_WriteFloat(File,"PosX", 0.0);
  472.                 INI_WriteFloat(File,"PosY", 0.0);
  473.                 INI_WriteFloat(File,"PosZ", 0.0);
  474.                 INI_Close(File);
  475.  
  476.                 SetSpawnInfo(playerid, PlayerInfo[playerid][pSkin], 0, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pPosZ], 269.15, 0, 0, 0, 0, 0, 0);
  477.                 ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Bien!!",""COL_GREEN"Registrado correctamente! Reloguea para guardar tus datos!","Ok","");
  478.             }
  479.         }
  480.  
  481.         case DIALOG_LOGIN:
  482.         {
  483.             if ( !response ) return Kick ( playerid );
  484.             if( response )
  485.             {
  486.                 if(strcmp(inputtext, PlayerInfo[playerid][pPass]) == 0)
  487.                 {
  488.                     INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  489.                     SetSpawnInfo(playerid, PlayerInfo[playerid][pSkin], 0, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pPosZ], 269.15, 0, 0, 0, 0, 0, 0);
  490.                     SpawnPlayer(playerid);
  491.                     GivePlayerMoney(playerid, PlayerInfo[playerid][pDinero]);
  492.                 }
  493.                 else
  494.                 {
  495.                     ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"Contraseña incorrecta.\n"COL_WHITE"Introduce tu contraseña para entrar.","Login","Salir");
  496.                 }
  497.                 return 1;
  498.             }
  499.         }
  500.        
  501.         case DIALOG_SUCCESS_1:
  502.         {
  503.             if(!response) return 0;
  504.             if(response) return SpawnPlayer(playerid);
  505.         }
  506.     }
  507.     return 1;
  508. }
  509.  
  510. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  511. {
  512.     return 1;
  513. }
  514.  
  515. //Comandos
  516.  
  517.     //Comandos.1: Publicos
  518.  
  519. CMD:comprarveh(playerid, params[])
  520. {
  521.     new carid, dinero, color1, color2, nombre[MAX_PLAYER_NAME+1],
  522.         Float:X, Float:Y, Float:Z, Float:Angle;
  523.     GetPlayerFacingAngle(playerid, Angle);
  524.     GetPlayerPos(playerid, X, Y, Z);
  525.     dinero = GetPlayerMoney(playerid);
  526.     GetPlayerName(playerid, nombre, sizeof(nombre));
  527.     if(dinero < 10000) return SendClientMessage(playerid, 0xFB0000FF, "<!>No tienes dinero suficiente. (10000 probisionalmente)");
  528.     if(sscanf(params, "ddd", carid, color1, color2)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso: /comprarveh [Modelo] [Color1] [Color2]");
  529.     else
  530.     {
  531.         VehicleCreate(carid, X + 2.0 , Y, Z, Angle, color1, color2, nombre, false);
  532.     }
  533.    
  534.     return 1;
  535. }
  536.  
  537. CMD:ayuda(playerid, params[])
  538. {
  539.    
  540.     if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, -1, "COMANDOS: /comprarveh");
  541.     else if(PlayerInfo[playerid][pAdmin] == 4) return SendClientMessage(playerid, -1, "COMANDOS: /ir, /traer, /tadmin, /skin, /curar, /chal, /comprarveh");
  542.     else if(PlayerInfo[playerid][pAdmin] > 4) return SendClientMessage(playerid, -1, "COMANDOS: /ir, /traer, /tadmin, /skin, /curar, /chal, /sv, /darv, /comprarveh");
  543.     return 1;
  544. }
  545.  
  546.     //Comandos.2: Faccionarios
  547.  
  548.  
  549.     // Comandos.3: Admin
  550.  
  551. CMD:kick(playerid, params[])
  552.  {
  553.     new id;
  554.     new razon[144];
  555.     new mensaje[144];
  556.     new mensaje2[144];
  557.     new nombread[MAX_PLAYER_NAME+1];
  558.     new nombrek[MAX_PLAYER_NAME+1];
  559.    
  560.     GetPlayerName(playerid, nombread, sizeof(nombread));
  561.     GetPlayerName(id, nombrek, sizeof(nombrek));
  562.    
  563.     if(PlayerInfo[playerid][pAdmin] < 1) return 0;
  564.     if(sscanf(params, "ds", id, razon)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso: /kick [id] [razon]");
  565.     else
  566.     {
  567.         format(mensaje, sizeof(mensaje), "Has sido kickeado por el admin %s, razón: %s", nombread, razon);
  568.         format(mensaje2, sizeof(mensaje2), "%s Ha sido kickeado por %s, razón: %s", nombrek, nombread, razon);
  569.         SendClientMessage(id, 0xFB0000FF, mensaje);
  570.         SendClientMessageToAll(0xFB0000FF, mensaje2);
  571.         Kick(id);
  572.     }
  573.     return 1;
  574.  }
  575.  
  576. CMD:dardinero(playerid, params[])
  577. {
  578.     new id, money;
  579.     if(PlayerInfo[playerid][pAdmin] < 6) return 0;
  580.     else if(sscanf(params, "dd", id, money)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso: /dardinero [ID] [Cantidad]");
  581.     else
  582.     {
  583.         GivePlayerMoney(id, money);
  584.     }
  585.     return 1;
  586. }
  587.  
  588. CMD:traer(playerid, params[])
  589. {
  590.     new id, car,
  591.         Float:X, Float:Y, Float:Z, Float:XC, Float:YC, Float:ZC;
  592.  
  593.     if(PlayerInfo[playerid][pAdmin] < 1) return 0;
  594.     else if(PlayerInfo[playerid][pAdmin] < 2 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin 2+");
  595.     else if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0x00D235FF,"<!>Uso /ir [ID]");
  596.     else if(id == INVALID_PLAYER_ID || !IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  597.     else if(IsPlayerInAnyVehicle(playerid))
  598.     {
  599.         car = GetPlayerVehicleID(id);
  600.         GetVehiclePos(car, XC, YC, ZC);
  601.     }
  602.     else
  603.     {
  604.         GetPlayerPos(playerid, X, Y, Z);
  605.         SetVehiclePos(car, X + 2.0, Y, Z);
  606.         SetPlayerPos(id, X + 2.0, Y, Z);
  607.         PutPlayerInVehicle(playerid, car, 0);
  608.     }
  609.     return 1;
  610. }
  611.  
  612. CMD:ir(playerid, params[])
  613. {
  614.     new id, car,
  615.         Float:X, Float:Y, Float:Z;
  616.        
  617.     if(PlayerInfo[playerid][pAdmin] < 1) return 0;
  618.     else if(PlayerInfo[playerid][pAdmin] < 2 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin 2+");
  619.     else if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0x00D235FF,"<!>Uso /ir [ID]");
  620.     else if(id == INVALID_PLAYER_ID || !IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  621.     else if(IsPlayerInAnyVehicle(playerid))
  622.     {
  623.         car = GetPlayerVehicleID(playerid);
  624.     }
  625.     else
  626.     {
  627.         GetPlayerPos(id, X, Y, Z);
  628.         SetVehiclePos(car, X + 2.0, Y, Z);
  629.         SetPlayerPos(playerid, X + 2.0, Y, Z);
  630.         PutPlayerInVehicle(playerid, car, 0);
  631.     }
  632.     return 1;
  633. }
  634.  
  635. CMD:chal(playerid, params[])
  636. {
  637.     new id;
  638.     if(PlayerInfo[playerid][pAdmin] < 1 ) return 0;
  639.     else if(PlayerInfo[playerid][pAdmin] < 2 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin 2+");
  640.     else if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0x00D235FF,"<!>Uso /chal(eco) [ID]");
  641.     else if(id == INVALID_PLAYER_ID || !IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  642.     else
  643.     {
  644.         SetPlayerArmour(id, 100.0);
  645.     }
  646.     return 1;
  647. }
  648.  
  649. CMD:curar(playerid, params[])
  650. {
  651.     new id,
  652.         str[128],
  653.         str2[128];
  654.  
  655.     if(PlayerInfo[playerid][pAdmin] < 1 ) return 0;
  656.     else if( PlayerInfo[playerid][pAdmin] <= 1 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin 2+");
  657.     else
  658.     {
  659.         if (sscanf(params, "u", id)) return SendClientMessage(playerid, 0x00D235FF,"<!>Uso /curar [ID]");
  660.         else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  661.         else
  662.         {
  663.             SetPlayerHealth(id, 100.0);
  664.             format(str, sizeof(str), "<!>Has sido curado por el ID: %i.", playerid);
  665.             format(str2, sizeof(str2), "<!>Has curado al ID: %i.", id);
  666.             SendClientMessage(id, 0x00D235FF, str);
  667.             SendClientMessage(playerid, 0x00D235FF, str2);
  668.             printf("<!>El ID %i ha curado al ID %i.", playerid, id);
  669.         }
  670.     }
  671.     return 1;
  672. }
  673.  
  674. CMD:skin(playerid, params[])
  675. {
  676.     new skin,
  677.             id;
  678.     if(PlayerInfo[playerid][pAdmin] < 0) return 0;
  679.     else if(PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin nivel 4+.");
  680.     else if(sscanf(params, "dd", id, skin)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso /skin [ID] [SKIN]");
  681.     else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  682.     else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  683.     else if(skin < 1 || skin > 299) return SendClientMessage(playerid, 0xFB0000FF, "<!>SKIN inválida.");
  684.     else
  685.     {
  686.         SetPlayerSkin(id, skin);
  687.     }
  688.     return 1;
  689. }
  690.  
  691. CMD:daradmin(playerid, params[])
  692. {
  693.     new id,
  694.         str[128],
  695.         str2[128];
  696.        
  697.     if(PlayerInfo[playerid][pAdmin] < 1) return 0;
  698.     else if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin nivel 6+.");
  699.     else if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso /daradmin [ID].");
  700.     else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  701.     else if(id == playerid) return SendClientMessage(playerid, 0xFB0000FF, "<!>No intentes ascenderte a ti mismo.");
  702.     else if(PlayerInfo[id][pAdmin] >= 5) return SendClientMessage(playerid, 0xFB0000FF, "<!>Ése jugador ya es admin nivel 5+.");
  703.     else if(PlayerInfo[id][pAdmin] < 5)
  704.     {
  705.         PlayerInfo[id][pAdmin] = PlayerInfo[id][pAdmin] + 1;
  706.         format(str, sizeof(str), "<!>Te han ascencido como miembro del STAFF por el admin ID %i.", playerid);
  707.         format(str2, sizeof(str2), "<!>Has ascendido al ID %i como miembro del STAFF.", id);
  708.         SendClientMessage(id, 0x00D235FF, str);
  709.         SendClientMessage(id, 0x00D235FF, str2);
  710.         printf("<!>El ID %i ha ascendido al ID %i como miembro en el STAFF.", playerid, id);
  711.     }
  712.     return 1;
  713. }
  714.  
  715. CMD:sv(playerid, params[])
  716. {
  717.     new car,
  718.         Float:X, Float:Y, Float:Z;
  719.     GetPlayerPos(playerid, X, Y, Z);
  720.    
  721.     if(PlayerInfo[playerid][pAdmin] < 6 ) return 0;
  722.     if(sscanf(params, "%i", car)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso: /sv [modelID]");
  723.     else if(car < 400 || car > 611 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  724.     else
  725.     {
  726.         if( Vehicle[playerid] != 0)
  727.         {
  728.            DestroyVehicle(Vehicle[playerid]);
  729.         }
  730.         Vehicle[playerid] = AddStaticVehicle(car, X + 2.0, Y, Z , 180, 0, 1);
  731.     }
  732.     return 1;
  733. }
  734.  
  735. CMD:darv(playerid, params[])
  736. {
  737.     new car, id,
  738.         Float:X, Float:Y, Float:Z;
  739.  
  740.        
  741.     if(PlayerInfo[playerid][pAdmin] < 6 ) return 0;
  742.     if(sscanf(params, "dd", id, car)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso: /darv [ID] [modelID]");
  743.     else if(id == INVALID_PLAYER_ID || !IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  744.     else if(car < 400 || car > 611 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>Modelo inválido.");
  745.     else
  746.     {
  747.         GetPlayerPos(id, X, Y, Z);
  748.         if( Vehicle[id] != 0)
  749.         {
  750.             DestroyVehicle(Vehicle[id]);
  751.         }
  752.         Vehicle[id] = AddStaticVehicle(car, X + 2.0, Y, Z, 180.0, 0, 1);
  753.     }
  754.     return 1;
  755. }
  756.  
  757. CMD:tadmin(playerid, params[])
  758. {
  759.     new car;
  760.  
  761.     if(PlayerInfo[playerid][pAdmin] < 1) return 0;
  762.     else if(!IsPlayerInAnyVehicle(playerid))
  763.     {
  764.         SetPlayerPos(playerid, 1570.0302, -1242.7379, 277.8771);
  765.     }
  766.     else
  767.     {
  768.         car = GetPlayerVehicleID(playerid);
  769.         SetVehiclePos(car, 1570.0302, -1242.7379, 277.8771);
  770.         SetPlayerPos(playerid, 1570.0302, -1242.7379, 277.8771);
  771.         PutPlayerInVehicle(playerid, car, 0);
  772.     }
  773.     return 1;
  774. }
Advertisement
Add Comment
Please, Sign In to add comment