Guest User

Untitled

a guest
Jun 26th, 2014
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 20.47 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.  
  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.     VehicleInfo[vehicleID][vLocked] = INI_Int("locked") == 1 ? true : false;
  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:ayuda(playerid, params[])
  520. {
  521.     if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, -1, "COMANDOS:");
  522.     else if(PlayerInfo[playerid][pAdmin] == 4) return SendClientMessage(playerid, -1, "COMANDOS: /ir, /traer, /tadmin, /skin, /curar, /chal");
  523.     else if(PlayerInfo[playerid][pAdmin] > 4) return SendClientMessage(playerid, -1, "COMANDOS: /ir, /traer, /tadmin, /skin, /curar, /chal, /sv, /darv");
  524.     return 1;
  525. }
  526.  
  527.     //Comandos.2: Faccionarios
  528.  
  529.  
  530.     // Comandos.3: Admin
  531.  
  532. CMD:traer(playerid, params[])
  533. {
  534.     new id, car,
  535.         Float:X, Float:Y, Float:Z, Float:XC, Float:YC, Float:ZC;
  536.  
  537.     if(PlayerInfo[playerid][pAdmin] < 1) return 0;
  538.     else if(PlayerInfo[playerid][pAdmin] < 2 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin 2+");
  539.     else if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0x00D235FF,"<!>Uso /ir [ID]");
  540.     else if(id == INVALID_PLAYER_ID || !IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  541.     else if(IsPlayerInAnyVehicle(playerid))
  542.     {
  543.         car = GetPlayerVehicleID(id);
  544.         GetVehiclePos(car, XC, YC, ZC);
  545.     }
  546.     else
  547.     {
  548.         GetPlayerPos(playerid, X, Y, Z);
  549.         SetVehiclePos(car, X + 2.0, Y, Z);
  550.         SetPlayerPos(id, X + 2.0, Y, Z);
  551.         PutPlayerInVehicle(playerid, car, 0);
  552.     }
  553.     return 1;
  554. }
  555.  
  556. CMD:ir(playerid, params[])
  557. {
  558.     new id, car,
  559.         Float:X, Float:Y, Float:Z;
  560.        
  561.     if(PlayerInfo[playerid][pAdmin] < 1) return 0;
  562.     else if(PlayerInfo[playerid][pAdmin] < 2 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin 2+");
  563.     else if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0x00D235FF,"<!>Uso /ir [ID]");
  564.     else if(id == INVALID_PLAYER_ID || !IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  565.     else if(IsPlayerInAnyVehicle(playerid))
  566.     {
  567.         car = GetPlayerVehicleID(playerid);
  568.     }
  569.     else
  570.     {
  571.         GetPlayerPos(id, X, Y, Z);
  572.         SetVehiclePos(car, X + 2.0, Y, Z);
  573.         SetPlayerPos(playerid, X + 2.0, Y, Z);
  574.         PutPlayerInVehicle(playerid, car, 0);
  575.     }
  576.     return 1;
  577. }
  578.  
  579. CMD:chal(playerid, params[])
  580. {
  581.     new id;
  582.     if(PlayerInfo[playerid][pAdmin] < 1 ) return 0;
  583.     else if(PlayerInfo[playerid][pAdmin] < 2 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin 2+");
  584.     else if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0x00D235FF,"<!>Uso /chal(eco) [ID]");
  585.     else if(id == INVALID_PLAYER_ID || !IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  586.     else
  587.     {
  588.         SetPlayerArmour(id, 100.0);
  589.     }
  590.     return 1;
  591. }
  592.  
  593. CMD:curar(playerid, params[])
  594. {
  595.     new id,
  596.         str[128],
  597.         str2[128];
  598.  
  599.     if(PlayerInfo[playerid][pAdmin] < 1 ) return 0;
  600.     else if( PlayerInfo[playerid][pAdmin] <= 1 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin 2+");
  601.     else
  602.     {
  603.         if (sscanf(params, "u", id)) return SendClientMessage(playerid, 0x00D235FF,"<!>Uso /curar [ID]");
  604.         else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  605.         else
  606.         {
  607.             SetPlayerHealth(id, 100.0);
  608.             format(str, sizeof(str), "<!>Has sido curado por el ID: %i.", playerid);
  609.             format(str2, sizeof(str2), "<!>Has curado al ID: %i.", id);
  610.             SendClientMessage(id, 0x00D235FF, str);
  611.             SendClientMessage(playerid, 0x00D235FF, str2);
  612.             printf("<!>El ID %i ha curado al ID %i.", playerid, id);
  613.         }
  614.     }
  615.     return 1;
  616. }
  617.  
  618. CMD:skin(playerid, params[])
  619. {
  620.     new skin,
  621.             id;
  622.     if(PlayerInfo[playerid][pAdmin] < 0) return 0;
  623.     else if(PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin nivel 4+.");
  624.     else if(sscanf(params, "dd", id, skin)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso /skin [ID] [SKIN]");
  625.     else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  626.     else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  627.     else if(skin < 1 || skin > 299) return SendClientMessage(playerid, 0xFB0000FF, "<!>SKIN inválida.");
  628.     else
  629.     {
  630.         SetPlayerSkin(id, skin);
  631.     }
  632.     return 1;
  633. }
  634.  
  635. CMD:daradmin(playerid, params[])
  636. {
  637.     new id,
  638.         str[128],
  639.         str2[128];
  640.        
  641.     if(PlayerInfo[playerid][pAdmin] < 1) return 0;
  642.     else if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, 0xFB0000FF, "<!>No eres admin nivel 6+.");
  643.     else if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso /daradmin [ID].");
  644.     else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  645.     else if(id == playerid) return SendClientMessage(playerid, 0xFB0000FF, "<!>No intentes ascenderte a ti mismo.");
  646.     else if(PlayerInfo[id][pAdmin] >= 5) return SendClientMessage(playerid, 0xFB0000FF, "<!>Ése jugador ya es admin nivel 5+.");
  647.     else if(PlayerInfo[id][pAdmin] < 5)
  648.     {
  649.         PlayerInfo[id][pAdmin] = PlayerInfo[id][pAdmin] + 1;
  650.         format(str, sizeof(str), "<!>Te han ascencido como miembro del STAFF por el admin ID %i.", playerid);
  651.         format(str2, sizeof(str2), "<!>Has ascendido al ID %i como miembro del STAFF.", id);
  652.         SendClientMessage(id, 0x00D235FF, str);
  653.         SendClientMessage(id, 0x00D235FF, str2);
  654.         printf("<!>El ID %i ha ascendido al ID %i como miembro en el STAFF.", playerid, id);
  655.     }
  656.     return 1;
  657. }
  658.  
  659. CMD:sv(playerid, params[])
  660. {
  661.     new car,
  662.         Float:X, Float:Y, Float:Z;
  663.     GetPlayerPos(playerid, X, Y, Z);
  664.    
  665.     if(PlayerInfo[playerid][pAdmin] < 6 ) return 0;
  666.     if(sscanf(params, "%i", car)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso: /sv [modelID]");
  667.     else if(car < 400 || car > 611 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  668.     else
  669.     {
  670.         if( Vehicle[playerid] != 0)
  671.         {
  672.            DestroyVehicle(Vehicle[playerid]);
  673.         }
  674.         Vehicle[playerid] = AddStaticVehicle(car, X + 2.0, Y, Z , 180, 0, 1);
  675.     }
  676.     return 1;
  677. }
  678.  
  679. CMD:darv(playerid, params[])
  680. {
  681.     new car, id,
  682.         Float:X, Float:Y, Float:Z;
  683.  
  684.        
  685.     if(PlayerInfo[playerid][pAdmin] < 6 ) return 0;
  686.     if(sscanf(params, "dd", id, car)) return SendClientMessage(playerid, 0x00D235FF, "<!>Uso: /darv [ID] [modelID]");
  687.     else if(id == INVALID_PLAYER_ID || !IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFB0000FF, "<!>ID inválida.");
  688.     else if(car < 400 || car > 611 ) return SendClientMessage(playerid, 0xFB0000FF, "<!>Modelo inválido.");
  689.     else
  690.     {
  691.         GetPlayerPos(id, X, Y, Z);
  692.         if( Vehicle[id] != 0)
  693.         {
  694.             DestroyVehicle(Vehicle[id]);
  695.         }
  696.         Vehicle[id] = AddStaticVehicle(car, X + 2.0, Y, Z, 180.0, 0, 1);
  697.     }
  698.     return 1;
  699. }
  700.  
  701. CMD:tadmin(playerid, params[])
  702. {
  703.     new car;
  704.  
  705.     if(PlayerInfo[playerid][pAdmin] < 1) return 0;
  706.     else if(!IsPlayerInAnyVehicle(playerid))
  707.     {
  708.         SetPlayerPos(playerid, 1570.0302, -1242.7379, 277.8771);
  709.     }
  710.     else
  711.     {
  712.         car = GetPlayerVehicleID(playerid);
  713.         SetVehiclePos(car, 1570.0302, -1242.7379, 277.8771);
  714.         SetPlayerPos(playerid, 1570.0302, -1242.7379, 277.8771);
  715.         PutPlayerInVehicle(playerid, car, 0);
  716.     }
  717.     return 1;
  718. }
Advertisement
Add Comment
Please, Sign In to add comment