Advertisement
Guest User

staff sistem

a guest
Sep 18th, 2022
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.57 KB | None | 0 0
  1. #define YSI_YES_HEAP_MALLOC
  2.  
  3. #define CGEN_MEMORY 60000
  4.  
  5. #include <a_samp>
  6. #include <ysilib\YSI_Storage\y_ini>
  7. #include <ysilib\YSI_Visual\y_commands>
  8. #include <sscanf2>
  9.  
  10. #define c_server "{0099ff}"
  11. #define c_white "{ffffff}"
  12. #define x_server 0x0099FFAA
  13. #define x_ltblue 0x00f2ffAA
  14.  
  15. static stock const USER_PATH[64] = "/Users/%s.ini";
  16.  
  17. static
  18. player_Skin[MAX_PLAYERS],
  19. player_Staff[MAX_PLAYERS];
  20.  
  21. new stfveh[MAX_PLAYERS] = { INVALID_VEHICLE_ID, ... };
  22.  
  23. forward Account_Load(const playerid, const string: name[], const string: value[]);
  24. public Account_Load(const playerid, const string: name[], const string: value[])
  25. {
  26. INI_Int("Staff", player_Staff[playerid]);
  27.  
  28. return 1;
  29. }
  30.  
  31. main()
  32. {
  33. print("- -");
  34. print("*staff system");
  35. print("*credits: realnaith");
  36. print("- -");
  37. }
  38.  
  39. public OnPlayerConnect(playerid)
  40. {
  41. stfveh[playerid] = INVALID_VEHICLE_ID;
  42.  
  43. return 1;
  44. }
  45.  
  46. public OnPlayerDisconnect(playerid, reason)
  47. {
  48. new INI:File = INI_Open(Account_Path(playerid));
  49. INI_SetTag(File,"data");
  50. INI_WriteInt(File, "Staff", player_Staff[playerid]);
  51. INI_Close(File);
  52.  
  53. DestroyVehicle(stfveh[playerid]);
  54.  
  55. stfveh[playerid] = INVALID_PLAYER_ID;
  56.  
  57. return 1;
  58. }
  59.  
  60. public OnPlayerDeath(playerid, killerid, reason)
  61. {
  62. DestroyVehicle(stfveh[playerid]);
  63.  
  64. stfveh[playerid] = INVALID_PLAYER_ID;
  65.  
  66. return 1;
  67. }
  68.  
  69. stock Account_Path(const playerid)
  70. {
  71. new tmp_fmt[64];
  72. format(tmp_fmt, sizeof(tmp_fmt), USER_PATH, ReturnPlayerName(playerid));
  73.  
  74. return tmp_fmt;
  75. }
  76.  
  77. stock IsVehicleBicycle(m)
  78. {
  79. if (m == 481 || m == 509 || m == 510) return true;
  80.  
  81. return false;
  82. }
  83.  
  84. YCMD:sc(playerid, const string: params[], help)
  85. {
  86. if (player_Staff[playerid] < 1)
  87. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  88.  
  89. if (isnull(params))
  90. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"/sc [text]");
  91.  
  92. static tmp_str[128];
  93.  
  94. format(tmp_str, sizeof(tmp_str), "Staff - %s(%d): "c_white"%s", ReturnPlayerName(playerid), playerid, params);
  95.  
  96. foreach (new i: Player)
  97. if (player_Staff[i])
  98. SendClientMessage(i, x_ltblue, tmp_str);
  99.  
  100. return 1;
  101. }
  102.  
  103. YCMD:sveh(playerid, params[], help)
  104. {
  105. if (player_Staff[playerid] < 1)
  106. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  107.  
  108. new Float:x, Float:y, Float:z;
  109.  
  110. GetPlayerPos(playerid, x, y, z);
  111.  
  112. if (stfveh[playerid] == INVALID_VEHICLE_ID)
  113. {
  114. if (isnull(params))
  115. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"/sveh [Model ID]");
  116.  
  117. new modelid = strval(params);
  118.  
  119. if (400 > modelid > 611)
  120. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"* Validni modeli su od 400 do 611.");
  121.  
  122. new vehicleid = stfveh[playerid] = CreateVehicle(modelid, x, y, z, 0.0, 1, 0, -1);
  123.  
  124. SetVehicleNumberPlate(vehicleid, "STAFF");
  125. PutPlayerInVehicle(playerid, vehicleid, 0);
  126.  
  127. new engine, lights, alarm, doors, bonnet, boot, objective;
  128. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  129.  
  130. if (IsVehicleBicycle(GetVehicleModel(vehicleid)))
  131. {
  132. SetVehicleParamsEx(vehicleid, 1, 0, 0, doors, bonnet, boot, objective);
  133. }
  134. else
  135. {
  136. SetVehicleParamsEx(vehicleid, 0, 0, 0, doors, bonnet, boot, objective);
  137. }
  138. SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Stvorili ste vozilo, da ga unistite kucajte '/sveh'.");
  139. }
  140. else
  141. {
  142. DestroyVehicle(stfveh[playerid]);
  143. stfveh[playerid] = INVALID_PLAYER_ID;
  144. SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Unistili ste vozilo, da ga stvorite kucajte '/veh [Model ID]'.");
  145. }
  146.  
  147. return 1;
  148. }
  149.  
  150. YCMD:goto(playerid, params[],help)
  151. {
  152. if (player_Staff[playerid] < 1)
  153. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  154.  
  155. new giveplayerid, giveplayer[MAX_PLAYER_NAME];
  156.  
  157. new Float:plx,Float:ply,Float:plz;
  158.  
  159. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  160.  
  161. if(!sscanf(params, "u", giveplayerid))
  162. {
  163. GetPlayerPos(giveplayerid, plx, ply, plz);
  164.  
  165. if (GetPlayerState(playerid) == 2)
  166. {
  167. new tmpcar = GetPlayerVehicleID(playerid);
  168. SetVehiclePos(tmpcar, plx, ply+4, plz);
  169. }
  170. else
  171. {
  172. SetPlayerPos(playerid,plx,ply+2, plz);
  173. }
  174. SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
  175. }
  176. return 1;
  177. }
  178.  
  179. YCMD:cc(playerid, params[], help)
  180. {
  181. if (player_Staff[playerid] < 1)
  182. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  183.  
  184. for(new cc; cc < 110; cc++)
  185. {
  186. SendClientMessageToAll(-1, "");
  187. }
  188.  
  189. if(player_Staff[playerid] < 1)
  190. {
  191. static fmt_string[120];
  192. format(fmt_string, sizeof(fmt_string), ""c_server"offline // "c_white"chat je ocistio"c_server" %s", ReturnPlayerName(playerid));
  193. SendClientMessageToAll(-1, fmt_string);
  194. }
  195. return 1;
  196. }
  197.  
  198. YCMD:fv(playerid, params[], help)
  199. {
  200. if (player_Staff[playerid] < 1)
  201. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  202.  
  203. new vehicleid = GetPlayerVehicleID(playerid);
  204.  
  205. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Niste u vozilu!");
  206.  
  207. RepairVehicle(vehicleid);
  208.  
  209. SetVehicleHealth(vehicleid, 999.0);
  210.  
  211. return 1;
  212. }
  213. YCMD:gethere(playerid, const params[], help)
  214. {
  215. if (player_Staff[playerid] < 1)
  216. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  217.  
  218. new targetid = INVALID_PLAYER_ID;
  219.  
  220. if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"/gethere [id]");
  221.  
  222. if(targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, x_server, "offline // "c_white"Taj ID nije konektovan.");
  223.  
  224. new Float:x, Float:y, Float:z;
  225.  
  226. GetPlayerPos(playerid, x, y, z);
  227.  
  228. SetPlayerPos(targetid, x+1, y, z+1);
  229.  
  230. SetPlayerInterior(targetid, GetPlayerInterior(playerid));
  231.  
  232. SetPlayerVirtualWorld(targetid, GetPlayerVirtualWorld(playerid));
  233.  
  234. new name[MAX_PLAYER_NAME];
  235. GetPlayerName(targetid, name, sizeof(name));
  236.  
  237. static fmt_string[60];
  238.  
  239. format(fmt_string, sizeof(fmt_string),""c_server"offline // "c_white"Teleportovali ste igraca %s do sebe.", name);
  240. SendClientMessage(playerid, -1, fmt_string);
  241.  
  242. GetPlayerName(playerid, name, sizeof(name));
  243.  
  244. format(fmt_string, sizeof(fmt_string), ""c_server"offline // "c_white"Staff %s vas je teleportovao do sebe.", name);
  245. SendClientMessage(targetid, -1, fmt_string);
  246.  
  247. return 1;
  248. }
  249.  
  250. YCMD:nitro(playerid, params[], help)
  251. {
  252. if (player_Staff[playerid] < 1)
  253. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  254.  
  255. AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  256.  
  257. SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Ugradili ste nitro u vase vozilo.");
  258.  
  259. return 1;
  260. }
  261. YCMD:jetpack(playerid, params[], help)
  262. {
  263. if (player_Staff[playerid] < 1)
  264. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  265.  
  266. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
  267.  
  268. SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Uzeli ste Jetpack.");
  269.  
  270. return 1;
  271. }
  272. YCMD:setskin(playerid, const string: params[], help)
  273. {
  274. if (player_Staff[playerid] < 1)
  275. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  276.  
  277. static
  278. targetid,
  279. skinid;
  280.  
  281. if (sscanf(params, "ri", targetid, skinid))
  282. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"/setskin [targetid] [skinid]");
  283.  
  284. if (!(1 <= skinid <= 311))
  285. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Pogresan ID skina!");
  286.  
  287. if (GetPlayerSkin(targetid) == skinid)
  288. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Taj igrac vec ima taj skin!");
  289.  
  290. SetPlayerSkin(targetid, skinid);
  291.  
  292. player_Skin[targetid] = skinid;
  293.  
  294. new INI:File = INI_Open(Account_Path(playerid));
  295. INI_SetTag( File, "data" );
  296. INI_WriteInt(File, "Skin", GetPlayerSkin(playerid));
  297. INI_Close( File );
  298.  
  299. return 1;
  300. }
  301.  
  302. YCMD:xgoto(playerid, params[], help)
  303. {
  304. if (player_Staff[playerid] < 1)
  305. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Samo staff moze ovo!");
  306.  
  307. new Float:x, Float:y, Float:z;
  308.  
  309. static fmt_string[100];
  310.  
  311. if (sscanf(params, "fff", x, y, z)) SendClientMessage(playerid, -1, ""c_server"offline // "c_white"xgoto <X Float> <Y Float> <Z Float>");
  312. else
  313. {
  314. if(IsPlayerInAnyVehicle(playerid))
  315. {
  316. SetVehiclePos(GetPlayerVehicleID(playerid), x,y,z);
  317. }
  318. else
  319. {
  320. SetPlayerPos(playerid, x, y, z);
  321. }
  322. format(fmt_string, sizeof(fmt_string), ""c_server"offline // "c_white"Postavili ste koordinate na %f, %f, %f", x, y, z);
  323. SendClientMessage(playerid, x_ltblue, fmt_string);
  324. }
  325. return 1;
  326. }
  327.  
  328. YCMD:setstaff(playerid, const string: params[], help)
  329. {
  330. if(!IsPlayerAdmin(playerid))
  331. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Morate biti RCON!");
  332.  
  333. static
  334. targetid,
  335. level;
  336.  
  337. if (sscanf(params, "ri", targetid, level))
  338. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"/setstaff [targetid] [0/1]");
  339.  
  340. if (!level && !player_Staff[targetid])
  341. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Taj igrac nije u staff-u.");
  342.  
  343. if (level == player_Staff[targetid])
  344. return SendClientMessage(playerid, -1, ""c_server"offline // "c_white"Taj igrac je vec u staff-u.");
  345.  
  346. player_Staff[targetid] = level;
  347.  
  348. if (!level)
  349. {
  350. static fmt_string[64];
  351.  
  352. format(fmt_string, sizeof(fmt_string), ""c_server"offline // "c_white"%s Vas je izbacio iz staff-a.", ReturnPlayerName(playerid));
  353. SendClientMessage(targetid, -1, fmt_string);
  354.  
  355. format(fmt_string, sizeof(fmt_string), ""c_server"offline // "c_white"Izbacili ste %s iz staff-a.", ReturnPlayerName(targetid));
  356. SendClientMessage(playerid, -1, fmt_string);
  357. }
  358. else
  359. {
  360. static fmt_string[64];
  361.  
  362. format(fmt_string, sizeof(fmt_string), ""c_server"offline // "c_white"%s Vas je ubacio u staff.", ReturnPlayerName(playerid));
  363. SendClientMessage(targetid, -1, fmt_string);
  364.  
  365. format(fmt_string, sizeof(fmt_string), ""c_server"offline // "c_white"Ubacili ste %s u staff.", ReturnPlayerName(targetid));
  366. SendClientMessage(playerid, -1, fmt_string);
  367. }
  368. new INI:File = INI_Open(Account_Path(playerid));
  369. INI_SetTag( File, "data" );
  370. INI_WriteInt(File, "Staff", player_Staff[playerid]);
  371. INI_Close( File );
  372.  
  373. return 1;
  374. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement