Advertisement
Guest User

Untitled

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