Guest User

base

a guest
Feb 7th, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.57 KB | None | 0 0
  1. /*
  2. ________________________________________
  3.  
  4. County Roleplay
  5. ________________________________________
  6.  
  7. */
  8.  
  9. // INCLUDES
  10. #include <a_samp>
  11. #include <streamer>
  12. #include <zcmd>
  13. #include <foreach>
  14. #include <sscanf2>
  15. #include <YSI\y_ini>
  16.  
  17. // COLORS
  18. #define COLOR_GRAD2 0xBFC0C2FF
  19. #define COLOR_GRAD1 0xB4B5B7FF
  20. #define COLOR_GRAD2 0xBFC0C2FF
  21. #define COLOR_GREY 0xAFAFAFAA
  22. #define COLOR_GRAD3 0xCBCCCEFF
  23. #define COLOR_GRAD4 0xD8D8D8FF
  24. #define COLOR_FADE 0xC8C8C8C8
  25. #define COLOR_FADE2 0xC8C8C8C8
  26. #define COLOR_FADE3 0xAAAAAAAA
  27. #define COLOR_FADE4 0x8C8C8C8C
  28. #define COLOR_FADE5 0x6E6E6E6E
  29. #define COLOR_GRAD5 0xE3E3E3FF
  30. #define COLOR_FADE1 0xE6E6E6E6
  31. #define COLOR_GRAD6 0xF0F0F0FF
  32. #define TEAM_HIT_COLOR 0xFFFFFF00
  33. #define COLOR_WHITE 0xFFFFFFAA
  34. #define COLOR_RED 0xFF0000AA
  35. #define COLOR_GREEN 0x00FF00AA
  36. #define COLOR_BLUE 0x0000FFAA
  37. #define COLOR_GRAY 0xAFAFAFAA
  38. #define COLOR_YELLOW 0xFFFF00AA
  39. #define COLOR_LIGHTBLUE 0x0AFFFFAA
  40. #define COLOR_PURPLE 0xFF00FFAA
  41. #define COLOR_ORANGE 0xFFBB00AA
  42.  
  43. // DEFINES
  44. #define PATH "Accounts/%s.ini"
  45. #define SECONDS(%1) ((%1)*(1000))
  46. #define ALTCOMMAND:%1->%2; \
  47. COMMAND:%1(playerid, params[]) \
  48. return cmd_%2(playerid, params);
  49. #define function%0(%1) forward%0(%1); public%0(%1)
  50.  
  51. // SERVER SIDE CASH
  52. #define GivePlayerCash(%0,%1) SetPVarInt(%0,"Money",GetPlayerCash(%0)+%1),GivePlayerMoney(%0,%1)
  53. #define ResetPlayerCash(%0) SetPVarInt(%0,"Money",0), ResetPlayerMoney(%0)
  54. #define GetPlayerCash(%0) GetPVarInt(%0,"Money")
  55.  
  56. // DIALOGS
  57. #define DIALOG_REGISTER 1
  58. #define DIALOG_LOGIN 2
  59. #define DIALOG_AGE 3
  60. #define DIALOG_SEX 4
  61.  
  62. // ENUMS
  63. enum pInfo
  64. {
  65. pPass,
  66. pCash,
  67. pSex,
  68. pAge,
  69. Float:pPos_x,
  70. Float:pPos_y,
  71. Float:pPos_z,
  72. pSkin,
  73. pTeam,
  74. }
  75. new PlayerInfo[MAX_PLAYERS][pInfo];
  76. /* <--------------------------------------------> */
  77.  
  78. main()
  79. {
  80. print(" ");
  81. print(" ");
  82. print("- County Roleplay -");
  83. print(" ");
  84. print(" ");
  85. }
  86.  
  87. new
  88. Logged[ MAX_PLAYERS ],
  89. gOoc[ MAX_PLAYERS ]
  90. ;
  91.  
  92. public OnPlayerConnect(playerid)
  93. {
  94. gOoc[ playerid ] = 0; Logged[ playerid ] = 0;
  95. // RESET STATS!
  96. PlayerInfo[ playerid ][ pCash ] = 0;
  97. PlayerInfo[ playerid ][ pSex ] = 0;
  98. PlayerInfo[ playerid ][ pAge ] = 0;
  99. PlayerInfo[ playerid ][ pPos_x ] = 0.0;
  100. PlayerInfo[ playerid ][ pPos_y ] = 0.0;
  101. PlayerInfo[ playerid ][ pPos_z ] = 0.0;
  102. PlayerInfo[ playerid ][ pSkin ] = 0;
  103. PlayerInfo[ playerid ][ pTeam ] = 0;
  104.  
  105. if(fexist(UserPath(playerid)))
  106. {
  107. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  108. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}[{00DDFF}AUTENTIFICARE{FFFFFF}] {00DDFF}C{FFFFFF}ounty {00DDFF}R{FFFFFF}oleplay","{00DDFF}I{FFFFFF}ntroduceti parola ca sa va autentificati:","Autentificare","Iesire");
  109. }
  110. else
  111. {
  112. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}[{00DDFF}INREGISTRARE{FFFFFF}] {00DDFF}C{FFFFFF}ounty {00DDFF}R{FFFFFF}oleplay","{00DDFF}I{FFFFFF}ntroduceti o parola ca sa va inregistrati:","Inregistrare","Iesire");
  113. }
  114. return 1;
  115. }
  116.  
  117. public OnGameModeInit()
  118. {
  119. /* <-------------------------------------------> */
  120. AddPlayerClass(21,-2382.0168,-582.0441,132.1172,125.2504,0,0,0,0,0,0);
  121. AddPlayerClass(59,-2382.0168,-582.0441,132.1172,125.2504,0,0,0,0,0,0);
  122. /* <-------------------------------------------> */
  123. ShowPlayerMarkers(0);
  124. ShowNameTags(1);
  125. DisableInteriorEnterExits();
  126. EnableStuntBonusForAll(0);
  127. SetNameTagDrawDistance(10.0);
  128. // =========== TIMERS ===========
  129. SetTimer("MoneyUpdate",1000,1);
  130. SetTimer("SaveAccounts", SECONDS(13), 1);
  131. return 1;
  132. }
  133.  
  134. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  135. {
  136. if(dialogid == DIALOG_AGE)
  137. {
  138. if(!response)
  139. {
  140. Kick(playerid);
  141. }
  142. else
  143. {
  144. if(strlen(inputtext))
  145. {
  146. new age = strval(inputtext);
  147. if(age > 70 || age < 20)
  148. {
  149. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "{FFFFFF}[{00DDFF}VARSTA{FFFFFF}] {00DDFF}C{FFFFFF}ounty {00DDFF}R{FFFFFF}oleplay","{00DDFF}C{FFFFFF}e varsta are caracterul dvs.?\n{00DDFF}V{FFFFFF}arsta caracterului dvs. trebuie sa fie intre {00DDFF}20 {FFFFFF}si {00DDFF}70 {FFFFFF}de ani.","Raspuns","Iesire");
  150. }
  151. else
  152. {
  153. PlayerInfo[playerid][pAge] = age;
  154. new
  155. string[ 64 ]
  156. ;
  157. format(string, sizeof(string), "Caracterul dvs. are {00DDFF}%d {FFFFFF}de ani.",age);
  158. SendClientMessage(playerid, -1, string);
  159. GivePlayerCash(playerid, 500);
  160. SaveAccountStats(playerid);
  161. SpawnPlayer(playerid);
  162. }
  163. }
  164. else
  165. {
  166. return 0;
  167. }
  168. }
  169. }
  170. if(dialogid == DIALOG_SEX)
  171. {
  172. if(response)
  173. {
  174. PlayerInfo[playerid][pSex] = 1;
  175. SendClientMessage(playerid, -1, "Caracterul dvs. este {00DDFF}barbat{FFFFFF}.");
  176. SetPlayerSkin(playerid, 60);
  177. PlayerInfo[playerid][pSkin] = 60;
  178. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "{FFFFFF}[{00DDFF}VARSTA{FFFFFF}] {00DDFF}C{FFFFFF}ounty {00DDFF}R{FFFFFF}oleplay","{00DDFF}C{FFFFFF}e varsta are caracterul dvs.?\n{00DDFF}V{FFFFFF}arsta caracterului dvs. trebuie sa fie intre {00DDFF}20 {FFFFFF}si {00DDFF}70 {FFFFFF}de ani.","Raspuns","Iesire");
  179. }
  180. else
  181. {
  182. PlayerInfo[playerid][pSex] = 2;
  183. SendClientMessage(playerid, -1, "Caracterul dvs. este {00DDFF}femeie{FFFFFF}.");
  184. SetPlayerSkin(playerid, 211);
  185. PlayerInfo[playerid][pSkin] = 211;
  186. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "{FFFFFF}[{00DDFF}VARSTA{FFFFFF}] {00DDFF}C{FFFFFF}ounty {00DDFF}R{FFFFFF}oleplay","{00DDFF}C{FFFFFF}e varsta are caracterul dvs.?\n{00DDFF}V{FFFFFF}arsta caracterului dvs. trebuie sa fie intre {00DDFF}20 {FFFFFF}si {00DDFF}70 {FFFFFF}de ani.","Raspuns","Iesire");
  187. }
  188. }
  189. switch( dialogid )
  190. {
  191. case DIALOG_REGISTER:
  192. {
  193. if (!response) return Kick(playerid);
  194. if(response)
  195. {
  196. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{FFFFFF}[{00DDFF}INREGISTRARE{FFFFFF}] {00DDFF}C{FFFFFF}ounty {00DDFF}R{FFFFFF}oleplay","{00DDFF}A{FFFFFF}ti introdus o parola {FF0000}invalida{FFFFFF}.\n{00DDFF}I{FFFFFF}ntroduceti o parola pentru a va inregistra:","Inregistrare","Iesire");
  197. new INI:File = INI_Open(UserPath(playerid));
  198. INI_SetTag(File,"data");
  199. INI_WriteInt(File,"Password",udb_hash(inputtext));
  200. INI_WriteInt(File,"Cash",0);
  201. INI_WriteInt(File,"Sex",0);
  202. INI_WriteInt(File,"Age",0);
  203. INI_WriteFloat(File,"Pos_x",0);
  204. INI_WriteFloat(File,"Pos_y",0);
  205. INI_WriteFloat(File,"Pos_z",0);
  206. INI_WriteInt(File,"Skin",0);
  207. INI_WriteInt(File,"Team",0);
  208. INI_Close(File);
  209.  
  210. ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_MSGBOX, "{FFFFFF}[{00DDFF}SEX{FFFFFF}] {00DDFF}C{FFFFFF}ounty {00DDFF}R{FFFFFF}oleplay","{00DDFF}C{FFFFFF}e sex are caracterul dvs.?","Barbat","Femeie");
  211. }
  212. }
  213. case DIALOG_LOGIN:
  214. {
  215. if ( !response ) return Kick ( playerid );
  216. if( response )
  217. {
  218. if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
  219. {
  220. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  221. new
  222. tmp2[ 256 ],
  223. playername2[ MAX_PLAYER_NAME ]
  224. ;
  225. GetPlayerName(playerid, playername2, sizeof(playername2));
  226. format(tmp2, sizeof(tmp2), "~w~Bine ai (re)venit! ~n~~b~~h~%s", playername2);
  227. GameTextForPlayer(playerid, tmp2, 2000, 1);
  228. SetTimerEx("UnsetFirstSpawn", 2000, false, "i", playerid);
  229. GivePlayerCash(playerid, PlayerInfo[playerid][pCash]);
  230. SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z], 1.0, -1, -1, -1, -1, -1, -1);
  231. SpawnPlayer(playerid);
  232. }
  233. else
  234. {
  235. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}[{00DDFF}AUTENTIFICARE{FFFFFF}] {00DDFF}C{FFFFFF}ounty {00DDFF}R{FFFFFF}oleplay","{00DDFF}A{FFFFFF}ti introdus o parola {FF0000}incorecta{FFFFFF}.\n{00DDFF}I{FFFFFF}ntroduceti parola pentru a va autentifica:","Autentificare","Iesire");
  236. }
  237. return 1;
  238. }
  239. }
  240. }
  241. return 1;
  242. }
  243.  
  244. public OnPlayerSpawn(playerid)
  245. {
  246. if(IsPlayerConnected(playerid))
  247. {
  248. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  249. SetPlayerToTeamColor(playerid);
  250. Logged[playerid] = 1;
  251. }
  252. if(PlayerInfo[playerid][pPos_x] == 0 && PlayerInfo[playerid][pPos_y] == 0)
  253. {
  254. SetPlayerPos(playerid, 1271.3654,181.0756,19.4705);
  255. Logged[playerid] = 1;
  256. }
  257. else
  258. {
  259. SetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  260. Logged[playerid] = 1;
  261. }
  262. return 1;
  263. }
  264.  
  265. public OnPlayerText(playerid, text[])
  266. {
  267. new
  268. realchat = 1,
  269. string[ 128 ]
  270. ;
  271. if(IsPlayerConnected(playerid))
  272. {
  273. if(realchat)
  274. {
  275. {
  276. format(string, sizeof(string), "%s spune: %s", RPName(playerid), text);
  277. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  278. }
  279.  
  280. }
  281. }
  282.  
  283. }
  284.  
  285. public OnPlayerDisconnect(playerid, reason)
  286. {
  287. SaveAccountStats(playerid);
  288. return 1;
  289. }
  290.  
  291. function SetPlayerToTeamColor(playerid)
  292. {
  293. if(IsPlayerConnected(playerid))
  294. {
  295. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  296. }
  297. }
  298.  
  299. function OOCOff(color,const string[])
  300. {
  301. foreach (Player,i)
  302. {
  303. if(!gOoc{i})
  304. {
  305. SendClientMessage(i, color, string);
  306. }
  307. }
  308. }
  309.  
  310. function SaveAccountStats(playerid)
  311. {
  312. if(Logged[playerid] == 1)
  313. {
  314. new
  315. INI:File = INI_Open(UserPath(playerid))
  316. ;
  317. INI_SetTag(File,"data");
  318.  
  319. PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
  320. PlayerInfo[playerid][pCash] = GetPlayerCash(playerid);
  321. new
  322. Float:x,
  323. Float:y,
  324. Float:z
  325. ;
  326. GetPlayerPos(playerid,x,y,z);
  327. PlayerInfo[playerid][pPos_x] = x;
  328. PlayerInfo[playerid][pPos_y] = y;
  329. PlayerInfo[playerid][pPos_z] = z;
  330.  
  331. INI_WriteInt(File,"Cash",PlayerInfo[playerid][pCash]);
  332. INI_WriteInt(File,"Sex",PlayerInfo[playerid][pSex]);
  333. INI_WriteInt(File,"Age",PlayerInfo[playerid][pAge]);
  334. INI_WriteFloat(File,"Pos_x",PlayerInfo[playerid][pPos_x]);
  335. INI_WriteFloat(File,"Pos_y",PlayerInfo[playerid][pPos_y]);
  336. INI_WriteFloat(File,"Pos_z",PlayerInfo[playerid][pPos_z]);
  337. INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
  338. INI_WriteInt(File,"Team",PlayerInfo[playerid][pTeam]);
  339.  
  340. INI_Close(File);
  341. }
  342. return 1;
  343. }
  344.  
  345. function SaveAccounts()
  346. {
  347. for(new i = 0; i < MAX_PLAYERS; i++)
  348. {
  349. if(IsPlayerConnected(i))
  350. {
  351. SaveAccountStats(i);
  352. }
  353. }
  354. }
  355.  
  356. function GameModeExitFunc()
  357. {
  358. GameModeExit();
  359. return 1;
  360. }
  361.  
  362. function LoadUser_data(playerid,name[],value[])
  363. {
  364. INI_Int("Password",PlayerInfo[playerid][pPass]);
  365. INI_Int("Cash",PlayerInfo[playerid][pCash]);
  366. INI_Int("Sex",PlayerInfo[playerid][pSex]);
  367. INI_Int("Age",PlayerInfo[playerid][pAge]);
  368. INI_Float("Pos_x",PlayerInfo[playerid][pPos_x]);
  369. INI_Float("Pos_y",PlayerInfo[playerid][pPos_y]);
  370. INI_Float("Pos_z",PlayerInfo[playerid][pPos_z]);
  371. INI_Int("Skin",PlayerInfo[playerid][pSkin]);
  372. INI_Int("Team",PlayerInfo[playerid][pTeam]);
  373. return 1;
  374. }
  375.  
  376. function MoneyUpdate(playerid)
  377. {
  378. if(GetPlayerCash(playerid) < GetPlayerMoney(playerid))
  379. {
  380. foreach(Player, i)
  381. {
  382. new const old_money = GetPlayerCash(playerid);
  383. ResetPlayerCash(playerid), GivePlayerCash(playerid, old_money);
  384. }
  385. }
  386. return 1;
  387. }
  388.  
  389. function ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  390. {
  391. if(IsPlayerConnected(playerid))
  392. {
  393. new Float:posx, Float:posy, Float:posz;
  394. new BigEar[MAX_PLAYERS];
  395. new Float:oldposx, Float:oldposy, Float:oldposz;
  396. new Float:tempposx, Float:tempposy, Float:tempposz;
  397. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  398. for(new i = 0; i < MAX_PLAYERS; i++)
  399. {
  400. if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
  401. {
  402. if(!BigEar[i])
  403. {
  404. GetPlayerPos(i, posx, posy, posz);
  405. tempposx = (oldposx -posx);
  406. tempposy = (oldposy -posy);
  407. tempposz = (oldposz -posz);
  408. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  409. {
  410. SendClientMessage(i, col1, string);
  411. }
  412. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  413. {
  414. SendClientMessage(i, col2, string);
  415. }
  416. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  417. {
  418. SendClientMessage(i, col3, string);
  419. }
  420. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  421. {
  422. SendClientMessage(i, col4, string);
  423. }
  424. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  425. {
  426. SendClientMessage(i, col5, string);
  427. }
  428. }
  429. else
  430. {
  431. SendClientMessage(i, col1, string);
  432. }
  433. }
  434. }
  435. }
  436. return 1;
  437. }
  438.  
  439. // STOCKS
  440. stock UserPath(playerid)
  441. {
  442. new string[128],playername[MAX_PLAYER_NAME];
  443. GetPlayerName(playerid,playername,sizeof(playername));
  444. format(string,sizeof(string),PATH,playername);
  445. return string;
  446. }
  447.  
  448. stock udb_hash(buf[]) {
  449. new length=strlen(buf);
  450. new s1 = 1;
  451. new s2 = 0;
  452. new n;
  453. for (n=0; n<length; n++)
  454. {
  455. s1 = (s1 + buf[n]) % 65521;
  456. s2 = (s2 + s1) % 65521;
  457. }
  458. return (s2 << 16) + s1;
  459. }
  460.  
  461. stock RPName(playerid)
  462. {
  463. new string[24];
  464. GetPlayerName(playerid,string,24);
  465. new str[24];
  466. strmid(str,string,0,strlen(string),24);
  467. for(new i = 0; i < MAX_PLAYER_NAME; i++)
  468. {
  469. if (str[i] == '_') str[i] = ' ';
  470. }
  471. return str;
  472. }
  473. // =================================
  474.  
  475. // LOGS
  476.  
  477. function OOCLog(string[])
  478. {
  479. new
  480. entry[ 128 ],
  481. year,
  482. month,
  483. day,
  484. hour,
  485. minute,
  486. second
  487. ;
  488. getdate(year, month, day);
  489. gettime(hour, minute, second);
  490.  
  491. format(entry, sizeof(entry), "%s | (%d-%d-%d) (%d:%d:%d)\n",string, day, month, year, hour, minute, second);
  492. new File:hFile;
  493. hFile = fopen("Basic/logs/OOCLog.log", io_append);
  494. fwrite(hFile, entry);
  495. fclose(hFile);
  496. }
  497.  
  498. // COMMANDS
  499.  
  500. CMD:stats(playerid, params[])
  501. {
  502. if(IsPlayerConnected(playerid))
  503. {
  504. new
  505. string[ 128 ],
  506. Age = PlayerInfo[ playerid ][ pAge ],
  507. Money = GetPlayerCash( playerid )
  508. ;
  509.  
  510. new Sex[20];
  511. if(PlayerInfo[ playerid ][ pSex ] == 1) { Sex = "Male"; }
  512. else if(PlayerInfo[ playerid ][ pSex ] == 2) { Sex = "Female"; }
  513.  
  514. SendClientMessage(playerid, COLOR_LIGHTBLUE, "------------------------------------------------------------------------");
  515. format(string, sizeof(string), "Name: %s | Money: %d | Age: %d | Sex: %s", RPName(playerid), Money, Age, Sex);
  516. SendClientMessage(playerid, COLOR_GRAD2, string);
  517. }
  518. return 1;
  519. }
  520.  
  521. CMD:help(playerid, params[])
  522. {
  523. SendClientMessage(playerid, COLOR_LIGHTBLUE,"------------------------------------------------------------");
  524. SendClientMessage(playerid, COLOR_GRAD2,"/do - /me - /ooc - /b");
  525. SendClientMessage(playerid, COLOR_LIGHTBLUE,"------------------------------------------------------------");
  526. return 1;
  527. }
  528.  
  529. ALTCOMMAND:o->ooc;
  530. CMD:ooc(playerid, params[])
  531. {
  532. new
  533. string[ 186 ]
  534. ;
  535. if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: {FFFFFF}(/o)oc [ooc chat]");
  536.  
  537. format(string, sizeof(string), "(( OOC: %s: %s ))", RPName(playerid), params);
  538. OOCOff(0xCCFFFF00, string);
  539. OOCLog(string);
  540. printf("%s", string);
  541. return 1;
  542. }
  543.  
  544. CMD:b(playerid, params[])
  545. {
  546. new
  547. string[ 128 ]
  548. ;
  549. if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: {FFFFFF} /b [ooc chat]");
  550. format(string, sizeof(string), "(( OOC: %s[%i]: %s ))", RPName( playerid ), playerid, params);
  551. printf("%s", string);
  552. ProxDetector(30.0, playerid, string, COLOR_FADE,COLOR_FADE,COLOR_FADE,COLOR_FADE,COLOR_FADE);
  553. return 1;
  554. }
  555.  
  556. CMD:do(playerid, params[])
  557. {
  558. new
  559. result[ 128 ],
  560. string[ 128 ]
  561. ;
  562. if(sscanf(params, "s[128]", result)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: {FFFFFF}/do [action]");
  563. format(string, sizeof(string), "* %s (( %s ))", result, RPName(playerid));
  564. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  565. printf("%s", string);
  566. return 1;
  567. }
  568.  
  569. CMD:me(playerid, params[])
  570. {
  571. new
  572. result[ 128 ],
  573. string[ 128 ]
  574. ;
  575. if(sscanf(params, "s[128]", result)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: {FFFFFF}/do [action]");
  576. format(string, sizeof(string), "* %s %s", RPName(playerid), result);
  577. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  578. printf("%s", string);
  579. return 1;
  580. }
Advertisement
Add Comment
Please, Sign In to add comment