Advertisement
Guest User

Gm

a guest
Jan 27th, 2021
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.66 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #include <fly>
  7. #include <sscanf2>
  8. #include <zcmd>
  9. #include <foreach>
  10.  
  11. new EngineVehicle[MAX_VEHICLES];
  12. new engine, lights, alarm, doors, bonnet, boot, objective;
  13. new playerAdmin[MAX_PLAYERS];
  14. new Text:Logo;
  15. new Text:Speed[4];
  16.  
  17.  
  18. #if defined FILTERSCRIPT
  19.  
  20. //DEFINES
  21. #define COLOR_WHITE 0xFFFFFFFF
  22. #define COLOR_YELLOW 0xFFFF00FF
  23. #define COLOR_ORANGE0xFF9900FF
  24. #define COLOR_PINK0xFF66FFFF
  25. #define COLOR_RED 0xFF0000FF
  26. #define COLOR_LIME 0x66FF00FF
  27. #define COLOR_GREEN 0x66FF99FF
  28. #define COLOR_BLACK 0x336699FF
  29. #define COLOR_BLUE0 x000099FF
  30. #define COLOR_LIGHTBLUE 0x00FFFFFF
  31.  
  32.  
  33. //ENUMS
  34. enum pInfo
  35. {
  36. pPass,
  37. pCash,
  38. pAdmin,
  39. pKills,
  40. pDeaths
  41. }
  42. new PlayerInfo[MAX_PLAYERS][pInfo];
  43.  
  44. forward LoadUser_data(playerid,name[],value[]);
  45. public LoadUser_data(playerid,name[],value[])
  46. {
  47. INI_Int("Password",PlayerInfo[playerid][pPass]);
  48. INI_Int("Cash",PlayerInfo[playerid][pCash]);
  49. INI_Int("AdminLevel",PlayerInfo[playerid][pAdmin]);
  50. INI_Int("Kills",PlayerInfo[playerid][pKills]);
  51. INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
  52. return 1;
  53. }
  54. public OnFilterScriptInit()
  55. {
  56. print("\n--------------------------------------");
  57. print(" Blank Filterscript by your name here");
  58. print("--------------------------------------\n");
  59. return 1;
  60. }
  61.  
  62. public OnFilterScriptExit()
  63. {
  64. return 1;
  65. }
  66.  
  67. #else
  68. main()
  69. {
  70. print("\n----------------------------------");
  71. print(" Blank Gamemode by your name here");
  72. print("----------------------------------\n");
  73. }
  74.  
  75. #endif
  76.  
  77. public OnGameModeInit()
  78. {
  79. // Don't use these lines if it's a filterscript
  80. SetGameModeText("TutorialGM V2.0");
  81. AddPlayerClass(60, 2127.8657,2379.1455,10.8203,179.0282, 0, 0, 0, 0, 0, 0);
  82. //TEXTDRAW
  83. Logo = TextDrawCreate(21.000000, 305.000000, "~r~RPG.ExtraGaming.RO");
  84. TextDrawFont(Logo, 1);
  85. TextDrawLetterSize(Logo, 0.395833, 1.850000);
  86. TextDrawTextSize(Logo, 400.000000, 17.000000);
  87. TextDrawSetOutline(Logo, 2);
  88. TextDrawSetShadow(Logo, 1);
  89. TextDrawAlignment(Logo, 1);
  90. TextDrawColor(Logo, -1);
  91. TextDrawBackgroundColor(Logo, 255);
  92. TextDrawBoxColor(Logo, 50);
  93. TextDrawUseBox(Logo, 0);
  94. TextDrawSetProportional(Logo, 1);
  95. TextDrawSetSelectable(Logo, 0);
  96. //SPEDOMETER
  97.  
  98. Create3DTextLabel("{ff5050}Salut, bine ai venit pe ExtraGaming", -1, 2136.4524, 2366.4373, 10.8203, 5.5);
  99. //ACTORS
  100. CreateActor(217, 2137.1565, 2366.3247, 10.8203, 92.7158);
  101. //PICKUPS
  102. AddStaticPickup(1239, 0, 2136.4524,2366.4373,10.8203);
  103. //VEHICLES
  104. ManualVehicleEngineAndLights();
  105. return 1;
  106. }
  107.  
  108. public OnGameModeExit()
  109. {
  110. new gActor;
  111. DestroyActor(gActor);
  112. return 1;
  113. }
  114.  
  115. public OnPlayerRequestClass(playerid, classid)
  116. {
  117. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  118. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  119. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  120. return 1;
  121. }
  122.  
  123. public OnPlayerConnect(playerid)
  124. {
  125. TextDrawShowForPlayer(playerid, Logo);
  126. return 1;
  127. }
  128.  
  129. public OnPlayerDisconnect(playerid, reason)
  130. {
  131. return 1;
  132. }
  133.  
  134. public OnPlayerSpawn(playerid)
  135. {
  136. return 1;
  137. }
  138.  
  139. public OnPlayerDeath(playerid, killerid, reason)
  140. {
  141. return 1;
  142. }
  143.  
  144. public OnVehicleSpawn(vehicleid)
  145. {
  146. return 1;
  147. }
  148.  
  149. public OnVehicleDeath(vehicleid, killerid)
  150. {
  151. return 1;
  152. }
  153.  
  154. public OnPlayerText(playerid, text[])
  155. {
  156. return 1;
  157. }
  158.  
  159. public OnPlayerCommandText(playerid, cmdtext[])
  160. {
  161. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  162. {
  163. // Do something here
  164. return 1;
  165. }
  166. return 0;
  167. }
  168.  
  169. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  170. {
  171. if(EngineVehicle[vehicleid] == 0)// daca vehiculul este inchis, are valoarea EngineVehicle = 0
  172.  
  173. {
  174.  
  175. SendClientMessage(playerid, -1, "{57acbd}Scrie /engine sau apasa 2, pentru a porni vehiculul!");// ii da mesaj sa ii spuna ce trebuie sa faca.
  176. }
  177.  
  178. return 1;
  179. }
  180.  
  181. public OnPlayerExitVehicle(playerid, vehicleid)
  182. {
  183. return 1;
  184. }
  185.  
  186. public OnPlayerStateChange(playerid, newstate, oldstate)
  187. {
  188. return 1;
  189. }
  190.  
  191. public OnPlayerEnterCheckpoint(playerid)
  192. {
  193. return 1;
  194. }
  195.  
  196. public OnPlayerLeaveCheckpoint(playerid)
  197. {
  198. return 1;
  199. }
  200.  
  201. public OnPlayerEnterRaceCheckpoint(playerid)
  202. {
  203. return 1;
  204. }
  205.  
  206. public OnPlayerLeaveRaceCheckpoint(playerid)
  207. {
  208. return 1;
  209. }
  210.  
  211. public OnRconCommand(cmd[])
  212. {
  213. return 1;
  214. }
  215.  
  216. public OnPlayerRequestSpawn(playerid)
  217. {
  218. return 1;
  219. }
  220.  
  221. public OnObjectMoved(objectid)
  222. {
  223. return 1;
  224. }
  225.  
  226. public OnPlayerObjectMoved(playerid, objectid)
  227. {
  228. return 1;
  229. }
  230.  
  231. public OnPlayerPickUpPickup(playerid, pickupid)
  232. {
  233. return 1;
  234. }
  235. public OnVehicleMod(playerid, vehicleid, componentid)
  236. {
  237. return 1;
  238. }
  239.  
  240. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  241. {
  242. return 1;
  243. }
  244.  
  245. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  246. {
  247. return 1;
  248. }
  249.  
  250. public OnPlayerSelectedMenuRow(playerid, row)
  251. {
  252. return 1;
  253. }
  254.  
  255. public OnPlayerExitedMenu(playerid)
  256. {
  257. return 1;
  258. }
  259.  
  260. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  261. {
  262. return 1;
  263. }
  264.  
  265. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  266. {
  267. if(newkeys & KEY_SUBMISSION)// tasta 2 , pe care am ales-o
  268.  
  269. {
  270.  
  271. new vehicleid = GetPlayerVehicleID(playerid);
  272.  
  273. if(vehicleid == INVALID_VEHICLE_ID)
  274.  
  275. return SendClientMessage(playerid, -1, "Nu esti intr-un vehicul");
  276.  
  277.  
  278.  
  279. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  280.  
  281. // pana aici, am explicat anterior
  282.  
  283. // precum noi am facut variabila EngineVehicle, ea are la inceput valoarea = 0. Noi ne vom folosi de aceasta.
  284.  
  285. //EngineVehicle are ca parametru nr max de vehicule, nu este pus aiurea, in cazul nostru putem atribui fiecarui vehicul in parte o valoare. Acum o vom face folosind vehicleid
  286.  
  287. if(EngineVehicle[vehicleid] == 0)// in caz ca vehiculul in care ne-am urcat are valoarea 0 la EngineVehicle, vom face urmatoarele:
  288.  
  289. {
  290.  
  291. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);// il pornim prin aceasta functie
  292.  
  293. SendClientMessage(playerid, -1, "Ai pornit vehiculul!");// ii dam acest mesaj ca l-am pornit
  294.  
  295.  
  296.  
  297. EngineVehicle[vehicleid] = 1;// ii stabilim valoarea 1, adica ca este pornit.
  298.  
  299. }
  300.  
  301. else if(EngineVehicle[vehicleid] == 1)// altfel, daca vehiculul are EngineVehicle = 1(adica este pornit) ii vom face urmatoarele:
  302.  
  303. {
  304.  
  305. SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);// il inchidem
  306.  
  307. SendClientMessage(playerid, -1, "Ai inchis vehiculul!");// ii dam mesaj ca l-am inchis
  308.  
  309.  
  310.  
  311. EngineVehicle[vehicleid] = 0;// ii stabilim valoarea 0(adica este inchis)
  312.  
  313. }
  314.  
  315. }
  316. return 1;
  317. }
  318. public OnRconLoginAttempt(ip[], password[], success)
  319. {
  320. return 1;
  321. }
  322.  
  323. public OnPlayerUpdate(playerid)
  324. {
  325. return 1;
  326. }
  327.  
  328. public OnPlayerStreamIn(playerid, forplayerid)
  329. {
  330. return 1;
  331. }
  332.  
  333. public OnPlayerStreamOut(playerid, forplayerid)
  334. {
  335. return 1;
  336. }
  337.  
  338. public OnVehicleStreamIn(vehicleid, forplayerid)
  339. {
  340. return 1;
  341. }
  342.  
  343. public OnVehicleStreamOut(vehicleid, forplayerid)
  344. {
  345. return 1;
  346. }
  347.  
  348. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  349. {
  350. return 1;
  351. }
  352.  
  353. CMD:fly(playerid, params[])
  354. {
  355. StartFly(playerid);
  356. InitFly(playerid);
  357. SetPlayerHealth(playerid, 999999999);
  358. return 1;
  359. }
  360. CMD:stopfly(playerid, params[])
  361. {
  362. StopFly(playerid);
  363. InitFly(playerid);
  364. SetPlayerHealth(playerid, 100);
  365. return 1;
  366. }
  367. CMD:kick(playerid, params[])
  368. {
  369. if( !IsPlayerAdmin( playerid ) ) return SendClientMessage( playerid, -1, "Eroare: Nu esti logat RCON." );//Restrictie care vreifica daca utilizatorul comenzi este administrator.
  370. new iUserID, szReason[ 30 ], szString[ 128 ], szUserName[ MAX_PLAYER_NAME ], szAdminName[ MAX_PLAYER_NAME ];
  371. if( sscanf( params, "us[30]", iUserID, szReason ) ) return SendClientMessage( playerid, -1, "Foloseste: /kick <Playerid/PlayerName> <reason>" );
  372. if( iUserID == playerid ) return SendClientMessage( playerid, -1, "Eroare: Nu iti poti da kick singur." );
  373. if( IsPlayerAdmin( iUserID ) ) return SendClientMessage( playerid, -1, "Eroare: Nu poti da kick unui Administrator." );
  374. GetPlayerName( playerid, szAdminName, MAX_PLAYER_NAME );
  375. GetPlayerName( iUserID, szUserName, MAX_PLAYER_NAME );
  376. format( szString, sizeof( szString ), "{db1f1f}AdmBot: Jucatorul %s a luat kick de la %s pe motiv: %s", szUserName, szAdminName, szReason );
  377. SendClientMessageToAll( -1, szString );
  378. BanEx( iUserID, szReason );
  379. return 1;
  380. }
  381. CMD:freeze(playerid, params[])
  382. {
  383. new ID;
  384. if(sscanf(params, "ui", ID))
  385. TogglePlayerControllable(ID, 0);
  386. return 1;
  387. }
  388. CMD:unfreeze(playerid, params[])
  389. {
  390. new ID;
  391. if(sscanf(params, "ui", ID))
  392. TogglePlayerControllable(ID, 1);
  393. return 1;
  394. }
  395. CMD:sethp(playerid, params[])
  396. {
  397. new Health;
  398. new PID;
  399. if(sscanf(params, "ud", PID, Health)) return SendClientMessage (playerid, -1, "SYNTAX: /sethp <playerid> <hp>");
  400. SetPlayerHealth(PID, Health);
  401. return 1;
  402. }
  403. CMD:givegun(playerid, params[])
  404. {
  405. new id, gun, ammo;
  406. if(sscanf(params, "uii", id, gun, ammo)) return SendClientMessage(playerid, -1, "SYNTAX: /givegun <playerid/playername> <gunid> <ammo>");
  407. if(gun > 47 || gun < 1) return SendClientMessage(playerid, -1, "SYNTAX: GUN'S ID BETWEEN 1-47!");
  408. if(ammo > 9999999999 || ammo < 1) return SendClientMessage(playerid, -1, "SYNTAX: Valit ammo is between 1-99999999");
  409. GivePlayerWeapon(id, gun, ammo);
  410. return 1;
  411. }
  412. CMD:givemoney(playerid, params[])
  413. {
  414. new Money;
  415. new PID;
  416. if(sscanf(params, "ud", PID, Money)) return SendClientMessage(playerid, -1, "SYNTAX: /givemoney <playerid> <money>");
  417. if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "EROARE: Acest jucator nu este conectat.");
  418. GivePlayerMoney(PID, Money);
  419. return 1;
  420. }
  421. CMD:setlevel(playerid, params[])
  422. {
  423. new Level;
  424. new PID;
  425. if(sscanf(params, "ud", PID, Level)) return SendClientMessage(playerid, -1, "SYNTAX: /setlevel <playerid> <level>");
  426. if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "EROARE: Acest jucator nu este conectat");
  427. SetPlayerScore(PID, Level);
  428. return 1;
  429. }
  430. CMD:aaa2(playerid, params[])
  431. {
  432. SetPlayerPos(playerid, 1477.2632, 1741.5753, 10.8125);
  433. SendClientMessage(playerid, -1, "You has been teleported");
  434. return 1;
  435. }
  436. CMD:gotols(playerid, params[])
  437. {
  438. SetPlayerPos(playerid, 1536.4950, -1675.2057, 13.3828);
  439. SendClientMessage(playerid, -1, "You has been teleported");
  440. return 1;
  441. }
  442. CMD:gotolv(playerid, params[])
  443. {
  444. SetPlayerPos(playerid, 1698.8916, 1444.2283, 10.7819);
  445. SendClientMessage(playerid, -1, "You has been teleported");
  446. return 1;
  447. }
  448. CMD:gotospawn(playerid, params[])
  449. {
  450. SetPlayerPos(playerid, 2127.8657,2379.1455,10.8203);
  451. SendClientMessage(playerid, -1, "You has been teleported");
  452. return 1;
  453. }
  454. CMD:fv(playerid, params[])
  455. {
  456. RepairVehicle(GetPlayerVehicleID(playerid));
  457. return 1;
  458. }
  459. CMD:nos(playerid, params[])
  460. {
  461. AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  462. return 1;
  463. }
  464. CMD:addspoiler(playerid, params[])
  465. {
  466. AddVehicleComponent(GetPlayerVehicleID(playerid), 1000);
  467. return 1;
  468. }
  469. CMD:engine(playerid,params[])
  470.  
  471. {
  472.  
  473. new vehicleid = GetPlayerVehicleID(playerid);// definim vehicleid ca fiind id masinii in care ne urcam
  474.  
  475. if(vehicleid == INVALID_VEHICLE_ID)// daca vehicleid este invalid, adica nu suntem in nici un vehicul
  476.  
  477. return SendClientMessage(playerid, -1, "Nu esti intr-un vehicul");// ne da acest mesaj
  478.  
  479. // aceasta este singura verificare de care avem nevoie. Tastand comanda, aceasta se verifica prima data.
  480.  
  481. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);// definim parametri vehiculului in care ne-am urcat, adica cei mentionati mai sus
  482. SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, lights,alarm,doors,bonnet,boot,objective);// setam vehiculul ca pornit, inlocuind engine cu VEHICLE_PARAMS_ON
  483.  
  484.  
  485.  
  486. return 1;
  487.  
  488. }
  489.  
  490. CMD:stopengine(playerid, params[])
  491.  
  492. {
  493.  
  494. new vehicleid = GetPlayerVehicleID(playerid);// definim vehicleid ca fiind id masinii in care ne urcam
  495.  
  496. if(vehicleid == INVALID_VEHICLE_ID)// daca vehicleid este invalid, adica nu suntem in nici un vehicul
  497.  
  498. return SendClientMessage(playerid,-1,"Nu esti intr-un vehicul");// ne da acest mesaj
  499.  
  500. // aceasta este singura verificare de care avem nevoie. Tastand comanda, aceasta se verifica prima data.
  501.  
  502. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);// definim parametri vehiculului in care ne-am urcat, adica cei mentionati mai sus
  503.  
  504. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);// setam vehiculul ca pornit, inlocuind engine cu VEHICLE_PARAMS_OFF
  505.  
  506. return 1;
  507. }
  508. CMD:spawncar(playerid, params[]){
  509. new model, color1, color2;
  510. if(sscanf(params, "iii", model, color1, color2)) return SendClientMessage(playerid, -1, "Syntax: /spawncar [model] [color1] [color2]");
  511. new Float: X, Float: Y, Float: Z, Float: Angle;
  512. GetPlayerPos(playerid, X,Y,Z);
  513. GetPlayerFacingAngle(playerid,Angle);
  514. new car = CreateVehicle(model, X+3,Y,Z, Angle, color1, color2, -1);
  515. PutPlayerInVehicle(playerid, car, 0);
  516. return 1;
  517. }
  518. CMD:vre(playerid, params[])
  519. {
  520. if(IsPlayerInAnyVehicle(playerid))
  521. {
  522. new tempcar = GetPlayerVehicleID(playerid);
  523. DestroyVehicle(tempcar);
  524. new formating[500];
  525. format(formating, sizeof(formating),"{ffcc66}Car has been despawned.", tempcar);
  526. SendClientMessage(playerid, -1, formating);
  527. }
  528. else return SendClientMessage(playerid, -1, "{ff5050}Nu te afli intr-o masina.");
  529. return 1;
  530. }
  531. CMD:setadmin(playerid, params[], help)
  532. {
  533. if(!IsPlayerAdmin(playerid)) //Aici verificam daca player'ul NU ESTE rcon admin
  534. return SendClientMessage(playerid, -1, "Doar adminii RCON pot folosi aceasta comanda.");
  535.  
  536. new pID, adminLevel, str[128]; //Am creat 3 variabile LOCALE de data aceasta, doar in comanda sunt valabile variabilele acestea. (pID = Integer adminLevel = Integer si str[128] = string (text), unde 128 = lungimea maxima admisa textului)
  537. if(sscanf(params,"ui", pID, adminLevel)) //Aici verificam parametrii introdusi in comanda. Daca cineva a folosit doar /makeadmin fara parametrii corecti, va da 'eroare'
  538. return SendClientMessage(playerid, -1, "FOLOSIRE: /setadmin [PlayerID] [Level]");
  539.  
  540. if(!IsPlayerConnected(pID)) // Aici verificam daca primul parametru (pID) este conectat
  541. return SendClientMessage(playerid, -1, "Player-ul selectat nu este conectat.");
  542.  
  543. if(adminLevel < 0 || adminLevel > 8)
  544. return SendClientMessage(playerid, -1, "Admin level este gresit. Foloseste levele intre 0 si 8");
  545.  
  546. new name[MAX_PLAYER_NAME], pName[MAX_PLAYER_NAME];
  547. GetPlayerName(pID, name, sizeof name);
  548. GetPlayerName(playerid, pName, sizeof pName);
  549. playerAdmin[pID] = adminLevel; //Aici setam variabila globala 'playerAdmin', pe care am definit-o mai sus
  550. format(str, sizeof str, "{00CED1}Admin %s te-a promovat in functia de admin %i.", pName, playerAdmin[pID]);
  551. SendClientMessage(pID, -1, str);
  552. format(str, sizeof str, "{00CED1}L-ai promovat pe %s in functia de admin %i.", name, playerAdmin[pID]);
  553. SendClientMessage(playerid, -1, str);
  554. format(str, sizeof str, "{00CED1}Admin %s l-a promovat pe %s in functia de admin %i.", pName, name, playerAdmin[pID]);
  555. SendClientMessageToAll(-1, str);
  556. SetPlayerSkin(playerid, 217);
  557. return 1;
  558. }
  559. CMD:respawn(playerid, params[]) {
  560. new id;
  561. if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, "Syntax: /respawn [name/playerid]");
  562. if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Player not connected.");
  563. SpawnPlayer(id);
  564. return 1;
  565. }
  566. CMD:servername(playerid, params[])
  567. {
  568. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Doar cei cu RCON pot schimba numele serverului!");
  569.  
  570. new name[128], string[128];
  571. if(sscanf(params, "s[128]", name)) return SendClientMessage(playerid, -1, "Syntax: /servername [name]");
  572. format(string, sizeof string, "hostname %s", name);
  573. SendRconCommand(string);
  574. return 1;
  575. }
  576. CMD:serverpass(playerid, params[]) {
  577. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Doar cei cu RCON pot schimba parola serverului!");
  578. new pass[64],string[128];
  579. SendClientMessage(playerid, -1, "Pentru a scoate parola scrie '0' ");
  580. if(sscanf(params, "s[64]", pass)) return SendClientMessage(playerid, -1, "Syntax: /serverpass [password]");
  581. format(string,sizeof(string),"password %s",pass);
  582. SendRconCommand(string);
  583. return 1;
  584. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement