Advertisement
Guest User

Untitled

a guest
May 8th, 2013
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.22 KB | None | 0 0
  1.  
  2.  
  3. /* Server Includes */
  4. #include <a_samp>
  5. #include <streamer>
  6. #include <zcmd>
  7. #include <foreach>
  8. #include <sscanf2>
  9. #include <YSI\y_ini>
  10.  
  11. /* Server Colors */
  12. #define COLOR_PURPLE 0xC2A2DAAA
  13. #define COLOR_GRAD2 0xBFC0C2FF
  14. #define COLOR_GRAD1 0xB4B5B7FF
  15. #define COLOR_GRAD2 0xBFC0C2FF
  16. #define COLOR_GREY 0xAFAFAFAA
  17. #define COLOR_GRAD3 0xCBCCCEFF
  18. #define COLOR_LIGHTBLUE 0x006FDD96
  19. #define COLOR_GRAD4 0xD8D8D8FF
  20. #define COLOR_FADE 0xC8C8C8C8
  21. #define COLOR_FADE2 0xC8C8C8C8
  22. #define COLOR_FADE3 0xAAAAAAAA
  23. #define COLOR_FADE4 0x8C8C8C8C
  24. #define COLOR_YELLOW 0xDABB3E00
  25. #define COLOR_FADE5 0x6E6E6E6E
  26. #define COLOR_GRAD5 0xE3E3E3FF
  27. #define COLOR_FADE1 0xE6E6E6E6
  28. #define COLOR_GRAD6 0xF0F0F0FF
  29. #define TEAM_HIT_COLOR 0xFFFFFF00
  30.  
  31. #define COL_WHITE "{FFFFFF}"
  32. #define COL_BLACK "{0E0101}"
  33. #define COL_GREY "{C3C3C3}"
  34. #define COL_GREEN "{6EF83C}"
  35. #define COL_RED "{F81414}"
  36. #define COL_YELLOW "{F3FF02}"
  37. #define COL_ORANGE "{FFAF00}"
  38. #define COL_LIME "{B7FF00}"
  39. #define COL_CYAN "{00FFEE}"
  40. #define COL_BLUE "{0049FF}"
  41. #define COL_MAGENTA "{F300FF}"
  42. #define COL_VIOLET "{B700FF}"
  43. #define COL_PINK "{FF00EA}"
  44. #define COL_MARONE "{A90202}"
  45.  
  46. /* Server Defines */
  47. #define PATH "SERVER/Accounts/%s.ini"
  48. #define SECONDS(%1) ((%1)*(1000))
  49. #define ALTCOMMAND:%1->%2; \
  50. COMMAND:%1(playerid, params[]) \
  51. return cmd_%2(playerid, params);
  52. #define function%0(%1) forward%0(%1); public%0(%1)
  53.  
  54. /* SERVER SIDE CASH */
  55. #define GivePlayerCash(%0,%1) SetPVarInt(%0,"Money",GetPlayerCash(%0)+%1),GivePlayerMoney(%0,%1)
  56. #define ResetPlayerCash(%0) SetPVarInt(%0,"Money",0), ResetPlayerMoney(%0)
  57. #define GetPlayerCash(%0) GetPVarInt(%0,"Money")
  58.  
  59. /* DIALOGS */
  60. #define DIALOG_REGISTER 1
  61. #define DIALOG_LOGIN 2
  62. #define DIALOG_AGE 3
  63. #define DIALOG_SEX 4
  64.  
  65. //
  66. /* ENUMS */
  67. enum pInfo
  68. {
  69. pPass,
  70. pCash,
  71. pAdmin,
  72. pSex,
  73. pAge,
  74. pSkin,
  75. pTeam,
  76. pAccent
  77. }
  78. new PlayerInfo[MAX_PLAYERS][pInfo];
  79. /* <--------------------------------------------> */
  80.  
  81. forward Ucitavanje(playerid);
  82. public Ucitavanje(playerid)
  83. {
  84. //tu te kodove za login
  85. return 1;
  86. }
  87. main()
  88. {
  89. print(" ");
  90. print(" ");
  91. print(" ");
  92. print(" ");
  93. print(" ");
  94. }
  95.  
  96. new
  97. noooc = 0,
  98. Logged[ MAX_PLAYERS ],
  99. gOoc[ MAX_PLAYERS ]
  100. ;
  101.  
  102. public OnPlayerConnect(playerid)
  103. {
  104.  
  105.  
  106. gOoc[ playerid ] = 0; Logged[ playerid ] = 0;
  107. // Reset stats!
  108. PlayerInfo[ playerid ][ pCash ] = 0;
  109. PlayerInfo[ playerid ][ pAdmin ] = 0;
  110. PlayerInfo[ playerid ][ pSex ] = 0;
  111. PlayerInfo[ playerid ][ pAge ] = 0;
  112. PlayerInfo[ playerid ][ pSkin ] = 0;
  113. PlayerInfo[ playerid ][ pTeam ] = 0;
  114. PlayerInfo[ playerid ][ pAccent ] = 0;
  115.  
  116. if(fexist(UserPath(playerid)))
  117. {
  118. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  119. SendClientMessage(playerid, COLOR_GRAD1, ""COL_GREY"SERVER"COL_WHITE" Server je trenutno u "COL_RED"RADNJI"COL_WHITE"!!!");
  120. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_GREY"LOGIN",""COL_WHITE"Dobro dosli na "COL_CYAN"Server\nVas profil je "COL_CYAN"Registrirat"COL_WHITE".\n"COL_WHITE"Unesite vasu lozinku da se Logirate.","Login","Izadi");
  121. }
  122. else
  123. {
  124. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_GREY"REGISTER",""COL_WHITE"Dobro dosli na "COL_CYAN"TIX"COL_WHITE" Server.\nUnesite zeljenu "COL_RED"LOZINKU"COL_WHITE" koja ce biti zadana za vas profil.\n"COL_RED"LOZINKA"COL_WHITE" mora biti sigurna i mora imate najmanje "COL_RED"6"COL_WHITE" znakova.\n\n\n"COL_WHITE"---"COL_CYAN">"COL_RED"VAZNO!\n"COL_CYAN"Admin"COL_WHITE" team "COL_RED"NE ODGOVARA "COL_WHITE"za vasu lozinku"COL_RED"!","Register","Izadi");
  125. SendClientMessage(playerid, COLOR_GRAD1, ""COL_GREY"SERVER"COL_WHITE": Kako bi igrali na serveru,morate se "COL_CYAN"Registrirati"COL_WHITE".");
  126. SendClientMessage(playerid, COLOR_GRAD1, ""COL_GREY"SERVER"COL_WHITE": Molim vas da "COL_CYAN"Pratite "COL_WHITE"i "COL_CYAN"Ispunite podatke koje trebate kako bi ste se "COL_CYAN"Registrirali"COL_WHITE".");
  127. }
  128.  
  129. return 1;
  130. }
  131.  
  132. public OnGameModeInit()
  133. {
  134. SetGameModeText("RPG 0.1b");
  135. /* <-------------------------------------------> */
  136. AddPlayerClass(299,1279.1825,-1361.6443,13.3221,1.0303,0,0,0,0,0,0); //
  137. AddPlayerClass(299,1279.1825,-1361.6443,13.3221,1.0303,0,0,0,0,0,0); //
  138. /* <-------------------------------------------> */
  139. ShowPlayerMarkers(0);
  140. ShowNameTags(1);
  141. DisableInteriorEnterExits();
  142. EnableStuntBonusForAll(0);
  143. SetNameTagDrawDistance(10.0);
  144. // =========== TIMERS ===========
  145. SetTimer("MoneyUpdate",1000,1);
  146. SetTimer("SaveAccounts", SECONDS(13), 1);
  147. return 1;
  148. }
  149.  
  150. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  151. {
  152. if(dialogid == DIALOG_AGE)
  153. {
  154. if(!response)
  155. {
  156. Kick(playerid);
  157. }
  158. else
  159. {
  160. if(strlen(inputtext))
  161. {
  162. new age = strval(inputtext);
  163. if(age < 14 || age > 30)
  164. {
  165. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, ""COL_GREY"REGISTER","Koliko imate godina?\n{FF0000}(( 14 - 30 ))","Ok","Izadi");
  166. }
  167. else
  168. {
  169. PlayerInfo[playerid][pAge] = age;
  170. new
  171. string[ 64 ]
  172. ;
  173. format(string, sizeof(string), ""COL_GREY"INFO"COL_WHITE": U redu,Vi imate "COL_CYAN"%d"COL_WHITE" Godina.",age);
  174. SendClientMessage(playerid, -1, string);
  175. GivePlayerCash(playerid, 250);
  176. SaveAccountStats(playerid);
  177. SpawnPlayer(playerid);
  178. }
  179. }
  180. else
  181. {
  182. return 0;
  183. }
  184. }
  185. }
  186. if(dialogid == DIALOG_SEX)
  187. {
  188. if(response)
  189. {
  190. PlayerInfo[playerid][pSex] = 1;
  191. SendClientMessage(playerid, -1, ""COL_GREY"INFO"COL_WHITE": U redu,Vi ste "COL_CYAN"Muskarac"COL_WHITE".");
  192. SetPlayerSkin(playerid, 299);
  193. PlayerInfo[playerid][pSkin] = 299;
  194. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, ""COL_GREY"REGISTER","Koliko imate godina?\n{FF0000}(( 16 - 100 ))","Ok","Izadi");
  195. }
  196. else
  197. {
  198. PlayerInfo[playerid][pSex] = 2;
  199. SendClientMessage(playerid, -1, ""COL_GREY"INFO"COL_WHITE": u redu,Vi ste "COL_CYAN"Zena"COL_WHITE".");
  200. SetPlayerSkin(playerid, 298);
  201. PlayerInfo[playerid][pSkin] = 298;
  202. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, ""COL_GREY"REGISTER","Koliko imate godina?\n{FF0000}(( 16 - 100 ))","Ok","Izadi");
  203. }
  204. }
  205. switch( dialogid )
  206. {
  207. case DIALOG_REGISTER:
  208. {
  209. if (!response) return Kick(playerid);
  210. if(response)
  211. {
  212. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_GREY"REGISTER",""COL_WHITE"Dobro dosli na "COL_CYAN"TIX"COL_WHITE" Server.\nUnesite zeljenu "COL_RED"LOZINKU"COL_WHITE" koja ce biti zadana za vas profil.\n"COL_RED"LOZINKA"COL_WHITE" mora biti sigurna i mora imate najmanje "COL_RED"6"COL_WHITE" znakova.\n\n\n"COL_WHITE"---"COL_CYAN">"COL_RED"VAZNO!\n"COL_CYAN"Admin"COL_WHITE" team "COL_RED"NE ODGOVARA "COL_WHITE"za vasu lozinku"COL_RED"!","Register","Izadi");
  213. new INI:File = INI_Open(UserPath(playerid));
  214. INI_SetTag(File,"data");
  215. INI_WriteInt(File,"Password",udb_hash(inputtext));
  216. INI_WriteInt(File,"Cash",0);
  217. INI_WriteInt(File,"Admin",0);
  218. INI_WriteInt(File,"Sex",0);
  219. INI_WriteInt(File,"Age",0);
  220. INI_WriteInt(File,"Skin",0);
  221. INI_WriteInt(File,"Team",0);
  222. INI_WriteInt(File,"Accent",0);
  223. INI_Close(File);
  224.  
  225. ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_MSGBOX, ""COL_GREY"REGISTER","Koji ste spol?","Muski","Zenski");
  226. }
  227. else
  228. {
  229. }
  230. }
  231. case DIALOG_LOGIN:
  232. {
  233. if ( !response ) return Kick ( playerid );
  234. if( response )
  235. {
  236. if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
  237. {
  238. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  239. new
  240. tmp2[ 256 ],
  241. playername2[ MAX_PLAYER_NAME ]
  242. ;
  243. GetPlayerName(playerid, playername2, sizeof(playername2));
  244. format(tmp2, sizeof(tmp2), "", playername2);
  245. GameTextForPlayer(playerid, tmp2, 5000, 1);
  246. SetTimerEx("UnsetFirstSpawn", 5000, false, "i", playerid);
  247. GivePlayerCash(playerid, PlayerInfo[playerid][pCash]);
  248. SpawnPlayer(playerid);
  249. }
  250. else
  251. {
  252. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_GREY"LOGIN",""COL_WHITE"Unijeli ste "COL_CYAN"Server\nVas profil je "COL_CYAN"Registrirat"COL_WHITE".\n"COL_WHITE"Unesite vasu lozinku da se Logirate.\n\n"COL_RED"UNIJELI STE KRIVU LOZINKU!!","Login","Izadi");
  253. SpawnPlayer(playerid);
  254. }
  255. return 1;
  256. }
  257. }
  258. }
  259. return 1;
  260. }
  261.  
  262. public OnPlayerSpawn(playerid)
  263. {
  264. if(IsPlayerConnected(playerid))
  265. {
  266. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  267. SetPlayerToTeamColor(playerid);
  268. Logged[playerid] = 1;
  269. }
  270. {
  271. SetPlayerPos(playerid, 1279.7909,-1360.7930,13.3298);
  272. SetPlayerFacingAngle(playerid, 1.0303);
  273. Logged[playerid] = 1;
  274. }
  275. {
  276. Logged[playerid] = 1;
  277. }
  278. return 1;
  279. }
  280.  
  281. public OnPlayerText(playerid, text[])
  282. {
  283. new
  284. realchat = 1,
  285. string[ 128 ]
  286. ;
  287. if(IsPlayerConnected(playerid))
  288. {
  289. if(realchat)
  290. {
  291. if(PlayerInfo[playerid][pAccent] == 0)
  292. {
  293. format(string, sizeof(string), "%s kaze: %s", RPName(playerid), text);
  294. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  295. }
  296. else
  297. {
  298. new
  299. accent[20]
  300. ;
  301. switch(PlayerInfo[playerid][pAccent])
  302. {
  303. case 1: accent = "Russian";
  304. case 2: accent = "Italian";
  305. case 3: accent = "Germany";
  306. case 4: accent = "Japanese";
  307. case 5: accent = "French";
  308. case 6: accent = "Spain";
  309. case 7: accent = "China";
  310. case 8: accent = "British";
  311. }
  312. format(string, sizeof(string), "%s kaze: [%s Accent] %s", RPName(playerid), accent, text);
  313. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  314. }
  315. return 0;
  316. }
  317. }
  318. return 1;
  319. }
  320.  
  321. public OnPlayerDisconnect(playerid, reason)
  322. {
  323. SaveAccountStats(playerid);
  324. return 1;
  325. }
  326.  
  327. function SetPlayerToTeamColor(playerid)
  328. {
  329. if(IsPlayerConnected(playerid))
  330. {
  331. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  332. }
  333. }
  334.  
  335. function OOCOff(color,const string[])
  336. {
  337. foreach (Player,i)
  338. {
  339. if(!gOoc{i})
  340. {
  341. SendClientMessage(i, color, string);
  342. }
  343. }
  344. }
  345.  
  346. function SaveAccountStats(playerid)
  347. {
  348. if(Logged[playerid] == 1)
  349. {
  350. new
  351. INI:File = INI_Open(UserPath(playerid))
  352. ;
  353. INI_SetTag(File,"data");
  354.  
  355. PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
  356. PlayerInfo[playerid][pCash] = GetPlayerCash(playerid);
  357.  
  358.  
  359. INI_WriteInt(File,"Cash",PlayerInfo[playerid][pCash]);
  360. INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
  361. INI_WriteInt(File,"Sex",PlayerInfo[playerid][pSex]);
  362. INI_WriteInt(File,"Age",PlayerInfo[playerid][pAge]);
  363. INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
  364. INI_WriteInt(File,"Team",PlayerInfo[playerid][pTeam]);
  365. INI_WriteInt(File,"Accent",PlayerInfo[playerid][pAccent]);
  366.  
  367. INI_Close(File);
  368. }
  369. return 1;
  370. }
  371.  
  372. function SaveAccounts()
  373. {
  374. for(new i = 0; i < MAX_PLAYERS; i++)
  375. {
  376. if(IsPlayerConnected(i))
  377. {
  378. SaveAccountStats(i);
  379. }
  380. }
  381. }
  382.  
  383. function GameModeExitFunc()
  384. {
  385. GameModeExit();
  386. return 1;
  387. }
  388.  
  389. function LoadUser_data(playerid,name[],value[])
  390. {
  391. INI_Int("Password",PlayerInfo[playerid][pPass]);
  392. INI_Int("Cash",PlayerInfo[playerid][pCash]);
  393. INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  394. INI_Int("Sex",PlayerInfo[playerid][pSex]);
  395. INI_Int("Age",PlayerInfo[playerid][pAge]);
  396. INI_Int("Skin",PlayerInfo[playerid][pSkin]);
  397. INI_Int("Team",PlayerInfo[playerid][pTeam]);
  398. INI_Int("Accent",PlayerInfo[playerid][pAccent]);
  399. return 1;
  400. }
  401.  
  402. function MoneyUpdate(playerid)
  403. {
  404. if(GetPlayerCash(playerid) < GetPlayerMoney(playerid))
  405. {
  406. foreach(Player, i)
  407. {
  408. new const old_money = GetPlayerCash(playerid);
  409. ResetPlayerCash(playerid), GivePlayerCash(playerid, old_money);
  410. }
  411. }
  412. return 1;
  413. }
  414.  
  415. function ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  416. {
  417. if(IsPlayerConnected(playerid))
  418. {
  419. new Float:posx, Float:posy, Float:posz;
  420. new BigEar[MAX_PLAYERS];
  421. new Float:oldposx, Float:oldposy, Float:oldposz;
  422. new Float:tempposx, Float:tempposy, Float:tempposz;
  423. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  424. for(new i = 0; i < MAX_PLAYERS; i++)
  425. {
  426. if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
  427. {
  428. if(!BigEar[i])
  429. {
  430. GetPlayerPos(i, posx, posy, posz);
  431. tempposx = (oldposx -posx);
  432. tempposy = (oldposy -posy);
  433. tempposz = (oldposz -posz);
  434. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  435. {
  436. SendClientMessage(i, col1, string);
  437. }
  438. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  439. {
  440. SendClientMessage(i, col2, string);
  441. }
  442. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  443. {
  444. SendClientMessage(i, col3, string);
  445. }
  446. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  447. {
  448. SendClientMessage(i, col4, string);
  449. }
  450. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  451. {
  452. SendClientMessage(i, col5, string);
  453. }
  454. }
  455. else
  456. {
  457. SendClientMessage(i, col1, string);
  458. }
  459. }
  460. }
  461. }
  462. return 1;
  463. }
  464. // ?1
  465. CMD:veh(playerid, params[])
  466. {
  467. new car,color,color2;
  468. {
  469. if(sscanf(params, "iii", car,color,color2)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /veh [model] [color1] [color2]");
  470. if(car < 400 || car > 611) return SendClientMessage(playerid,COLOR_GRAD2, "Invalid vehicle ID specified !(411 - 611)");
  471. if(color> 255 || color< 0) return SendClientMessage(playerid, COLOR_GRAD2, "Car color ID's: 0-255");
  472. if(color2> 255 || color2< 0) return SendClientMessage(playerid, COLOR_GRAD2, "Car color ID's: 0-255");
  473. if(IsPlayerInAnyVehicle(playerid)) return RemovePlayerFromVehicle(playerid);
  474. new Float:X, Float:Y, Float:Z, Float:A;
  475. GetPlayerPos(playerid, X,Y,Z);
  476. GetPlayerFacingAngle(playerid,A);
  477. new carid = CreateVehicle(car, X,Y,Z,A, color, color2, -1);
  478. PutPlayerInVehicle(playerid,carid, 0);
  479. LinkVehicleToInterior(carid,GetPlayerInterior(playerid));
  480. }
  481. return 1;
  482. }
  483.  
  484. // ============ STOCKS ============
  485. stock SendAdminMessage( color, string[] )
  486. {
  487. foreach (Player,i)
  488. {
  489. if( PlayerInfo[ i] [ pAdmin ] > 1 )
  490. {
  491. SendClientMessage( i, color, string );
  492. }
  493. }
  494. }
  495.  
  496. stock UserPath(playerid)
  497. {
  498. new string[128],playername[MAX_PLAYER_NAME];
  499. GetPlayerName(playerid,playername,sizeof(playername));
  500. format(string,sizeof(string),PATH,playername);
  501. return string;
  502. }
  503.  
  504. /* Credits to Dracoblue */
  505. stock udb_hash(buf[]) {
  506. new length=strlen(buf);
  507. new s1 = 1;
  508. new s2 = 0;
  509. new n;
  510. for (n=0; n<length; n++)
  511. {
  512. s1 = (s1 + buf[n]) % 65521;
  513. s2 = (s2 + s1) % 65521;
  514. }
  515. return (s2 << 16) + s1;
  516. }
  517.  
  518. stock RPName(playerid)
  519. {
  520. new string[24];
  521. GetPlayerName(playerid,string,24);
  522. new str[24];
  523. strmid(str,string,0,strlen(string),24);
  524. for(new i = 0; i < MAX_PLAYER_NAME; i++)
  525. {
  526. if (str[i] == '_') str[i] = ' ';
  527. }
  528. return str;
  529. }
  530. // =================================
  531.  
  532. /* LOGS */
  533.  
  534. function OOCLog(string[])
  535. {
  536. new
  537. entry[ 128 ],
  538. year,
  539. month,
  540. day,
  541. hour,
  542. minute,
  543. second
  544. ;
  545. getdate(year, month, day);
  546. gettime(hour, minute, second);
  547.  
  548. format(entry, sizeof(entry), "%s | (%d-%d-%d) (%d:%d:%d)\n",string, day, month, year, hour, minute, second);
  549. new File:hFile;
  550. hFile = fopen("SERVER/logs/OOCLog.log", io_append);
  551. fwrite(hFile, entry);
  552. fclose(hFile);
  553. }
  554.  
  555. /* COMMANDS */
  556.  
  557. CMD:stats(playerid, params[])
  558. {
  559. if(IsPlayerConnected(playerid))
  560. {
  561. new
  562. string[ 128 ],
  563. Age = PlayerInfo[ playerid ][ pAge ],
  564. Money = GetPlayerCash( playerid )
  565. ;
  566.  
  567. new Sex[20];
  568. if(PlayerInfo[ playerid ][ pSex ] == 1) { Sex = "Male"; }
  569. else if(PlayerInfo[ playerid ][ pSex ] == 2) { Sex = "Female"; }
  570.  
  571. SendClientMessage(playerid, COLOR_LIGHTBLUE, "------------------------------------------------------------------------");
  572. format(string, sizeof(string), "Name: %s | Money: %d | Age: %d | Sex: %s", RPName(playerid), Money, Age, Sex);
  573. SendClientMessage(playerid, COLOR_GRAD2, string);
  574. }
  575. return 1;
  576. }
  577.  
  578. CMD:ahelp(playerid, params[])
  579. {
  580. if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1,"You are not admin!");
  581. SendClientMessage(playerid, -1, "____________________________________________________________________");
  582. if(PlayerInfo[playerid][pAdmin] >= 1)
  583. {
  584. SendClientMessage(playerid, COLOR_FADE, "Level 1: No commands yet!");
  585. }
  586. if(PlayerInfo[playerid][pAdmin] >= 2)
  587. {
  588. SendClientMessage(playerid, COLOR_FADE, "Level 2: No commands yet!");
  589. }
  590. if(PlayerInfo[playerid][pAdmin] >= 3)
  591. {
  592. SendClientMessage(playerid, COLOR_FADE, "Level 3: No commands yet!");
  593. }
  594. if(PlayerInfo[playerid][pAdmin] >= 4)
  595. {
  596. SendClientMessage(playerid, COLOR_FADE, "Level 4: No commands yet!");
  597. }
  598. if(PlayerInfo[playerid][pAdmin] >= 5)
  599. {
  600. SendClientMessage(playerid, COLOR_FADE, "Level 5: No commands yet!");
  601. }
  602. if(PlayerInfo[playerid][pAdmin] >= 1337)
  603. {
  604. SendClientMessage(playerid, COLOR_FADE, "Level 6: No commands yet!");
  605. }
  606. if(PlayerInfo[playerid][pAdmin] >= 1338)
  607. {
  608. SendClientMessage(playerid, COLOR_FADE, "Level 1337: /givemoney -");
  609. }
  610. SendClientMessage(playerid, -1, "____________________________________________________________________");
  611. return 1;
  612. }
  613.  
  614. CMD:help(playerid, params[])
  615. {
  616. SendClientMessage(playerid, COLOR_LIGHTBLUE,"------------------------------------------------------------");
  617. SendClientMessage(playerid, COLOR_GRAD2,"/do - /me - /accent - /ooc - /b");
  618. SendClientMessage(playerid, COLOR_LIGHTBLUE,"------------------------------------------------------------");
  619. return 1;
  620. }
  621.  
  622. ALTCOMMAND:o->ooc;
  623. CMD:ooc(playerid, params[])
  624. {
  625. new
  626. string[ 186 ]
  627. ;
  628. if((noooc) && PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD2, "OOC Chat closed by administrator!");
  629. if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: {FFFFFF}(/o)oc [ooc chat]");
  630.  
  631. format(string, sizeof(string), "(( OOC: %s: %s ))", RPName(playerid), params);
  632. OOCOff(0xCCFFFF00, string);
  633. OOCLog(string);
  634. printf("%s", string);
  635. return 1;
  636. }
  637.  
  638. CMD:b(playerid, params[])
  639. {
  640. new
  641. string[ 128 ]
  642. ;
  643. if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: {FFFFFF} /b [ooc chat]");
  644. format(string, sizeof(string), "(( OOC: %s[%i]: %s ))", RPName( playerid ), playerid, params);
  645. printf("%s", string);
  646. ProxDetector(30.0, playerid, string, COLOR_FADE,COLOR_FADE,COLOR_FADE,COLOR_FADE,COLOR_FADE);
  647. return 1;
  648. }
  649.  
  650. CMD:do(playerid, params[])
  651. {
  652. new
  653. result[ 128 ],
  654. string[ 128 ]
  655. ;
  656. if(sscanf(params, "s[128]", result)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: {FFFFFF}/do [action]");
  657. format(string, sizeof(string), "* %s (( %s ))", result, RPName(playerid));
  658. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  659. printf("%s", string);
  660. return 1;
  661. }
  662.  
  663. CMD:me(playerid, params[])
  664. {
  665. new
  666. result[ 128 ],
  667. string[ 128 ]
  668. ;
  669. if(sscanf(params, "s[128]", result)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: {FFFFFF}/do [action]");
  670. format(string, sizeof(string), "* %s %s", RPName(playerid), result);
  671. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  672. printf("%s", string);
  673. return 1;
  674. }
  675.  
  676. CMD:accent(playerid, params[])
  677. {
  678. if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD1, "USAGE: {FFFFFF}/accent [russian | italian | germany | japanese | french | spain | china | british | none]");
  679. if(!strcmp(params,"russian",true))
  680. {
  681. PlayerInfo[playerid][pAccent] = 1;
  682. SendClientMessage(playerid, COLOR_GRAD1, "Your accent is now Russian!");
  683. }
  684. else if(!strcmp(params,"italian",true))
  685. {
  686. PlayerInfo[playerid][pAccent] = 2;
  687. SendClientMessage(playerid, COLOR_GRAD1, "Your accent is now Italian!");
  688. }
  689. else if(!strcmp(params,"germany",true))
  690. {
  691. PlayerInfo[playerid][pAccent] = 3;
  692. SendClientMessage(playerid, COLOR_GRAD1, "Your accent is now Germany!");
  693. }
  694. else if(!strcmp(params,"japanese",true))
  695. {
  696. PlayerInfo[playerid][pAccent] = 4;
  697. SendClientMessage(playerid, COLOR_GRAD1, "Your accent is now Japanese!");
  698. }
  699. else if(!strcmp(params,"french",true))
  700. {
  701. PlayerInfo[playerid][pAccent] = 5;
  702. SendClientMessage(playerid, COLOR_GRAD1, "Your accent is now French!");
  703. }
  704. else if(!strcmp(params,"spain",true))
  705. {
  706. PlayerInfo[playerid][pAccent] = 6;
  707. SendClientMessage(playerid, COLOR_GRAD1, "Your accent is now Spain!");
  708. }
  709. else if(!strcmp(params,"china",true))
  710. {
  711. PlayerInfo[playerid][pAccent] = 7;
  712. SendClientMessage(playerid, COLOR_GRAD1, "Your accent is now China!");
  713. }
  714. else if(!strcmp(params,"british", true))
  715. {
  716. PlayerInfo[playerid][pAccent] = 8;
  717. SendClientMessage(playerid, COLOR_GRAD1, "Your accent is now British!");
  718. }
  719. else if(!strcmp(params,"none",true))
  720. {
  721. PlayerInfo[playerid][pAccent] = 0;
  722. SendClientMessage(playerid, COLOR_GRAD1, "You removed the accent!");
  723. }
  724. else return SendClientMessage(playerid, COLOR_GREY, "Invalid name accent!");
  725. return 1;
  726. }
  727.  
  728. CMD:givemoney(playerid, params[])
  729. {
  730. new targetid,type,string[128];
  731. if(sscanf(params, "ui", targetid, type)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: {FFFFFF}/givemoney [playerid] [amount]");
  732. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_GREY, "* This player is not in server..");
  733. if(type < 0 || type > 99999999) return SendClientMessage(playerid, COLOR_GREY, "* Cannot go under 0 or above 99999999.");
  734. if(PlayerInfo[playerid][pAdmin] < 1337) return SendClientMessage(playerid, COLOR_GRAD1, "You are not ADMIN!");
  735.  
  736. GivePlayerCash(targetid, type);
  737. format(string, sizeof(string),"AdmCmd: %s give player %s %d SAK", RPName( playerid ), RPName( targetid ), type);
  738. SendAdminMessage(COLOR_YELLOW,string);
  739. return 1;
  740. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement