Guest User

Untitled

a guest
Nov 29th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.88 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf2>
  4. #include <foreach>
  5. #include <YSI\y_ini>
  6. #include <a_mysql>
  7.  
  8. native WP_Hash(buffer[], len, const str[]);
  9.  
  10. #define COLOUR_RED 0xAA3333AA
  11. #define COLOUR_BLUE 0x0080FFFF
  12. #define COLOUR_WHITE 0xFFFFFFFF
  13. #define COLOUR_PlayerAction 0xC2A2DAAA
  14. #define COLOUR_CLIENT 0xAAC4E5FF
  15. #define COLOUR_CYAN 0x33CCFFFF
  16. #define COLOUR_LIGHTRED 0xFF6347FF
  17. #define COLOUR_LIGHTGREEN 0x9ACD32FF
  18. #define COLOUR_YELLOW 0xFFFF00FF
  19. #define COLOUR_GREY 0xAFAFAFFF
  20. #define COLOUR_HOSPITAL 0xFF8282FF
  21. #define COLOUR_PURPLE 0xD0AEEBFF
  22. #define COLOUR_LIGHTYELLOW 0xF5DEB3FF
  23. #define COLOUR_DARKBLUE 0x1394BFFF
  24. #define COLOUR_ORANGE 0xFFA500FF
  25. #define COLOUR_LIME 0x00FF00FF
  26. #define COLOUR_GREEN 0x33CC33FF
  27. #define COLOUR_FACTION 0xBDF38BFF
  28. #define COLOUR_RADIO 0x8D8DFFFF
  29. #define COLOUR_LIGHTBLUE 0x007FFFFF
  30. #define COLOUR_SERVER 0xFFFF90FF
  31. #define COLOUR_DEPARTMENT 0xF0CC00FF
  32. #define COLOUR_ADMINCHAT 0x33EE33FF
  33. #define DEFAULT_COLOUR 0xFFFFFFFF
  34. #define TEAM_HIT_COLOR 0xFFFFFF00
  35.  
  36. #define COLOUR_FADE 0xC8C8C8C8
  37. #define COLOUR_FADE1 0xE6E6E6E6
  38. #define COLOUR_FADE2 0xC8C8C8C8
  39. #define COLOUR_FADE3 0xAAAAAAAA
  40. #define COLOUR_FADE4 0x8C8C8C8C
  41.  
  42.  
  43.  
  44. #define MYSQL_HOST "localhost"
  45. #define MYSQL_USER "root"
  46. #define MYSQL_DATABASE "testserver"
  47. #define MYSQL_PASSWORD "DankMemes"
  48.  
  49. #define SPAWN_X 741.2821
  50. #define SPAWN_Y -1414.3379
  51. #define SPAWN_Z 13.5182
  52. #define SPAWN_A 249.3220
  53.  
  54.  
  55. #define SendSyntaxMessage(%0,%1) \
  56. SendClientMessage(%0, COLOUR_RED, "[SYNTAX]:{FFFFFF} "%1)
  57.  
  58. #define SendErrorMessage(%0,%1) \
  59. SendClientMessage(%0, COLOUR_RED, "[ERROR]:{FFFFFF} "%1)
  60.  
  61. #define SendSuccessMessage(%0,%1) \
  62. SendClientMessage(%0, COLOUR_YELLOW, "[SUCCESS]:{FFFFFF} "%1)
  63.  
  64.  
  65.  
  66. // enums
  67.  
  68. enum PlayerInfo{
  69. ID,
  70. Name[MAX_PLAYER_NAME+1],
  71. Password[129],
  72. Float: PlayerX,
  73. Float: PlayerY,
  74. Float: PlayerZ,
  75. AdminLevel,
  76. Skin,
  77. Health,
  78. Armour,
  79.  
  80.  
  81. }
  82. new PlayerStats[MAX_PLAYERS][PlayerInfo];
  83.  
  84.  
  85. enum Dialogs{
  86. LoginDialog,
  87. RegisterDialog,
  88.  
  89. }
  90.  
  91.  
  92. //new variables
  93.  
  94. new LastVehicleDriver[MAX_VEHICLES] = {INVALID_PLAYER_ID};
  95. new VehicleID[MAX_VEHICLES];
  96. new VehicleLights[MAX_VEHICLES];
  97. new mysql;
  98.  
  99.  
  100.  
  101. //stocks
  102.  
  103. stock strreplace(string[], find, replace)
  104. {
  105. for(new i=0; string[i]; i++)
  106. {
  107. if(string[i] == find)
  108. {
  109. string[i] = replace;
  110. }
  111. }
  112. }
  113.  
  114. stock ProxDetector(Float:radi, playerid, string[],color)
  115. {
  116. new Float:x,Float:y,Float:z;
  117. GetPlayerPos(playerid,x,y,z);
  118. foreach(Player,i)
  119. {
  120. if(IsPlayerInRangeOfPoint(i,radi,x,y,z))
  121. {
  122. SendClientMessage(i,color,string);
  123. }
  124. }
  125. }
  126.  
  127. stock NearbyMessage(playerid,colour,text[])
  128. {
  129. new Float: PlayerPosition[3];
  130. GetPlayerPos(playerid,PlayerPosition[0],PlayerPosition[1],PlayerPosition[2]);
  131.  
  132. for(new i; i < MAX_PLAYERS; i++)
  133. {
  134. if(IsPlayerInRangeOfPoint(i,PlayerPosition[0],PlayerPosition[1],PlayerPosition[2]))
  135. {
  136. SendClientMessage(i,colour,text);
  137. }
  138. }
  139. return 1;
  140. }
  141.  
  142.  
  143.  
  144. stock GetName(playerid)
  145. {
  146. new name[MAX_PLAYER_NAME];
  147. GetPlayerName(playerid, name, sizeof(name));
  148. strreplace(name, '_', ' ');
  149. return name;
  150. }
  151.  
  152.  
  153.  
  154.  
  155.  
  156. public OnGameModeInit()
  157. {
  158.  
  159. mysql_log(LOG_ALL);
  160. mysql = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATABASE, MYSQL_PASSWORD);
  161. if(mysql_errno() != 0)
  162. {
  163. printf("[MySQL] The connection has failed.");
  164. }
  165. else
  166. {
  167. printf("[MySQL] The connection was successful.");
  168. }
  169. ShowPlayerMarkers(0);
  170. EnableStuntBonusForAll(0);
  171. DisableInteriorEnterExits();
  172. return true;
  173.  
  174. }
  175.  
  176. public OnGameModeExit()
  177. {
  178. return 1;
  179. }
  180.  
  181. public OnPlayerRequestClass(playerid, classid)
  182. {
  183. //SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  184. //SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  185. //SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  186. return 1;
  187. }
  188.  
  189. public OnPlayerConnect(playerid)
  190. {
  191. TogglePlayerSpectating(playerid,true);
  192. new query[128];
  193. mysql_format(mysql, query, sizeof(query), "SELECT `Password`, `ID` FROM `accounts` WHERE `Name` = '%e' LIMIT 1", GetName(playerid));
  194. mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);
  195. return true;
  196. }
  197.  
  198. public OnPlayerDisconnect(playerid, reason)
  199. {
  200. new query[128], Float: Pos[3];
  201.  
  202. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  203.  
  204.  
  205. mysql_format(mysql, query, sizeof(query), "UPDATE `accounts` SET `PlayerX` = %f, `PlayerY` = %f, `PlayerZ` = %f WHERE `ID` = %d",
  206. Pos[0], Pos[1], Pos[2], PlayerStats[playerid][ID]);
  207. mysql_tquery(mysql, query, "", "");
  208.  
  209. return true;
  210. }
  211.  
  212. public OnPlayerSpawn(playerid)
  213. {
  214. TogglePlayerSpectating(playerid,true);
  215. return true;
  216. }
  217.  
  218. public OnPlayerDeath(playerid, killerid, reason)
  219. {
  220. return 1;
  221. }
  222.  
  223. public OnVehicleSpawn(vehicleid)
  224. {
  225. return 1;
  226. }
  227.  
  228. public OnVehicleDeath(vehicleid, killerid)
  229. {
  230. return 1;
  231. }
  232.  
  233. public OnPlayerText(playerid, text[])
  234. {
  235. new string[128];
  236. format(string,sizeof(string),"%e says: %e", GetName(playerid),text);
  237. NearbyMessage(playerid,COLOUR_WHITE,string);
  238. return 0;
  239. }
  240.  
  241. public OnPlayerCommandText(playerid, cmdtext[])
  242. {
  243. return 1;
  244. }
  245.  
  246. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  247. {
  248. return 1;
  249. }
  250.  
  251. public OnPlayerExitVehicle(playerid, vehicleid)
  252. {
  253. return 1;
  254. }
  255.  
  256. public OnPlayerStateChange(playerid, newstate, oldstate)
  257. {
  258. if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
  259. {
  260. new vehicleid = GetPlayerVehicleID(playerid);
  261. LastVehicleDriver[vehicleid] = playerid;
  262. }
  263. return 1;
  264. }
  265.  
  266. public OnPlayerEnterCheckpoint(playerid)
  267. {
  268. return 1;
  269. }
  270.  
  271. public OnPlayerLeaveCheckpoint(playerid)
  272. {
  273. return 1;
  274. }
  275.  
  276. public OnPlayerEnterRaceCheckpoint(playerid)
  277. {
  278. return 1;
  279. }
  280.  
  281. public OnPlayerLeaveRaceCheckpoint(playerid)
  282. {
  283. return 1;
  284. }
  285.  
  286. public OnRconCommand(cmd[])
  287. {
  288. return 1;
  289. }
  290.  
  291. public OnPlayerRequestSpawn(playerid)
  292. {
  293. return 1;
  294. }
  295.  
  296. public OnObjectMoved(objectid)
  297. {
  298. return 1;
  299. }
  300.  
  301. public OnPlayerObjectMoved(playerid, objectid)
  302. {
  303. return 1;
  304. }
  305.  
  306. public OnPlayerPickUpPickup(playerid, pickupid)
  307. {
  308. return 1;
  309. }
  310.  
  311. public OnVehicleMod(playerid, vehicleid, componentid)
  312. {
  313. return 1;
  314. }
  315.  
  316. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  317. {
  318. return 1;
  319. }
  320.  
  321. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  322. {
  323. return 1;
  324. }
  325.  
  326. public OnPlayerSelectedMenuRow(playerid, row)
  327. {
  328. return 1;
  329. }
  330.  
  331. public OnPlayerExitedMenu(playerid)
  332. {
  333. return 1;
  334. }
  335.  
  336. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  337. {
  338. return 1;
  339. }
  340.  
  341. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  342. {
  343. return 1;
  344. }
  345.  
  346. public OnRconLoginAttempt(ip[], password[], success)
  347. {
  348. return 1;
  349. }
  350.  
  351. public OnPlayerUpdate(playerid)
  352. {
  353. return 1;
  354. }
  355.  
  356. public OnPlayerStreamIn(playerid, forplayerid)
  357. {
  358. return 1;
  359. }
  360.  
  361. public OnPlayerStreamOut(playerid, forplayerid)
  362. {
  363. return 1;
  364. }
  365.  
  366. public OnVehicleStreamIn(vehicleid, forplayerid)
  367. {
  368. return 1;
  369. }
  370.  
  371. public OnVehicleStreamOut(vehicleid, forplayerid)
  372. {
  373. return 1;
  374. }
  375.  
  376. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  377. {
  378. switch(dialogid)
  379. {
  380. case LoginDialog:
  381. {
  382. if(!response) Kick(playerid);
  383.  
  384. new hashpass[129], query[100];
  385.  
  386. WP_Hash(hashpass, sizeof(hashpass), inputtext);
  387. if(!strcmp(hashpass, PlayerStats[playerid][Password]))
  388. {
  389. mysql_format(mysql, query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%e' LIMIT 1", GetName(playerid));
  390. mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid);
  391. }
  392. else
  393. {
  394. SendClientMessage(playerid, -1, "You have specified an incorrect password!");
  395. ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_INPUT, "Login", "Welcome back!\nThis account is registered.\nPlease enter your password below.", "Login", "Quit");
  396. }
  397. }
  398. case RegisterDialog:
  399. {
  400. if(!response) return Kick(playerid);
  401. if(strlen(inputtext) < 5)
  402. {
  403. SendClientMessage(playerid, -1, "Your password must at least contain more than 4 characters.");
  404. return ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_INPUT, "Register", "Welcome player!\nYour account has not been registered yet. Please enter a password to register this account:", "Register", "Quit");
  405. }
  406. new query[512], playerip[16];
  407.  
  408.  
  409. GetPlayerIp(playerid, playerip, sizeof(playerip));
  410. WP_Hash(PlayerStats[playerid][Password], 129, inputtext);
  411. mysql_format(mysql, query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Password`, `IP`, `PlayerX`, `PlayerY`, `PlayerZ`, `AdminLevel`) VALUES ('%e', '%e', '%e', 0, 0, 0)", GetName(playerid), PlayerStats[playerid][Password], playerip, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A);
  412. mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
  413. }
  414. }
  415. return false; // For filterscripts..
  416. }
  417.  
  418. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  419. {
  420. return 1;
  421. }
  422.  
  423. forward OnAccountCheck(playerid);
  424. public OnAccountCheck(playerid)
  425. {
  426. new rows, fields;
  427. cache_get_data(rows, fields, mysql);
  428.  
  429. if(rows)
  430. {
  431. cache_get_field_content(0, "Password", PlayerStats[playerid][Password], mysql, 129);
  432. PlayerStats[playerid][ID] = cache_get_field_content_int(0, "ID");
  433. ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_INPUT, "Login", "Welcome player!\nYour account has been found in our database. Please fill in your password:", "Login", "Quit");
  434. }
  435. else
  436. {
  437. ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_INPUT, "Register", "Welcome player!\nYour account has not been registered yet. Please fill in your desired password:", "Register", "Quit");
  438. }
  439. return true;
  440. }
  441.  
  442. forward OnAccountLoad(playerid);
  443. public OnAccountLoad(playerid)
  444. {
  445. PlayerStats[playerid][AdminLevel] = cache_get_field_content_int(0, "Admin");
  446. PlayerStats[playerid][PlayerX] = cache_get_field_content_float(0, "PlayerX");
  447. PlayerStats[playerid][PlayerY] = cache_get_field_content_float(0, "PlayerY");
  448. PlayerStats[playerid][PlayerZ] = cache_get_field_content_float(0, "PlayerZ");
  449.  
  450. TogglePlayerSpectating(playerid, false);
  451.  
  452. SetSpawnInfo(playerid, 0, 23, PlayerStats[playerid][PlayerX], PlayerStats[playerid][PlayerY], PlayerStats[playerid][PlayerZ], 0.0, 0, 0, 0, 0, 0, 0);
  453. SpawnPlayer(playerid);
  454.  
  455. SendSuccessMessage(playerid,"You have successfully logged in.");
  456. return true;
  457. }
  458.  
  459. forward OnAccountRegister(playerid);
  460. public OnAccountRegister(playerid)
  461. {
  462. PlayerStats[playerid][ID] = cache_insert_id();
  463. printf("[Registration] New account registered. Database ID: [%d]", PlayerStats[playerid][ID]);
  464.  
  465. TogglePlayerSpectating(playerid, false);
  466.  
  467. SetSpawnInfo(playerid, 0, 23, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A, 0, 0, 0, 0, 0, 0);
  468. SpawnPlayer(playerid);
  469. return true;
  470. }
  471.  
  472. CMD:armour(playerid, params[])
  473. {
  474. new armourvalue;
  475. if (!sscanf(params, "i", armourvalue))
  476. {
  477. if(armourvalue > 200)
  478. return SendErrorMessage(playerid,"You cannot give yourself more than 200 armour!");
  479. else{
  480. new string[128];
  481. SetPlayerArmour(playerid, armourvalue);
  482. format(string,sizeof(string),"You have been given %i armour.", armourvalue);
  483. SendClientMessage(playerid,COLOUR_BLUE,string);
  484. }
  485. return 1;
  486. }
  487. else SendSyntaxMessage(playerid,"/armour <armour amount>");
  488. return 1;
  489. }
  490.  
  491. CMD:health(playerid, params[])
  492. {
  493. new healthvalue;
  494.  
  495. if (!sscanf(params, "i", healthvalue))
  496. {
  497. if(healthvalue > 200)
  498. return SendErrorMessage(playerid,"You cannot give yourself more than 200 health!");
  499. else{
  500. new string[128];
  501. SetPlayerHealth(playerid, healthvalue);
  502. format(string,sizeof(string),"You have been given %i health.", healthvalue);
  503. SendClientMessage(playerid,COLOUR_BLUE,string);
  504. }
  505. return 1;
  506. }
  507. else SendSyntaxMessage(playerid,"/health <health amount>");
  508. return 1;
  509.  
  510. }
  511. CMD:me(playerid,params[])
  512. {
  513. new string[128];
  514.  
  515. if(isnull(params))
  516. return SendSyntaxMessage(playerid,"/me [action]");
  517.  
  518. format(string,sizeof(string),"%e %e",GetName(playerid),params);
  519. NearbyMessage(playerid,COLOUR_PlayerAction,string);
  520.  
  521. return 1;
  522. }
  523.  
  524. CMD:do(playerid,params[])
  525. {
  526. new string[128];
  527.  
  528. if(isnull(params))
  529. return SendSyntaxMessage(playerid,"/do [description]");
  530.  
  531. format(string,sizeof(string),"%e (( %e ))",params,GetName(playerid));
  532. NearbyMessage(playerid,COLOUR_PlayerAction,string);
  533.  
  534. return 1;
  535. }
  536.  
  537. CMD:v(playerid,params[])
  538. {
  539. new vehid, colour1,colour2;
  540. if (!sscanf(params, "iii", vehid,colour1,colour2))
  541. {
  542. if(vehid > 611 || vehid < 400)
  543. return SendErrorMessage(playerid,"You must enter a vehicle id between 400 and 611.");
  544. else{
  545. new Float:x, Float:y, Float:z, Float:angle;
  546. GetPlayerPos(playerid,x,y,z);
  547. GetPlayerFacingAngle(playerid,angle);
  548. CreateVehicle(vehid, x, y, z, angle, colour1, colour2, -1);
  549. SendClientMessage(playerid,COLOUR_BLUE,"Vehicle spawned at your location!");
  550. VehicleID[GetPlayerVehicleID(playerid)] = vehid;
  551. }
  552. return 1;
  553. }
  554. else SendSyntaxMessage(playerid,"/v <carid> <colour1> <colour2>");
  555. return 1;
  556. }
  557.  
  558.  
  559. CMD:lastdriver(playerid,params[])
  560. {
  561. if(IsPlayerInAnyVehicle(playerid))
  562. {
  563. new string[144], name[24];
  564. GetPlayerName(LastVehicleDriver[VehicleID[GetPlayerVehicleID(playerid)]],name,sizeof(name));
  565. format(string,sizeof(string), "The last driver of vehicle %d was %e", GetPlayerVehicleID(playerid), name);
  566. SendClientMessage(playerid,COLOUR_BLUE,string);
  567. }
  568. else SendErrorMessage(playerid,"You are not in a vehicle!");
  569. return 1;
  570.  
  571. }
  572.  
  573. CMD:w(playerid,params[])
  574. {
  575. new weaponid, receiveid;
  576. if(!sscanf(params,"ii",receiveid, weaponid))
  577. {
  578. new string[128], name[MAX_PLAYER_NAME], weaponname[24];
  579. GivePlayerWeapon(playerid,weaponid,999999);
  580. GetWeaponName(weaponid,weaponname,sizeof(weaponname));
  581. GetPlayerName(playerid,name,MAX_PLAYER_NAME);
  582. format(string,sizeof(string),"You have been given a %e by %e.", weaponname, name);
  583. }
  584. else SendSyntaxMessage(playerid,"/w <targetid> <weaponid>");
  585. return 1;
  586. }
  587.  
  588. CMD:hparm(playerid,params[])
  589. {
  590. new Float:healthamount, Float:armouramount, string[128];
  591. GetPlayerHealth(playerid,healthamount);
  592. GetPlayerArmour(playerid,armouramount);
  593. format(string,sizeof(string),"You have {AA3333}%i{FFFFFF} health and {AA3333}%i{FFFFFF} armour", floatround(healthamount), floatround(armouramount));
  594. SendClientMessage(playerid,-1,string);
  595. return 1;
  596. }
  597.  
  598. CMD:s(playerid,params[])
  599. {
  600. new skinid;
  601. if(!sscanf(params,"i",skinid))
  602. {
  603. if(skinid == 0 || skinid > 311)
  604. return SendErrorMessage(playerid,"You must select a skin ID between 1 and 311.");
  605. new string[128];
  606. SetPlayerSkin(playerid,skinid);
  607. format(string,sizeof(string),"Your skin has been changed to ID: {AA3333}%i{FFFFFF}.",skinid);
  608. SendClientMessage(playerid,COLOUR_WHITE,string);
  609. }
  610. else SendSyntaxMessage(playerid,"/s <skinid>");
  611. return 1;
  612. }
  613.  
  614. CMD:nos(playerid,params[])
  615. {
  616. new NOSAmount;
  617. if(!sscanf(params,"i",NOSAmount))
  618. {
  619. if(IsPlayerInAnyVehicle(playerid))
  620. {
  621. new playerstate = GetPlayerState(playerid);
  622. if(playerstate == PLAYER_STATE_DRIVER)
  623. {
  624. new string[128];
  625. if(NOSAmount == 2)
  626. AddVehicleComponent(GetPlayerVehicleID(playerid),1009);
  627. if(NOSAmount == 5)
  628. AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
  629. if(NOSAmount == 10)
  630. AddVehicleComponent(GetPlayerVehicleID(playerid),1010);
  631. format(string,sizeof(string),"{AA3333}[SUCCESS]: {FFFF00}You have installed x%i NOS.",NOSAmount);
  632. SendClientMessage(playerid,COLOUR_YELLOW,string);
  633. return 1;
  634. }
  635. else SendErrorMessage(playerid,"You must be the driver to do this!");
  636. return 1;
  637. }
  638. else SendErrorMessage(playerid,"You are not in a vehicle!");
  639. return 1;
  640. }
  641. else SendSyntaxMessage(playerid,"/nos <2,5,10>");
  642. return 1;
  643. }
  644.  
  645. CMD:sa(playerid,params[])
  646. {
  647. if(GetPlayerAnimationIndex(playerid) != 0) // Checks if the player is in an animation
  648. {
  649. ClearAnimations(playerid); // Stops the players animation
  650. }
  651. else SendClientMessage(playerid,-1,"You are not in an animation!");
  652. return 1;
  653. }
  654.  
  655. CMD:settime(playerid,params[])
  656. {
  657. new time;
  658. if(!sscanf(params,"i",time))
  659. {
  660. SetWorldTime(time);
  661. }
  662. else
  663. SendSyntaxMessage(playerid,"/time <hour>");
  664. return 1;
  665. }
  666.  
  667. CMD:vlights(playerid,params[])
  668. {
  669. new vehicleid, engine, lights, alarm, doors, bonnet, boot, objective;
  670. vehicleid = GetPlayerVehicleID(playerid);
  671. if(IsPlayerInAnyVehicle(playerid))
  672. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  673. if(VehicleLights[vehicleid] == 0)
  674. {
  675. VehicleLights[vehicleid] = 1;
  676. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  677. SetVehicleParamsEx(vehicleid, engine, true, alarm, doors, bonnet, boot, objective);
  678. }
  679. else if(VehicleLights[vehicleid] == 1)
  680. {
  681. VehicleLights[vehicleid] = 0;
  682. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  683. SetVehicleParamsEx(vehicleid, engine, false, alarm, doors, bonnet, boot, objective);
  684. }
  685. else SendErrorMessage(playerid,"You need to be in a vehicle to do this!");
  686. return 1;
  687. }
  688.  
  689. CMD:get(playerid,params[])
  690. {
  691. new getplayerid;
  692. if(!sscanf(params,"i",getplayerid))
  693. {
  694. new Float:x, Float:y, Float:z;
  695. GetPlayerPos(playerid,x,y,z);
  696. SetPlayerPos(getplayerid, x + 2.0, y, z);
  697. }
  698. SendSyntaxMessage(playerid,"/get <player id>");
  699. return 1;
  700. }
  701.  
  702. CMD:goto(playerid,params[])
  703. {
  704. new targetid;
  705. if(!sscanf(params,"i",targetid))
  706. {
  707. new Float:x, Float:y, Float:z;
  708. GetPlayerPos(targetid,x,y,z);
  709. SetPlayerPos(playerid,x + 2.0,y,z);
  710. }
  711.  
  712. return 1;
  713. }
  714.  
  715. CMD:setpos(playerid,params[])
  716. {
  717. new Float: pos[3],int;
  718. if(!sscanf(params,"fff",pos[0],pos[1],pos[2],int))
  719. {
  720. SetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  721. SetPlayerInterior(playerid, int);
  722. }
  723. else SendSyntaxMessage(playerid,"/setpos <x> <y> <z>");
  724. return 1;
  725. }
  726.  
  727. CMD:setdl(playerid,params[])
  728. {
  729. new Float: dlvalue;
  730. if(!sscanf(params,"f",dlvalue))
  731. {
  732. new string[128];
  733. if(IsPlayerInAnyVehicle(playerid))
  734. {
  735. SetVehicleHealth(GetPlayerVehicleID(playerid),dlvalue);
  736. new vehiclename, vehicleid;
  737. vehicleid = GetPlayerVehicleID(playerid);
  738. vehiclename = GetVehicleModel(vehicleid);
  739. format(string,sizeof(string),"You have set the %e with the ID: %i to %f health.",vehiclename,vehicleid,dlvalue);
  740. SendClientMessage(playerid,COLOUR_YELLOW,string);
  741. return 1;
  742. }
  743. else SendErrorMessage(playerid,"You must be in a vehicle to do this!");
  744. return 1;
  745. }
  746. else SendSyntaxMessage(playerid,"/setdl <dl amount>");
  747. return 1;
  748. }
  749.  
  750.  
  751. CMD:getmycoords(playerid,params[])
  752. {
  753. new Float: Position[3], string[128];
  754. GetPlayerPos(playerid,Position[0],Position[1],Position[2]);
  755. format(string,sizeof(string),"Your current position: X: %f, Y: %f, Z: %f", Position[0],Position[1],Position[2]);
  756. SendClientMessage(playerid,COLOUR_BLUE,string);
  757.  
  758. return 1;
  759. }
  760.  
  761.  
  762. stock GetVehiclePassengers(vehicleid)
  763. {
  764. new passengers[MAX_VEHICLES];
  765. for(new i;i<MAX_PLAYERS;i++)
  766. {
  767. if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
  768. if(GetPlayerVehicleID(i) == vehicleid)
  769. {
  770. passengers[vehicleid] ++;
  771. }
  772. }
  773. return passengers[vehicleid];
  774. }
  775.  
  776.  
  777. /*
  778. CMD:carwhisper(playerid,params[])
  779. {
  780. new string[128], vehicle = GetPlayerVehicleID(playerid);
  781. for( new i = 0; i != MAX_PLAYERS; i++ )
  782. {
  783. if(GetPlayerVehicleID(i) == vehicle)
  784. {
  785. format(string, sizeof(string), "%e says: %e", GetName(playerid), params);
  786. SendClientMessage(playerid,COLOUR_YELLOW,string);
  787. }
  788.  
  789.  
  790.  
  791. }
  792. return 1;
  793. }
  794. */
Advertisement
Add Comment
Please, Sign In to add comment