Advertisement
Guest User

SQLVip v2.1

a guest
Aug 3rd, 2011
2,915
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 55.15 KB | None | 0 0
  1. #if defined VIP
  2. xxSPEEDYxx's V.I.P System - NEW*
  3. 3 Levels
  4. v2.0
  5. COMMANDS - [v1.0]:
  6.  
  7. V.I.P Level 1 Commands: V.I.P Level 2 Commands: V.I.P Level 3 Commands:
  8. /mytime /vsaveskin /vkick
  9. /myweather /dontuseskin /vget
  10. /myvw /vweapons /rw
  11. /mycolor /vipgoto /maxammo
  12. /vspec /vasay + V.I.P level 1&2 CMDS
  13. /vspecoff + V.I.P level 1 CMDS
  14. /spawnme
  15. /vcmds
  16.  
  17. COMMANDS - [v2.0]:
  18.  
  19. V.I.P Level 1 Commands: V.I.P Level 2 Commands: V.I.P Level 3 Commands:
  20. /ltc[1 - 13] /vipgod /vannounce
  21. /viphouse
  22. /godcar
  23. /vcar
  24. /vspa( V.I.P Special Actions! )
  25. /stophold!
  26.  
  27. V.I.P over 35 command! OMG!
  28.  
  29. #endif
  30. //============ [ Includes ] ============//
  31. #include < a_samp > // Main include!
  32. #include < zcmd > // Gasiti aici: http://forum.sa-mp.com/showthread.php?t=91354&highlight=zcmd
  33. #include < sscanf2 > // Gasiti aici: http://forum.sa-mp.com/showthread.php?t=120356
  34. //======================================//
  35.  
  36. #pragma tabsize 0
  37. #define VIPS_SEND_COMMAND //Pune doua din astea // in fata pentru a nu se trmite mesajul V.I.P-urilor cand un V.I.P tasteaza o comanda de V.I.P!
  38.  
  39. //============ [ Culori ] ============//
  40. #define RED 0xE60000AA
  41. #define YELLOW 0xFFFF00AA
  42. #define GREEN 0x00FF00AA
  43. #define ABLUE 0x2641FEAA
  44. #define COLOR_VIP 0xFF5500AA //aka Orange:P
  45. //====================================//
  46. //========== [ Dialog-uri ] ==========//
  47. /*
  48. Am pus ID-urile dialog-urilor mai mari pentru ca sa va nu inucrce
  49. sa spuneti ca nu va apare dialogu etc...
  50.  
  51. Dar asta nu inseamna ca nu puteti sa le schimbati...puteti sa le schimbati
  52. in ce numar vreti voi:P
  53. */
  54. #define MYLVL 12000
  55. #define VIPS 12001
  56. #define VIPCMDS 12002
  57. #define ONCONN 12003
  58. #define VSPA 12004
  59. //====================================//
  60. //============= [ SPEC ] =============//
  61. #define ADMIN_SPEC_TYPE_NONE 0
  62. #define ADMIN_SPEC_TYPE_PLAYER 1
  63. #define ADMIN_SPEC_TYPE_VEHICLE 2
  64. /*
  65. Lasa-ti asta asa ca sa functioneze spec-ul bine
  66. */
  67. //=========== [ Shortcuts ] ==========//
  68. #define Public:%0(%1) \
  69. forward%0(%1); public%0(%1)
  70. //====================================//
  71. //========== [ News&Enums ] ==========//
  72. enum pInfo
  73. {
  74. Vip,
  75. SpecID,
  76. SpecType,
  77. God,
  78. CarGod
  79. };
  80.  
  81. new P_DATA[ MAX_PLAYERS ][ pInfo ];
  82. new DB:Database;
  83. new Float:Position[ MAX_PLAYERS ][ 4 ];
  84. //====================================//
  85. //======================================================== [ CallBacks ] ========================================================//
  86. public OnFilterScriptInit( )
  87. {
  88. Database = db_open( "Vips.db" ); //Numele databasei. Puteti sa il schimbati!
  89. db_free_result( db_query( Database, "CREATE TABLE IF NOT EXISTS `Vips` \
  90. ( `Nume` varchar(40),\
  91. `VipLevel` INT,\
  92. `VSkin` INT )" ) );
  93. return 1;
  94. }
  95.  
  96. public OnFilterScriptExit( )
  97. {
  98. db_close( Database );
  99. return 1;
  100. }
  101.  
  102. public OnPlayerConnect( playerid )
  103. {
  104. new Query[ 256 ], string[ 128 ], DBResult:Result;
  105. format( Query, sizeof( Query ), "SELECT * FROM `Vips` WHERE `Nume` = '%s'", PlayerName2( playerid ) );
  106. Result = db_query( Database, Query );
  107.  
  108. if ( db_num_rows( Result ) )
  109. {
  110. new Field[ 30 ];
  111. db_get_field_assoc( Result, "VipLevel", Field, 30 );
  112. P_DATA[ playerid ][ Vip ] = strval( Field );
  113. format( string, sizeof( string ), "\t{FF5500}Your V.I.P Level:\n\n{FF5500}You have V.I.P level {00FF00}%d\n\n{E60000}Congratulations!", P_DATA[ playerid ][ Vip ] );
  114. ShowPlayerDialog( playerid, ONCONN, DIALOG_STYLE_MSGBOX, "{00FF00}V.I.P", string, "Quit", "" );
  115. }
  116. else
  117. {
  118. ShowPlayerDialog( playerid, ONCONN+1, DIALOG_STYLE_MSGBOX, "{00FF00}V.I.P", "{E60000}This username have V.I.P level 0", "Quit", "" );
  119. }
  120. db_free_result( Result );
  121. return 1;
  122. }
  123.  
  124.  
  125. public OnPlayerDisconnect( playerid, reason )
  126. {
  127. for ( new i = 0; i < MAX_PLAYERS; i++ )
  128. {
  129. if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid )
  130. {
  131. AdvanceSpectate( i );
  132. }
  133. }
  134. return 1;
  135. }
  136.  
  137. public OnPlayerDeath( playerid, killerid, reason )
  138. {
  139. for ( new i = 0; i < MAX_PLAYERS; i++ )
  140. {
  141. if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid )
  142. {
  143. AdvanceSpectate( i );
  144. }
  145. }
  146. return 1;
  147. }
  148.  
  149. public OnPlayerInteriorChange( playerid, newinteriorid, oldinteriorid )
  150. {
  151. new i = 0;
  152. while( i != MAX_PLAYERS )
  153. {
  154. if ( IsPlayerConnected( i ) && GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid && P_DATA[ i ][ SpecType ] == ADMIN_SPEC_TYPE_PLAYER )
  155. {
  156. SetPlayerInterior( i, newinteriorid );
  157. }
  158. i++;
  159. }
  160. }
  161.  
  162. public OnPlayerKeyStateChange( playerid, newkeys, oldkeys )
  163. {
  164. if ( GetPlayerState( playerid ) == PLAYER_STATE_SPECTATING && P_DATA[ playerid ][ SpecID ] != INVALID_PLAYER_ID )
  165. {
  166. if ( newkeys == KEY_JUMP ) AdvanceSpectate( playerid );
  167. else if ( newkeys == KEY_SPRINT ) ReverseSpectate( playerid );
  168. }
  169. return 1;
  170. }
  171.  
  172. public OnPlayerEnterVehicle( playerid, vehicleid )
  173. {
  174. for ( new i = 0; i < MAX_PLAYERS; i++ )
  175. {
  176. if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid )
  177. {
  178. TogglePlayerSpectating( i, 1 );
  179. PlayerSpectateVehicle( i, vehicleid );
  180. P_DATA[ i ][ SpecType ] = ADMIN_SPEC_TYPE_VEHICLE;
  181. }
  182. }
  183. return 1;
  184. }
  185.  
  186. public OnPlayerStateChange( playerid, newstate, oldstate )
  187. {
  188. switch( newstate )
  189. {
  190. case PLAYER_STATE_ONFOOT:
  191. {
  192. switch( oldstate )
  193. {
  194. case PLAYER_STATE_DRIVER: OnPlayerExitVehicle( playerid, 255 );
  195. case PLAYER_STATE_PASSENGER: OnPlayerExitVehicle( playerid, 255 );
  196. }
  197. }
  198. }
  199. return 1;
  200. }
  201.  
  202. public OnPlayerText( playerid, text[ ] )
  203. {
  204. new textstr[ 128 ];
  205.  
  206. if ( text[ 0 ] == '!' && P_DATA[ playerid ][ Vip ] >= 1 )
  207. {
  208. GetPlayerName( playerid, textstr, sizeof( textstr ) );
  209. format( textstr, sizeof( textstr ),"V.I.P Chat: {00FF00}%s{FF5500}: %s", textstr, text[ 1 ] );
  210. SendVipMessage( COLOR_VIP, textstr );
  211. return 0;
  212. }
  213. return 1;
  214. }
  215.  
  216. public OnPlayerExitVehicle( playerid, vehicleid )
  217. {
  218. for ( new i = 0; i < MAX_PLAYERS; i++ )
  219. {
  220. if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid && P_DATA[ i ][ SpecType ] == ADMIN_SPEC_TYPE_VEHICLE)
  221. {
  222. TogglePlayerSpectating( i, 1 );
  223. PlayerSpectatePlayer( i, playerid );
  224. P_DATA[ i ][ SpecType ] = ADMIN_SPEC_TYPE_PLAYER;
  225. }
  226. }
  227. return 1;
  228. }
  229.  
  230. public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
  231. {
  232. if ( dialogid == VSPA )
  233. {
  234. if ( response )
  235. {
  236. if ( listitem == 0 )
  237. {
  238. for ( new i = 0; i < 5; i++ )
  239. {
  240. if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
  241. {
  242. RemovePlayerAttachedObject( playerid, i );
  243. }
  244. }
  245. SetPlayerAttachedObject( playerid, 1, 19086, 8, -0.049768, -0.014062, -0.108385, 87.458297, 263.478149, 184.123764, 0.622413, 1.041609, 1.012785 );
  246. SendClientMessage( playerid, COLOR_VIP, "You have holded a {00FF00}dick!" );
  247. SendClientMessage( playerid, COLOR_VIP, "To stop holding please type {00FF00}/stophold!" );
  248. }
  249. if ( listitem == 1 )
  250. {
  251. for ( new i = 0; i < 5; i++ )
  252. {
  253. if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
  254. {
  255. RemovePlayerAttachedObject( playerid, i );
  256. }
  257. }
  258. SetPlayerAttachedObject( playerid, 0, 1114, 1, 0.138007, 0.002714, -0.157366, 350.942352, 16.794704, 32.683506, 0.791829, 0.471535, 1.032759 );
  259. SetPlayerAttachedObject( playerid, 1, 1114, 1, 0.138007, 0.002714, 0.064523, 342.729064, 354.099456, 32.369094, 0.791829, 0.471535, 1.032759 );
  260. SendClientMessage( playerid, COLOR_VIP, "You have holded a {00FF00}iron!" );
  261. SendClientMessage( playerid, COLOR_VIP, "To stop holding please type {00FF00}/stophold!" );
  262. }
  263. if ( listitem == 2 )
  264. {
  265. for ( new i = 0; i < 5; i++ )
  266. {
  267. if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
  268. {
  269. RemovePlayerAttachedObject( playerid, i );
  270. }
  271. }
  272. SetPlayerAttachedObject( playerid, 0, 18645, 2, 0.017478, 0.051500, 0.003912, 285.055511, 90.860740, 171.179550, 1.780549, 0.912008, 1.208514 );
  273. SetPlayerAttachedObject( playerid, 1, 18690, 2, -2.979508, 0.306475, -0.388553, 285.055511, 90.860740, 171.179550, 1.780549, 0.912008, 1.208514 );
  274. SetPlayerAttachedObject( playerid, 2, 18716, 2, -2.979508, 0.306475, -0.388553, 285.055511, 90.860740, 171.179550, 1.780549, 0.912008, 1.208514 );
  275. SendClientMessage( playerid, COLOR_VIP, "You have holded as {00FF00}Alien!" );
  276. SendClientMessage( playerid, COLOR_VIP, "To stop holding please type {00FF00}/stophold!" );
  277. }
  278. if ( listitem == 3 )
  279. {
  280. for ( new i = 0; i < 5; i++ )
  281. {
  282. if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
  283. {
  284. RemovePlayerAttachedObject( playerid, i );
  285. }
  286. }
  287. SetPlayerAttachedObject( playerid, 0, 18693, 5, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
  288. SetPlayerAttachedObject( playerid, 1, 18693, 6, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
  289. SetPlayerAttachedObject( playerid, 2, 18703, 6, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
  290. SetPlayerAttachedObject( playerid, 3, 18703, 5, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
  291. SetPlayerAttachedObject( playerid, 4, 18965, 2, 0.111052, 0.021643, -0.000846, 92.280899, 92.752510, 358.071044, 1.200000, 1.283168, 1.200000 );
  292. SendClientMessage( playerid, COLOR_VIP, "You have holded as {00FF00}Icread!" );
  293. SendClientMessage( playerid, COLOR_VIP, "To stop holding please type {00FF00}/stophold!" );
  294. }
  295. if ( listitem == 4 )
  296. {
  297. SetPlayerSpecialAction( playerid, 2 ); //Jetpack!
  298. SendClientMessage( playerid, COLOR_VIP,"Jetpack Spawmed!" );
  299. }
  300. }
  301. }
  302. return 1;
  303. }
  304. //================================================================================================================================//
  305. //======================================================== [ Comenzi v1.0 ] ======================================================//
  306. CMD:setvip( playerid, params[ ] )
  307. {
  308. new giveplayerid, level;
  309. new string[ 128 ], Query[ 256 ], DBResult:Resultat;
  310.  
  311. if ( !IsPlayerAdmin( playerid ) ) return SendClientMessage( playerid, RED, "Only RCON Administrator can use this command!" );
  312. if ( sscanf( params, "ud", giveplayerid, level ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/setvip [playerid] [level]" );
  313. if ( giveplayerid == INVALID_PLAYER_ID ) return SendClientMessage( playerid, RED, "Player Is Not Connected!" );
  314. if ( level > 3 ) return SendClientMessage( playerid, RED, "Maximum V.I.P level is 3!" );
  315.  
  316. if ( level == 0 )
  317. {
  318. P_DATA[ giveplayerid ][ Vip ] = level;
  319. format( Query, sizeof( Query ), "DELETE FROM `Vips` WHERE `Nume` = '%s'" , PlayerName2( giveplayerid ) );
  320. db_free_result( db_query( Database, Query ) );
  321. format( string, sizeof( string ), "Administrator %s has deleted you V.I.P account!", PlayerName2( playerid ) );
  322. return SendClientMessage( giveplayerid, ABLUE, string );
  323. }
  324.  
  325. format( Query, sizeof( Query ), "SELECT * FROM `Vips` WHERE `Nume` = '%s'", PlayerName2( playerid ) );
  326. Resultat = db_query( Database, Query );
  327.  
  328. if ( !db_num_rows( Resultat ) )
  329. {
  330. P_DATA[ giveplayerid ][ Vip ] = level;
  331. format( string, sizeof( string ), "Administrator %s has set your V.I.P level to %d!", PlayerName2( playerid ), level );
  332. SendClientMessage( giveplayerid, ABLUE, string );
  333. format( Query, sizeof( Query ), "INSERT INTO `Vips` VALUES('%s','%d','%d')", PlayerName2( giveplayerid ), level, -1 );
  334. db_free_result( db_query( Database, Query ) );
  335. } else {
  336. P_DATA[ giveplayerid ][ Vip ] = level;
  337. format( string, sizeof( string ), "Administrator %s has set update your V.I.P level to %d!", PlayerName2( playerid ), level );
  338. SendClientMessage( giveplayerid, ABLUE, string );
  339. format( Query, sizeof( Query ), "UPDATE `Vips` SET `VipLevel` = '%d' WHERE `Nume` = '%s'", level, PlayerName2( giveplayerid ) );
  340. db_free_result( db_query( Database, Query ) );
  341. }
  342. return 1;
  343. }
  344.  
  345. CMD:vipgoto( playerid , params[ ] )
  346. {
  347. new PID, string[ 128 ];
  348. new Float:x, Float:y, Float:z;
  349.  
  350. if ( P_DATA[ playerid ][ Vip ] >= 2 )
  351. {
  352. if ( sscanf( params, "u", PID ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vipgoto [playerid]" );
  353.  
  354. GetPlayerPos( PID , x , y , z );
  355. SetPlayerInterior( playerid , GetPlayerInterior( PID ) );
  356. SetPlayerVirtualWorld( playerid , GetPlayerVirtualWorld( PID ) );
  357. if ( IsPlayerConnected( PID ) && PID != INVALID_PLAYER_ID && PID != playerid )
  358. {
  359. if ( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
  360. {
  361. SetVehiclePos( GetPlayerVehicleID( playerid ) , x+3 , y , z );
  362. LinkVehicleToInterior( GetPlayerVehicleID( playerid ), GetPlayerInterior( PID ) );
  363. SetVehicleVirtualWorld( GetPlayerVehicleID( playerid ), GetPlayerVirtualWorld( PID ) );
  364. format( string , sizeof( string ), "You have teleported to %s's location!" , PlayerName2( PID ) );
  365. SendClientMessage( playerid ,COLOR_VIP ,string );
  366. format( string, sizeof( string ), "V.I.P {00FF00}%s(%d) {FF5500}has teleported to your location!", PlayerName2( playerid ), P_DATA[ playerid ][ Vip ] );
  367. SendClientMessage( PID, COLOR_VIP, string );
  368. #if defined VIPS_SEND_COMMAND
  369. SendVipsCommand( playerid, "/vipgoto" );
  370. #endif
  371. } else {
  372. #if defined VIPS_SEND_COMMAND
  373. SendVipsCommand( playerid, "/vipgoto" );
  374. #endif
  375. SetPlayerPos( playerid , x+2 , y , z );
  376. format( string, sizeof( string ), "V.I.P {00FF00}%s(%d) {FF5500}has teleported to your location!", PlayerName2( playerid ), P_DATA[ playerid ][ Vip ] );
  377. SendClientMessage( PID, COLOR_VIP, string );
  378. format( string , sizeof( string ), "You have teleported to %s's location!" , PlayerName2( PID ) );
  379. SendClientMessage( playerid ,COLOR_VIP ,string ); }
  380. } else {
  381. SendClientMessage( playerid, RED, "Player not connected or is yourself!" ); }
  382. } else {
  383. return SendLevel( playerid, 2 ); }
  384. return 1;
  385. }
  386.  
  387. CMD:spawnme( playerid, params[ ] )
  388. {
  389. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  390. {
  391. SpawnPlayer( playerid );
  392. SendClientMessage( playerid, COLOR_VIP, "You have been respawmed!" );
  393. #if defined VIPS_SEND_COMMAND
  394. SendVipsCommand( playerid, "/spawnme" );
  395. #endif
  396. } else {
  397. return SendLevel( playerid, 1 ); }
  398. return 1;
  399. }
  400.  
  401. CMD:vips( playerid, params[ ] )
  402. {
  403. new V, vstr[ 2048 ]; // Am pus un string mare ca poate aveti mai multi V.I.P-ii si asa daca ii mic o sa ma intrebati dc nu apar:P
  404.  
  405. for ( new i = 0; i < MAX_PLAYERS; i++ )
  406. {
  407. if ( IsPlayerConnected( i ) && P_DATA[ i ][ Vip ] > 0 )
  408. {
  409. format( vstr, 2048, "{FF5500}%s\n{FF5500}V.I.P {00FF00}%s {FF5500}- Level {00FF00}%d", vstr, ReturnPlayerName( i ), P_DATA[ i ][ Vip ] );
  410. V++;
  411. }
  412. }
  413. if ( V == 0 )
  414. {
  415. format ( vstr, sizeof( vstr ), "\n{E60000}No V.I.Ps online at the moment!" );
  416. }
  417. return ShowPlayerDialog( playerid, VIPS, DIALOG_STYLE_MSGBOX, "{00FF00}Online V.I.Ps:", vstr, "Quit", "" );
  418. }
  419.  
  420. CMD:myweather( playerid, params[ ] )
  421. {
  422. new weather, string[ 128 ];
  423.  
  424. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  425. {
  426. if ( sscanf( params, "d", weather ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/myweather [weatherid]" );
  427. if ( ( weather < 0 ) || ( weather > 52 ) ) return SendClientMessage( playerid, RED, "Only between 0 and 52 weather ids!" );
  428.  
  429. SetPlayerWeather( playerid, weather );
  430. format( string, sizeof( string ), "You have set your weather to {E60000}%d", weather );
  431. SendClientMessage( playerid, COLOR_VIP, string );
  432. #if defined VIPS_SEND_COMMAND
  433. SendVipsCommand( playerid, "/myweather" );
  434. #endif
  435. } else {
  436. return SendLevel( playerid, 1 ); }
  437. return 1;
  438. }
  439.  
  440. CMD:mytime( playerid, params[ ] )
  441. {
  442. new time, string[ 128 ];
  443.  
  444. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  445. {
  446. if ( sscanf( params, "d", time ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/mytime [time]" );
  447. if ( ( time < 0 ) || ( time > 24 ) ) return SendClientMessage( playerid, RED, "Only between 0 and 24 hours you can set your time!" );
  448.  
  449. SetPlayerTime( playerid, time, 0 );
  450. format( string, sizeof( string ), "You have set your time to {E60000}%d", time );
  451. SendClientMessage( playerid, COLOR_VIP, string );
  452. #if defined VIPS_SEND_COMMAND
  453. SendVipsCommand( playerid, "/mytime" );
  454. #endif
  455. } else {
  456. return SendLevel( playerid, 1 ); }
  457. return 1;
  458. }
  459.  
  460. CMD:myvw( playerid, params[ ] )
  461. /*
  462. Cu functia aceasta iti poti seta Virtual World-ul!...
  463. Sunt disponibile pana la 100 de Virtual World-uri...Disponibilitatea lor se poate seta de la linia asta:
  464. if ( ( vw < 0 ) || ( vw > 100 ) ) - De la 0 pana la 100...Puteti seta mai mare sau mai mic cum doriti voi!
  465. */
  466. {
  467. new vw, string[ 128 ];
  468.  
  469. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  470. {
  471. if ( sscanf( params, "d", vw ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/myvw [virtualworld]" );
  472. if ( ( vw < 0 ) || ( vw > 100 ) ) return SendClientMessage( playerid, RED, "Only between 0 and 100 Virtual Worlds ar disponible!" );
  473.  
  474. if ( vw == 0 )
  475. {
  476. SetPlayerVirtualWorld( playerid, 0 );
  477. return SendClientMessage( playerid, YELLOW, "You have returned back in normal world( 0 )!" );
  478. }
  479. SetPlayerVirtualWorld( playerid, vw );
  480. format( string, sizeof( string ), "You have set your Virtual World to {E60000}%d", vw );
  481. SendClientMessage( playerid, COLOR_VIP, string );
  482. #if defined VIPS_SEND_COMMAND
  483. SendVipsCommand( playerid, "/myvw" );
  484. #endif
  485. } else {
  486. return SendLevel( playerid, 1 ); }
  487. return 1;
  488. }
  489.  
  490. CMD:vasay( playerid, params[ ] )
  491. {
  492. new VipMessage[ 180 ]; // Maxim 180 de caractere poate contine mesajul /vasay!
  493.  
  494. if ( P_DATA[ playerid ][ Vip ] >= 2 )
  495. {
  496. if ( sscanf( params, "s[ 120 ]", VipMessage ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vasay [text]" );
  497.  
  498. format( VipMessage, sizeof( VipMessage ), "V.I.P - %s {FFFF00}(lvl: %d): {00FF00}%s", PlayerName2( playerid ), P_DATA[ playerid ][ Vip ], VipMessage );
  499. SendClientMessageToAll( COLOR_VIP, VipMessage );
  500. #if defined VIPS_SEND_COMMAND
  501. SendVipsCommand( playerid, "/vasay" );
  502. #endif
  503. } else {
  504. return SendLevel( playerid, 2 ); }
  505. return 1;
  506. }
  507.  
  508. CMD:maxammo( playerid, params[ ] )
  509. {
  510. if ( P_DATA[ playerid ][ Vip ] == 3 )
  511. {
  512. SendPlayerMaxAmmo( playerid );
  513. SendClientMessage( playerid, COLOR_VIP, "You have added {00FF00}Max Ammo{FF5500} to your weapons!" );
  514. #if defined VIPS_SEND_COMMAND
  515. SendVipsCommand( playerid, "/MaxAmmo" );
  516. #endif
  517. } else {
  518. return SendLevel( playerid, 3 ); }
  519. return 1;
  520. }
  521.  
  522. CMD:vweapons( playerid, params[ ] )
  523. {
  524. if ( P_DATA[ playerid ][ Vip ] >= 2 )
  525. {
  526.  
  527. GivePlayerWeapon( playerid ,28, 120); //Arma: Micro SMG || Gloante: 120 - Puteti sa schimbati numaru gloantele!
  528. GivePlayerWeapon( playerid, 31, 75); //Arma: M4 || Gloante: 75 - Puteti sa schimbati numaru gloantele!
  529. GivePlayerWeapon( playerid, 34, 15); //Arma: Sniper Rifle || Gloante: 15 - Puteti sa schimbati numaru gloantele!
  530. GivePlayerWeapon( playerid, 24, 110); //Arma: Desert Eagle || Gloante: 110 - Puteti sa schimbati numaru gloantele!
  531. GivePlayerWeapon( playerid, 26, 100); //Arma: Sawn-off Shotgun || Gloante: 100 - Puteti sa schimbati numaru gloantele!
  532. #if defined VIPS_SEND_COMMAND
  533. SendVipsCommand( playerid, "/vweapons" );
  534. #endif
  535. //De asemenea puteti sa schimbati armlele pe care sa dea V.I.P - ilor la comanda asta!
  536. //Sursa: http://wiki.sa-mp.com/wiki/Weapons || Gasiti ID-urile armelor!
  537. } else {
  538. return SendLevel( playerid, 2 ); }
  539. return 1;
  540. }
  541.  
  542. CMD:vspec( playerid, params[ ] ) //Comenzile /vspec si /vspecoff le-am pus inainte un V pentru ca poate folositi ladmin si acolo sunt comenizile astea dar fara V!
  543. {
  544. new PID, string[ 128 ];
  545.  
  546. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  547. {
  548. if ( sscanf( params, "u", PID ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vspec [playerid]" );
  549.  
  550. if ( IsPlayerConnected( PID ) && PID != INVALID_PLAYER_ID && PID != playerid )
  551. {
  552. if ( GetPlayerState( PID ) == PLAYER_STATE_SPECTATING && P_DATA[ PID ][ SpecID ] != INVALID_PLAYER_ID )
  553. {
  554. if ( GetPlayerState( PID ) != 1 && GetPlayerState( PID ) != 2 && GetPlayerState( PID ) != 3)
  555. {
  556. SpectatePlayer( playerid, PID );
  557. GetPlayerPos( playerid, Position[ playerid ][ 0 ], Position[ playerid ][ 1 ], Position[ playerid ][ 2 ] );
  558. GetPlayerFacingAngle( playerid, Position[ playerid ][ 3 ] );
  559. format( string, sizeof( string ), "Now you spectating %s (%d)", PlayerName2( PID ), PID );
  560. SendClientMessage( playerid, COLOR_VIP, string );
  561. #if defined VIPS_SEND_COMMAND
  562. SendVipsCommand( playerid, "/vspec" );
  563. #endif
  564. } else {
  565. SendClientMessage( playerid, RED, "ERROR: Player not spawned!" ); }
  566. } else {
  567. SendClientMessage( playerid, RED, "ERROR: Player spectating someone else!" ); }
  568. } else {
  569. SendClientMessage( playerid, RED, "ERROR: Player is not connected or is yourself!" ); }
  570. } else {
  571. return SendLevel( playerid, 1 ); }
  572. return 1;
  573. }
  574.  
  575. CMD:vspecoff( playerid, params[ ] )
  576. {
  577. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  578. {
  579. if ( P_DATA[ playerid ][ SpecType ] != ADMIN_SPEC_TYPE_NONE )
  580. {
  581. StopSpectate( playerid );
  582. SetTimerEx("ReturnPosition", 3000, 0, "d", playerid );
  583. SendClientMessage( playerid, COLOR_VIP, "You have stop spectating" );
  584. #if defined VIPS_SEND_COMMAND
  585. SendVipsCommand( playerid, "/vspecoff" );
  586. #endif
  587. } else {
  588. SendClientMessage( playerid, RED, "ERROR: You are not spectating" ); }
  589. } else {
  590. return SendLevel( playerid, 1 ); }
  591. return 1;
  592. }
  593.  
  594. CMD:vsaveskin( playerid, params[ ] )
  595. {
  596. new SkinID, string[ 128 ], Query[ 256 ];
  597.  
  598. if ( P_DATA[ playerid ][ Vip ] >= 2 )
  599. {
  600. SkinID = GetPlayerSkin( playerid );
  601. format( Query, sizeof( Query ), "UPDATE `Vips` SET `VSkin` = '%d' WHERE `Nume` = '%s' ", SkinID, PlayerName2( playerid ) );
  602. db_free_result( db_query( Database, Query ) );
  603. format( string, sizeof( string ), "You have successfully saved this skin (ID: %d)", SkinID );
  604. SendClientMessage( playerid, COLOR_VIP, string );
  605. SendClientMessage( playerid, COLOR_VIP, "Type /dontuseskin for don't save again this skin!" );
  606. #if defined VIPS_SEND_COMMAND
  607. SendVipsCommand( playerid, "/vsaveskin" );
  608. #endif
  609. } else {
  610. return SendLevel( playerid, 2 ); }
  611. return 1;
  612. }
  613.  
  614. CMD:dontuseskin( playerid, params[ ] )
  615. {
  616. new Query[ 256 ];
  617.  
  618. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  619. {
  620. format( Query, sizeof( Query ), "UPDATE `Vips` SET `VSkin` = '-1' WHERE `Nume` = '%s' ", PlayerName2( playerid ) );
  621. db_free_result( db_query( Database, Query ) );
  622. #if defined VIPS_SEND_COMMAND
  623. SendVipsCommand( playerid, "/dontuseskin" );
  624. #endif
  625. SendClientMessage( playerid, COLOR_VIP, "Your saved skin is never been used!" );
  626. } else {
  627. return SendLevel( playerid, 2 ); }
  628. return 1;
  629. }
  630.  
  631. CMD:mycolor( playerid, params[ ] )
  632. {
  633. new Colour, colour[ 24 ];
  634.  
  635. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  636. {
  637. if ( sscanf( params, "d", Colour ) ) return Send2Clients( playerid, "/mycolor [color]", "0 = Black | 1 = White | 2 = Red | 3 = Orange | 4 = Yellow | 5 = Green | 6 = Blue | 7 = Purple | 8 = Brown" );
  638. if ( Colour > 8 ) return SendClientMessage( playerid, RED, "Colours: 0 = Black | 1 = White | 2 = Red | 3 = Orange | 4 = Yellow | 5 = Green | 6 = Blue | 7 = Purple | 8 = Brown" );
  639.  
  640. switch ( Colour ) {
  641. case 0: { SetPlayerColor( playerid, 0x000000AA ); colour = "Black"; }
  642. case 1: { SetPlayerColor( playerid, 0xFFFFFFAA ); colour = "White"; }
  643. case 2: { SetPlayerColor( playerid, 0xE60000AA ); colour = "Red"; }
  644. case 3: { SetPlayerColor( playerid, 0xFF5500AA ); colour = "Orange"; }
  645. case 4: { SetPlayerColor( playerid, 0xFFFF00AA ); colour = "Yellow"; }
  646. case 5: { SetPlayerColor( playerid, 0x00FF00AA ); colour = "Green"; }
  647. case 6: { SetPlayerColor( playerid, 0x0000BBAA ); colour = "Blue"; }
  648. case 7: { SetPlayerColor( playerid, 0x800080AA ); colour = "Purple"; }
  649. case 8: { SetPlayerColor( playerid, 0xA52A2AAA ); colour = "Brown"; } }
  650. #if defined VIPS_SEND_COMMAND
  651. SendVipsCommand( playerid, "/mycolor" );
  652. #endif
  653. } else {
  654. return SendLevel( playerid, 1 ); }
  655. return 1;
  656. }
  657.  
  658. CMD:vcmds( playerid, params[ ] )
  659. {
  660. new string[ 1024 ];
  661.  
  662. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  663. {
  664. strcat( string, "{FF5500}V.I.P Level {00FF00}1 {FF5500}Commands:\t{FF5500}V.I.P Level {00FF00}2 {FF5500}Commands:\t{FF5500}V.I.P Level {00FF00}3 {FF5500}Commands:\n\n" );
  665. strcat( string, "{FFFF00}/mytime\t\t\t/vsaveskin\t\t\t/vkick\n" );
  666. strcat( string, "/myweather\t\t\t/dontuseskin\t\t\t/vget\n" );
  667. strcat( string, "/myvw\t\t\t\t/vweapons\t\t\t/rw\n" );
  668. strcat( string, "/mycolor\t\t\t/vipgoto\t\t\t/maxammo\n" );
  669. strcat( string, "/vspec\t\t\t\t/vasay\t\t\t\t\n" );
  670. strcat( string, "/vspecoff\n/spawnme\n/vcmds\n" );
  671. strcat( string, "{E60000}/ltc[1-13]\t\t\t/vipgod\t\t\t/vannounce\n" );
  672. strcat( string, "{E60000}/godcar\n/vcar\n/vspa\n/stophold\n/viphouse\n" );
  673. strcat( string, "\t\t\t\t{FFFF00}+V.I.P level 1 CMDS\t\t+ V.I.P level 1&2 CMDS\n\n\n" );
  674. strcat( string, "{FF5500}Use simbol {00FF00}! {FF5500}in front of your text to speak in V.I.P Chat\n" );
  675. ShowPlayerDialog( playerid, VIPCMDS, DIALOG_STYLE_MSGBOX, "V.I.P Commands:", string, "Quit", "" );
  676. #if defined VIPS_SEND_COMMAND
  677. SendVipsCommand( playerid, "/vcmds" );
  678. #endif
  679. } else {
  680. return SendLevel( playerid, 1 ); }
  681. return 1;
  682. }
  683.  
  684. CMD:vget( playerid, params[ ] )
  685. {
  686. new PID, string[ 256 ];
  687. new Float:x, Float:y, Float:z;
  688.  
  689. if ( P_DATA[ playerid ][ Vip ] == 3 )
  690. {
  691. if ( sscanf( params, "u", PID ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vget [playerid]" );
  692.  
  693. if ( IsPlayerConnected( PID ) && PID != INVALID_PLAYER_ID && PID != playerid )
  694. {
  695. GetPlayerPos( playerid, x, y, z );
  696. SetPlayerInterior( PID, GetPlayerInterior( playerid ) );
  697. SetPlayerVirtualWorld( PID, GetPlayerVirtualWorld( playerid ) );
  698. if ( GetPlayerState( PID ) == 2 )
  699. {
  700. new VehicleID = GetPlayerVehicleID( PID );
  701. SetVehiclePos( VehicleID, x+3, y, z);
  702. LinkVehicleToInterior( VehicleID, GetPlayerInterior( PID ) );
  703. SetVehicleVirtualWorld( GetPlayerVehicleID( PID ), GetPlayerVirtualWorld( PID ) );
  704. format( string, sizeof( string ),"You have been teleported to V.I.P {00FF00}%s's {FF5500}location", PlayerName2( playerid ) );
  705. SendClientMessage( PID, COLOR_VIP, string );
  706. format( string, sizeof( string ),"You have teleported {00FF00}%s {FF5500}to your location", PlayerName2( PID ) );
  707. SendClientMessage( playerid, COLOR_VIP, string );
  708. #if defined VIPS_SEND_COMMAND
  709. SendVipsCommand( playerid, "/vget" );
  710. #endif
  711. } else {
  712. SetPlayerPos( PID, x+2, y, z );
  713. #if defined VIPS_SEND_COMMAND
  714. SendVipsCommand( playerid, "/vget" );
  715. #endif
  716. format( string, sizeof( string ),"You have been teleported to V.I.P {00FF00}%s's {FF5500}location", PlayerName2( playerid ) );
  717. SendClientMessage( PID, COLOR_VIP, string );
  718. format( string, sizeof( string ),"You have teleported {00FF00}%s {FF5500}to your location", PlayerName2( PID ) );
  719. SendClientMessage( playerid, COLOR_VIP, string ); }
  720. } else {
  721. SendClientMessage( playerid, RED, "Player is not connected or is yourself!" ); }
  722. } else {
  723. return SendLevel( playerid, 3 ); }
  724. return 1;
  725. }
  726.  
  727. CMD:vkick( playerid, params[ ] )
  728. {
  729. new string[ 128 ];
  730.  
  731. if ( P_DATA[ playerid ][ Vip ] == 3 )
  732. {
  733. if ( sscanf( params, "us[ 128 ]", params[ 0 ], params[ 1 ] ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vkick [playerid] [reason]" );
  734.  
  735. if ( IsPlayerConnected( params[ 0 ] ) && params[ 0 ] != INVALID_PLAYER_ID && params[ 0 ] != playerid )
  736. {
  737. if ( !strlen( params[ 1 ] ) )
  738. {
  739. format( string, sizeof( string ), "%s {FF5500}has been kicked by V.I.P {00FF00}%s {FF5500}[no reason given]!",PlayerName2( params[ 0 ] ), PlayerName2( playerid ) );
  740. SendClientMessageToAll( GREEN, string );
  741. Kick( params[ 0 ] );
  742.  
  743. #if defined VIPS_SEND_COMMAND
  744. SendVipsCommand( playerid, "/vkick" );
  745. #endif
  746. } else {
  747.  
  748. #if defined VIPS_SEND_COMMAND
  749. SendVipsCommand( playerid, "/vkick" );
  750. #endif
  751.  
  752. format( string, sizeof( string ), "%s {FF5500}has been kicked by V.I.P {00FF00}%s {FF5500}[reason: {00FF00%s{FF5500}] ", PlayerName2( params[ 0 ] ), PlayerName2( playerid ), params[ 1 ] );
  753. SendClientMessageToAll( GREEN, string );
  754. Kick( params[ 0 ] ); }
  755. } else {
  756. SendClientMessage( playerid, RED, "Player is not connected or is yourself!" ); }
  757. } else {
  758. return SendLevel( playerid, 3 ); }
  759. return 1;
  760. }
  761.  
  762. CMD:rw( playerid, params[ ] )
  763. {
  764. if ( P_DATA[ playerid ][ Vip ] == 3 )
  765. {
  766. GivePlayerWeapon( playerid, 4, 1); //Knife
  767. GivePlayerWeapon( playerid, 28, 1000); // Micro - SMG
  768. GivePlayerWeapon( playerid, 26, 100); // Sawn-off Shotgun
  769. GivePlayerWeapon( playerid, 22, 500); // 9mm Pistol
  770. //Source: http://wiki.sa-mp.com/wiki/Weapons !
  771. SendClientMessage( playerid, COLOR_VIP, "You got an Runing Weapons package!" );
  772. #if defined VIPS_SEND_COMMAND
  773. SendVipsCommand( playerid, "/vkick" );
  774. #endif
  775. } else {
  776. return SendLevel( playerid, 3 ); }
  777. return 1;
  778. }
  779. //================================================================================================================================//
  780. //===================================================== [ Comenzi v2.0 ] =========================================================//
  781. CMD:vipgod( playerid, params[ ] )
  782. {
  783. if ( P_DATA[ playerid ][ Vip ] >= 2 )
  784. {
  785. if ( P_DATA[ playerid ][ God ] == 1 )
  786. {
  787. P_DATA[ playerid ][ God ] = 1;
  788. SendClientMessage( playerid, COLOR_VIP, "You have activated the V.I.P {00FF00}God Mode!" );
  789. #if defined VIPS_SEND_COMMAND
  790. SendVipsCommand( playerid, "/vipgod" );
  791. #endif
  792. } else {
  793. #if defined VIPS_SEND_COMMAND
  794. SendVipsCommand( playerid, "/vipgod" );
  795. #endif
  796. P_DATA[ playerid ][ God ] = 0; }
  797. } else {
  798. return SendLevel( playerid, 2 ); }
  799. return 1;
  800. }
  801.  
  802. CMD:godcar( playerid, params[ ] )
  803. {
  804. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  805. {
  806. if ( P_DATA[ playerid ][ CarGod ] == 1 )
  807. {
  808. P_DATA[ playerid ][ CarGod ] = 1;
  809. SendClientMessage( playerid, COLOR_VIP, "You have activated the Vehicle {00FF00}God Mode!" );
  810. #if defined VIPS_SEND_COMMAND
  811. SendVipsCommand( playerid, "/GodCar" );
  812. #endif
  813. } else {
  814. #if defined VIPS_SEND_COMMAND
  815. SendVipsCommand( playerid, "/GodCar" );
  816. #endif
  817. P_DATA[ playerid ][ CarGod ] = 0; }
  818. } else {
  819. return SendLevel( playerid, 1 ); }
  820. return 1;
  821. }
  822.  
  823. CMD:ltc1( playerid, params[ ] )
  824. {
  825. new Float:x, Float:y, Float:z, Float:Angle, VehiclulRt;
  826.  
  827. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  828. {
  829. if ( IsPlayerInAnyVehicle( playerid ) )
  830. {
  831. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle" );
  832. } else {
  833. #if defined VIPS_SEND_COMMAND
  834. SendVipsCommand( playerid, "/ltc1" );
  835. #endif
  836. GetPlayerPos( playerid, x, y, z);
  837. GetPlayerFacingAngle( playerid, Angle );
  838. VehiclulRt = CreateVehicle( 560, x, y, z, Angle, 1, -1, -1 );
  839. PutPlayerInVehicle( playerid, VehiclulRt, 0);
  840. AddVehicleComponent( VehiclulRt, 1028 ); AddVehicleComponent( VehiclulRt, 1030 ); AddVehicleComponent( VehiclulRt, 1031 ); AddVehicleComponent( VehiclulRt, 1138 ); AddVehicleComponent(VehiclulRt, 1140); AddVehicleComponent(VehiclulRt, 1170);
  841. AddVehicleComponent( VehiclulRt, 1028 ); AddVehicleComponent( VehiclulRt, 1030 ); AddVehicleComponent( VehiclulRt, 1031 ); AddVehicleComponent( VehiclulRt, 1138 ); AddVehicleComponent(VehiclulRt, 1140); AddVehicleComponent(VehiclulRt, 1170);
  842. AddVehicleComponent( VehiclulRt, 1080 ); AddVehicleComponent( VehiclulRt, 1086 ); AddVehicleComponent( VehiclulRt, 1087 ); AddVehicleComponent( VehiclulRt, 1010 );
  843. PlayerPlaySound( playerid, 1133, 0.0, 0.0, 0.0 );
  844. ChangeVehiclePaintjob( VehiclulRt, 0 );
  845. SetVehicleVirtualWorld( VehiclulRt, GetPlayerVirtualWorld( playerid ) );
  846. LinkVehicleToInterior( VehiclulRt, GetPlayerInterior( playerid ) ); }
  847. } else {
  848. return SendLevel( playerid, 1 ); }
  849. return 1;
  850. }
  851.  
  852. CMD:ltc2( playerid, params[ ] )
  853. {
  854. new Float:x, Float:y, Float:z, Float:Angle, VehiclulRt;
  855.  
  856. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  857. {
  858. if ( IsPlayerInAnyVehicle( playerid ) )
  859. {
  860. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
  861. } else {
  862. #if defined VIPS_SEND_COMMAND
  863. SendVipsCommand( playerid, "/ltc2" );
  864. #endif
  865. GetPlayerPos( playerid, x, y, z );
  866. GetPlayerFacingAngle( playerid, Angle );
  867. VehiclulRt = CreateVehicle( 560, x, y, z, Angle, 1, -1, -1 );
  868. PutPlayerInVehicle( playerid, VehiclulRt, 0 );
  869. AddVehicleComponent( VehiclulRt, 1028 ); AddVehicleComponent( VehiclulRt, 1030 ); AddVehicleComponent( VehiclulRt, 1031 ); AddVehicleComponent( VehiclulRt, 1138 ); AddVehicleComponent( VehiclulRt, 1140 ); AddVehicleComponent( VehiclulRt, 1170 );
  870. AddVehicleComponent( VehiclulRt, 1028 ); AddVehicleComponent( VehiclulRt, 1030 ); AddVehicleComponent( VehiclulRt, 1031 ); AddVehicleComponent( VehiclulRt, 1138 ); AddVehicleComponent( VehiclulRt, 1140 ); AddVehicleComponent( VehiclulRt, 1170 );
  871. AddVehicleComponent( VehiclulRt, 1080 ); AddVehicleComponent( VehiclulRt, 1086 ); AddVehicleComponent( VehiclulRt, 1087 ); AddVehicleComponent( VehiclulRt, 1010 );
  872. PlayerPlaySound( playerid, 1133, 0.0, 0.0, 0.0 );
  873. ChangeVehiclePaintjob( VehiclulRt, 1 );
  874. SetVehicleVirtualWorld( VehiclulRt, GetPlayerVirtualWorld( playerid ) );
  875. LinkVehicleToInterior( VehiclulRt, GetPlayerInterior( playerid ) ); }
  876. } else {
  877. return SendLevel( playerid, 1 ); }
  878. return 1;
  879. }
  880.  
  881. CMD:ltc3( playerid, params[ ] )
  882. {
  883. new Float:x, Float:y, Float:z, Float:Angle, VehiclulRt;
  884.  
  885. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  886. {
  887. if ( IsPlayerInAnyVehicle( playerid ) )
  888. {
  889. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
  890. } else {
  891. #if defined VIPS_SEND_COMMAND
  892. SendVipsCommand( playerid, "/ltc3" );
  893. #endif
  894. GetPlayerPos( playerid, x, y, z );
  895. GetPlayerFacingAngle( playerid, Angle );
  896. VehiclulRt = CreateVehicle( 560, x, y, z, Angle, 1, -1, -1 );
  897. PutPlayerInVehicle( playerid, VehiclulRt, 0 );
  898. AddVehicleComponent( VehiclulRt, 1028 ); AddVehicleComponent( VehiclulRt, 1138 ); AddVehicleComponent( VehiclulRt, 1170 );
  899. AddVehicleComponent( VehiclulRt, 1030 ); AddVehicleComponent( VehiclulRt, 1031 ); AddVehicleComponent( VehiclulRt, 1140 );
  900. AddVehicleComponent( VehiclulRt, 1080 ); AddVehicleComponent( VehiclulRt, 1086 ); AddVehicleComponent( VehiclulRt, 1087 ); AddVehicleComponent( VehiclulRt, 1010 );
  901. PlayerPlaySound( playerid, 1133, 0.0, 0.0, 0.0 );
  902. ChangeVehiclePaintjob( VehiclulRt, 2 );
  903. SetVehicleVirtualWorld( VehiclulRt, GetPlayerVirtualWorld( playerid ) );
  904. LinkVehicleToInterior( VehiclulRt, GetPlayerInterior( playerid ) ); }
  905. } else {
  906. return SendLevel( playerid, 1 ); }
  907. return 1;
  908. }
  909.  
  910. CMD:ltc4( playerid, params[ ] )
  911. {
  912. new Float:x, Float:y, Float:z, Float:Angle, carid;
  913.  
  914. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  915. {
  916. if ( IsPlayerInAnyVehicle( playerid ) )
  917. {
  918. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
  919. } else {
  920. #if defined VIPS_SEND_COMMAND
  921. SendVipsCommand( playerid, "/ltc4" );
  922. #endif
  923. GetPlayerPos( playerid, x, y, z );
  924. GetPlayerFacingAngle( playerid, Angle );
  925. carid = CreateVehicle( 559, x, y, z, Angle, 1, -1, -1 );
  926. PutPlayerInVehicle( playerid, carid, 0 );
  927. AddVehicleComponent( carid, 1065 ); AddVehicleComponent( carid, 1067 ); AddVehicleComponent( carid, 1073 );
  928. AddVehicleComponent( carid, 1162 ); AddVehicleComponent( carid, 1010 ); ChangeVehiclePaintjob( carid, 1 );
  929. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  930. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  931. } else {
  932. return SendLevel( playerid, 1 ); }
  933. return 1;
  934. }
  935.  
  936. CMD:ltc5( playerid, params[ ] )
  937. {
  938. new Float:x, Float:y, Float:z, Float:Angle, carid;
  939.  
  940. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  941. {
  942. if ( IsPlayerInAnyVehicle( playerid ) )
  943. {
  944. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
  945. } else {
  946. #if defined VIPS_SEND_COMMAND
  947. SendVipsCommand( playerid, "/ltc5" );
  948. #endif
  949. GetPlayerPos( playerid, x, y, z );
  950. GetPlayerFacingAngle( playerid, Angle );
  951. carid = CreateVehicle( 565, x, y, z, Angle, 1, -1, -1 );
  952. PutPlayerInVehicle( playerid, carid, 0 );
  953. AddVehicleComponent( carid, 1046 ); AddVehicleComponent( carid, 1049 ); AddVehicleComponent( carid, 1073 );
  954. AddVehicleComponent( carid, 1053 ); AddVehicleComponent( carid, 1010 ); ChangeVehiclePaintjob( carid, 1 );
  955. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  956. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  957. } else {
  958. return SendLevel( playerid, 1 ); }
  959. return 1;
  960. }
  961.  
  962. CMD:ltc6( playerid, params[ ] )
  963. {
  964. new Float:x, Float:y, Float:z, Float:Angle, carid;
  965.  
  966. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  967. {
  968. if ( IsPlayerInAnyVehicle( playerid ) )
  969. {
  970. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
  971. } else {
  972. #if defined VIPS_SEND_COMMAND
  973. SendVipsCommand( playerid, "/ltc6" );
  974. #endif
  975. GetPlayerPos( playerid, x, y, z );
  976. GetPlayerFacingAngle( playerid, Angle );
  977. carid = CreateVehicle( 558, x, y, z, Angle, 1, -1, -1 );
  978. PutPlayerInVehicle( playerid, carid, 0 );
  979. AddVehicleComponent( carid, 1088 ); AddVehicleComponent( carid, 1092 ); AddVehicleComponent( carid, 1073 );
  980. AddVehicleComponent( carid, 1139 ); AddVehicleComponent( carid, 1010 ); ChangeVehiclePaintjob( carid, 1 );
  981. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  982. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  983. } else {
  984. return SendLevel( playerid, 1 ); }
  985. return 1;
  986. }
  987.  
  988. CMD:ltc7( playerid, params[ ] )
  989. {
  990. new Float:x, Float:y, Float:z, Float:Angle, carid;
  991.  
  992. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  993. {
  994. if ( IsPlayerInAnyVehicle( playerid ) )
  995. {
  996. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
  997. } else {
  998. #if defined VIPS_SEND_COMMAND
  999. SendVipsCommand( playerid, "/ltc7" );
  1000. #endif
  1001. GetPlayerPos( playerid, x, y, z );
  1002. GetPlayerFacingAngle( playerid, Angle );
  1003. carid = CreateVehicle( 561, x, y, z, Angle, 1, -1, -1 );
  1004. PutPlayerInVehicle( playerid, carid, 0 );
  1005. AddVehicleComponent( carid, 1055 ); AddVehicleComponent( carid, 1058 ); AddVehicleComponent( carid, 1073 );
  1006. AddVehicleComponent( carid, 1064 ); AddVehicleComponent( carid, 1010 ); ChangeVehiclePaintjob( carid, 1 );
  1007. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  1008. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  1009. } else {
  1010. return SendLevel( playerid, 1 ); }
  1011. return 1;
  1012. }
  1013.  
  1014. CMD:ltc8( playerid, params[ ] )
  1015. {
  1016. new Float:x, Float:y, Float:z, Float:Angle, carid;
  1017.  
  1018. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1019. {
  1020. if ( IsPlayerInAnyVehicle( playerid ) )
  1021. {
  1022. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
  1023. } else {
  1024. #if defined VIPS_SEND_COMMAND
  1025. SendVipsCommand( playerid, "/ltc8" );
  1026. #endif
  1027. GetPlayerPos( playerid, x, y, z );
  1028. GetPlayerFacingAngle( playerid, Angle );
  1029. carid = CreateVehicle( 562, x, y, z, Angle, 1, -1, -1 );
  1030. PutPlayerInVehicle( playerid, carid, 0 );
  1031. AddVehicleComponent( carid, 1034 ); AddVehicleComponent( carid, 1038 ); AddVehicleComponent( carid, 1073 );
  1032. AddVehicleComponent( carid, 1147 ); AddVehicleComponent( carid, 1010 ); ChangeVehiclePaintjob( carid, 1 );
  1033. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  1034. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  1035. } else {
  1036. return SendLevel( playerid, 1 ); }
  1037. return 1;
  1038. }
  1039.  
  1040. CMD:ltc9( playerid, params[ ] )
  1041. {
  1042. new Float:x, Float:y, Float:z, Float:Angle, carid;
  1043.  
  1044. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1045. {
  1046. if ( IsPlayerInAnyVehicle( playerid ) )
  1047. {
  1048. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
  1049. } else {
  1050. #if defined VIPS_SEND_COMMAND
  1051. SendVipsCommand( playerid, "/ltc9" );
  1052. #endif
  1053. GetPlayerPos( playerid, x, y, z );
  1054. GetPlayerFacingAngle( playerid, Angle );
  1055. carid = CreateVehicle( 567, x, y, z, Angle, 1, -1, -1 );
  1056. PutPlayerInVehicle( playerid, carid, 0 );
  1057. AddVehicleComponent( carid, 1102 ); AddVehicleComponent( carid, 1129 ); AddVehicleComponent( carid, 1188 ); AddVehicleComponent( carid, 1087 ); AddVehicleComponent( carid, 1086 );
  1058. AddVehicleComponent( carid, 1133 ); AddVehicleComponent( carid, 1186 ); AddVehicleComponent( carid, 1010 ); AddVehicleComponent( carid, 1085 ); ChangeVehiclePaintjob( carid, 1 );
  1059. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  1060. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  1061. } else {
  1062. return SendLevel( playerid, 1 ); }
  1063. return 1;
  1064. }
  1065.  
  1066. CMD:ltc10( playerid, params[ ] )
  1067. {
  1068. new Float:x, Float:y, Float:z, Float:Angle, carid;
  1069.  
  1070. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1071. {
  1072. if ( IsPlayerInAnyVehicle( playerid ) )
  1073. {
  1074. SendClientMessage( playerid, RED,"ERROR: You already have a vehicle!" );
  1075. } else {
  1076. #if defined VIPS_SEND_COMMAND
  1077. SendVipsCommand( playerid, "/ltc10" );
  1078. #endif
  1079. GetPlayerPos( playerid, x, y, z );
  1080. GetPlayerFacingAngle( playerid, Angle );
  1081. carid = CreateVehicle( 558, x, y, z, Angle, 1, -1, -1 );
  1082. PutPlayerInVehicle( playerid, carid, 0 );
  1083. AddVehicleComponent( carid, 1092 ); AddVehicleComponent( carid, 1166 ); AddVehicleComponent( carid, 1165 ); AddVehicleComponent( carid, 1090 );
  1084. AddVehicleComponent( carid, 1094 ); AddVehicleComponent( carid, 1010 ); AddVehicleComponent( carid, 1087 ); AddVehicleComponent( carid, 1163 );
  1085. AddVehicleComponent( carid, 1091 ); ChangeVehiclePaintjob( carid, 2 );
  1086. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  1087. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  1088. } else {
  1089. return SendLevel( playerid, 1 ); }
  1090. return 1;
  1091. }
  1092.  
  1093. CMD:ltc11( playerid, params[ ] )
  1094. {
  1095. new Float:x, Float:y, Float:z, Float:Angle, carid;
  1096.  
  1097. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1098. {
  1099. if ( IsPlayerInAnyVehicle( playerid ) )
  1100. {
  1101. SendClientMessage( playerid, RED,"ERROR: You already have a vehicle!" );
  1102. } else {
  1103. #if defined VIPS_SEND_COMMAND
  1104. SendVipsCommand( playerid, "/ltc11" );
  1105. #endif
  1106. GetPlayerPos( playerid, x, y, z );
  1107. GetPlayerFacingAngle( playerid, Angle );
  1108. carid = CreateVehicle( 557, x, y, z, Angle, 1, 1, -1 );
  1109. PutPlayerInVehicle( playerid, carid, 0 );
  1110. AddVehicleComponent( carid, 1010 ); AddVehicleComponent( carid, 1081 );
  1111. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  1112. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  1113. } else {
  1114. return SendLevel( playerid, 1 ); }
  1115. return 1;
  1116. }
  1117.  
  1118. CMD:ltc12( playerid, params[ ] )
  1119. {
  1120. new Float:x, Float:y, Float:z, Float:Angle, carid;
  1121.  
  1122. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1123. {
  1124. if ( IsPlayerInAnyVehicle( playerid ) )
  1125. {
  1126. SendClientMessage( playerid, RED,"ERROR: You already have a vehicle!" );
  1127. } else {
  1128. #if defined VIPS_SEND_COMMAND
  1129. SendVipsCommand( playerid, "/ltc12" );
  1130. #endif
  1131. GetPlayerPos( playerid, x, y, z );
  1132. GetPlayerFacingAngle( playerid, Angle );
  1133. carid = CreateVehicle( 535, x, y, z, Angle, 1, -1, -1 );
  1134. PutPlayerInVehicle( playerid, carid, 0 );
  1135. ChangeVehiclePaintjob( carid, 1 ); AddVehicleComponent( carid, 1109 ); AddVehicleComponent( carid, 1115 ); AddVehicleComponent( carid, 1117 ); AddVehicleComponent( carid, 1073 ); AddVehicleComponent( carid, 1010 );
  1136. AddVehicleComponent( carid, 1087 ); AddVehicleComponent( carid, 1114 ); AddVehicleComponent( carid, 1081 ); AddVehicleComponent( carid, 1119 ); AddVehicleComponent( carid, 1121 );
  1137. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  1138. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  1139. } else {
  1140. return SendLevel( playerid, 1 ); }
  1141. return 1;
  1142. }
  1143.  
  1144. CMD:ltc13( playerid, params[ ] )
  1145. {
  1146. new Float:x, Float:y, Float:z, Float:Angle, carid;
  1147.  
  1148. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1149. {
  1150. if ( IsPlayerInAnyVehicle( playerid ) )
  1151. {
  1152. SendClientMessage( playerid, RED,"ERROR: You already have a vehicle!" );
  1153. } else {
  1154. #if defined VIPS_SEND_COMMAND
  1155. SendVipsCommand( playerid, "/ltc13" );
  1156. #endif
  1157. GetPlayerPos( playerid, x, y, z );
  1158. GetPlayerFacingAngle( playerid, Angle );
  1159. carid = CreateVehicle( 562, x, y, z, Angle, 1, -1, -1 );
  1160. PutPlayerInVehicle( playerid, carid, 0 );
  1161. AddVehicleComponent( carid, 1034 ); AddVehicleComponent( carid, 1038 ); AddVehicleComponent( carid, 1147 );
  1162. AddVehicleComponent( carid, 1010 ); AddVehicleComponent( carid, 1073 ); ChangeVehiclePaintjob( carid, 0 );
  1163. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  1164. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  1165. } else {
  1166. return SendLevel( playerid, 1 ); }
  1167. return 1;
  1168. }
  1169.  
  1170. CMD:vcar( playerid, params[ ] )
  1171. {
  1172. new Float:x, Float:y, Float:z, Float:Angle, carid;
  1173.  
  1174. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1175. {
  1176. if ( IsPlayerInAnyVehicle( playerid ) )
  1177. {
  1178. SendClientMessage( playerid, RED, "ERROR: You already have a vehicle!" );
  1179. } else {
  1180. #if defined VIPS_SEND_COMMAND
  1181. SendVipsCommand( playerid, "/vcar" );
  1182. #endif
  1183. GetPlayerPos( playerid, x, y, z );
  1184. GetPlayerFacingAngle( playerid, Angle );
  1185. carid = CreateVehicle( 402, x, y, z, Angle, 0, 0, 0 ); // Masina: Buffalo
  1186. PutPlayerInVehicle( playerid, carid, 0 );
  1187. SetVehicleVirtualWorld( carid, GetPlayerVirtualWorld( playerid ) );
  1188. LinkVehicleToInterior( carid, GetPlayerInterior( playerid ) ); }
  1189. //Source: http://wiki.sa-mp.com/wiki/Vehicles:All
  1190. } else {
  1191. return SendLevel( playerid, 1 ); }
  1192. return 1;
  1193. }
  1194.  
  1195. CMD:vannounce( playerid, params[ ] )
  1196. {
  1197. if ( P_DATA[ playerid ][ Vip ] == 3 )
  1198. {
  1199. if ( sscanf( params, "s[128]", params[ 0 ] ) ) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/vannounce [playerid]" );
  1200.  
  1201. GameTextForAll( params[ 0 ], 6000, 1 );// Va aparea in dreapta jos!
  1202. #if defined VIPS_SEND_COMMAND
  1203. SendVipsCommand( playerid, "/vannounce" );
  1204. #endif
  1205. } else {
  1206. return SendLevel( playerid, 3 ); }
  1207. return 1;
  1208. }
  1209.  
  1210. CMD:vspa( playerid, params[ ] )// V.I.Ps Special Actions( Holds & Jetpack! )
  1211. {
  1212. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1213. {
  1214. ShowPlayerDialog( playerid, VSPA, DIALOG_STYLE_LIST, "V.I.P Special Actions!", "Hold: Dick!\nHold: Iron!\nHold: Alien!\nHold: Incred!\nSpawn: JetPack!", "Select", "Cancel" );
  1215. #if defined VIPS_SEND_COMMAND
  1216. SendVipsCommand( playerid, "/vspa" );
  1217. #endif
  1218. } else {
  1219. return SendLevel( playerid, 1 ); }
  1220. return 1;
  1221. }
  1222.  
  1223. CMD:stophold( playerid, params[ ] )
  1224. {
  1225. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1226. {
  1227. if( !IsPlayerAttachedObjectSlotUsed( playerid, 0 ) &&
  1228. !IsPlayerAttachedObjectSlotUsed( playerid, 1 ) &&
  1229. !IsPlayerAttachedObjectSlotUsed( playerid, 2 ) &&
  1230. !IsPlayerAttachedObjectSlotUsed( playerid, 3 ) &&
  1231. !IsPlayerAttachedObjectSlotUsed( playerid, 4 ) )
  1232. return SendClientMessage( playerid, RED, "You are not holding any object" );
  1233.  
  1234. #if defined VIPS_SEND_COMMAND
  1235. SendVipsCommand( playerid, "/stophold" );
  1236. #endif
  1237.  
  1238. for ( new i = 0; i < 5; i ++ )
  1239. {
  1240. if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
  1241. {
  1242. RemovePlayerAttachedObject( playerid, i );
  1243. SendClientMessage( i, RED, "You have stopped holding object!" );
  1244. }
  1245. }
  1246. } else {
  1247. return SendLevel( playerid, 1 ); }
  1248. return 1;
  1249. }
  1250.  
  1251. CMD:viphouse( playerid, params[ ] )
  1252. {
  1253. if ( P_DATA[ playerid ][ Vip ] >= 1 )
  1254. {
  1255. SetPlayerPos( playerid, -2637.69,1404.24,906.46 );
  1256. SetPlayerInterior( playerid, 3 );
  1257. RemovePlayerFromVehicle( playerid );
  1258. #if defined VIPS_SEND_COMMAND
  1259. SendVipsCommand( playerid, "/VipHouse" );
  1260. #endif
  1261. SendClientMessage( playerid, COLOR_VIP, "You have teleported to V.I.P House( Club )!" );
  1262. } else {
  1263. return SendLevel( playerid, 1 ); }
  1264. return 1;
  1265. }
  1266. //================================================================================================================================//
  1267. //====================================================== [ public's ] ============================================================//
  1268. Public: SendLevel( playerid, level )
  1269. {
  1270. if ( level == 1 ) return SendClientMessage( playerid, RED, "ERROR: You need to be V.I.P Level 1 or bigest to use this command!" );
  1271. if ( level == 2 ) return SendClientMessage( playerid, RED, "ERROR: You need to be V.I.P Level 2 or bigest to use this command!" );
  1272. if ( level == 3 ) return SendClientMessage( playerid, RED, "ERROR: You need to be V.I.P Level 3 to use this command!" );
  1273. return 1;
  1274. }
  1275.  
  1276. Public: SendVipMessage( color, const string[ ] )
  1277. {
  1278. for ( new i = 0; i < MAX_PLAYERS; i++ )
  1279. {
  1280. if ( IsPlayerConnected( i ) )
  1281. {
  1282. if ( P_DATA[ i ][ Vip ] >= 1 )
  1283. {
  1284. SendClientMessage( i, color, string );
  1285. }
  1286. }
  1287. }
  1288. return 1;
  1289. }
  1290.  
  1291. Public: ReturnPosition( playerid )
  1292. {
  1293. SetPlayerPos( playerid, Position[ playerid ][ 0 ], Position[ playerid ][ 1 ], Position[ playerid ][ 2 ] );
  1294. SetPlayerFacingAngle( playerid, Position[ playerid ][ 3 ] );
  1295. }
  1296.  
  1297. Public: GodUpdate( )
  1298. {
  1299. for ( new i = 0; i < MAX_PLAYERS; i++ )
  1300. {
  1301. if ( IsPlayerConnected( i ) && P_DATA[ i ][ God ] == 1 )
  1302. {
  1303. SetPlayerHealth( i, 100000 );
  1304. }
  1305. if ( IsPlayerConnected( i ) && P_DATA[ i ][ CarGod ] == 1 && IsPlayerInAnyVehicle( i ) )
  1306. {
  1307. SetVehicleHealth( GetPlayerVehicleID( i ), 10000 );
  1308. }
  1309. }
  1310. }
  1311. //======================================================== [ Stocks ] ============================================================//
  1312. stock PlayerName2( i ){
  1313. new n[ 24 ];
  1314. GetPlayerName( i, n, 24 );
  1315. return n;
  1316. }
  1317. stock ReturnPlayerName( id )
  1318. {
  1319. new tehname[ MAX_PLAYER_NAME ];
  1320. GetPlayerName( id, tehname, sizeof( tehname ) );
  1321. return tehname;
  1322. }
  1323. stock SpectatePlayer( playerid, PID )
  1324. {
  1325. new string[ 100 ], Float:health, Float:armour;
  1326.  
  1327. for(new i = 0; i < MAX_PLAYERS; i++ )
  1328. {
  1329. if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] == playerid )
  1330. {
  1331. AdvanceSpectate( i );
  1332. }
  1333. }
  1334. SetPlayerInterior( playerid, GetPlayerInterior( PID ) );
  1335. TogglePlayerSpectating( playerid, 1 );
  1336. if ( IsPlayerInAnyVehicle( PID ) )
  1337. {
  1338. PlayerSpectateVehicle( playerid, GetPlayerVehicleID( PID ) );
  1339. P_DATA[ playerid ][ SpecID ] = PID;
  1340. P_DATA[ playerid ][ SpecType ] = ADMIN_SPEC_TYPE_VEHICLE;
  1341. } else {
  1342. PlayerSpectatePlayer( playerid, PID );
  1343. P_DATA[ playerid ][ SpecID ] = PID;
  1344. P_DATA[ playerid ][ SpecType ] = ADMIN_SPEC_TYPE_PLAYER;
  1345. }
  1346. GetPlayerName( PID, string, sizeof( string ) );
  1347. GetPlayerHealth( PID, health );
  1348. GetPlayerArmour( PID, armour );
  1349. format( string, sizeof( string ),"~n~~n~~n~~n~~n~~n~~n~n~~w~%s - id:%d~n~< sprint - jump >~n~~r~Health:%0.1f ~b~Armour:%0.1f~n~~g~$%d~n~~g~%d", string, PID, health, armour, GetPlayerMoney( PID ), GetPlayerScore( PID ) );
  1350. GameTextForPlayer( playerid, string, 25000, 3 );
  1351. return 1;
  1352. }
  1353. stock StopSpectate( playerid )
  1354. {
  1355. TogglePlayerSpectating( playerid, 0 );
  1356. P_DATA[ playerid ][ SpecID ] = INVALID_PLAYER_ID;
  1357. P_DATA[ playerid ][ SpecType ] = ADMIN_SPEC_TYPE_NONE;
  1358. GameTextForPlayer( playerid,"~n~~n~~n~~w~Spectate mode ended", 1000, 3 );
  1359. return 1;
  1360. }
  1361. stock AdvanceSpectate( playerid )
  1362. {
  1363. if ( ConnectedPlayers( ) == 2 )
  1364. {
  1365. StopSpectate( playerid );
  1366. return 1;
  1367. }
  1368. if ( GetPlayerState( playerid ) == PLAYER_STATE_SPECTATING && P_DATA[ playerid ][ SpecID ] != INVALID_PLAYER_ID )
  1369. {
  1370. for ( new i = P_DATA[ playerid ][ SpecID] +1; i <= MAX_PLAYERS; i++ )
  1371. {
  1372. if ( i == MAX_PLAYERS ) i = 0;
  1373. if ( IsPlayerConnected( i ) && i != playerid )
  1374. {
  1375. if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] != INVALID_PLAYER_ID || ( GetPlayerState( i ) != 1 && GetPlayerState( i ) != 2 && GetPlayerState( i ) != 3 ) )
  1376. {
  1377. continue;
  1378. } else {
  1379. SpectatePlayer( playerid, i );
  1380. break;
  1381. }
  1382. }
  1383. }
  1384. }
  1385. return 1;
  1386. }
  1387. stock ConnectedPlayers( )
  1388. {
  1389. new Connected;
  1390. for ( new i = 0; i < MAX_PLAYERS; i++ ) if ( IsPlayerConnected( i ) ) Connected++;
  1391. return Connected;
  1392. }
  1393. stock Send2Clients( playerid, Client1[ ], Client2[ ] )
  1394. {
  1395. new Str[ 256 ];
  1396. format( Str, sizeof( Str ), "Usage: {FFFF00} %s", Client1 );
  1397. SendClientMessage( playerid, RED, Str );
  1398. format( Str, sizeof( Str ), "Colours: {00FF00} %s", Client2 );
  1399. SendClientMessage( playerid, RED, Str );
  1400. return 1;
  1401. }
  1402. #if defined VIPS_SEND_COMMAND
  1403. stock SendVipsCommand( playerid, cmdtext[ ] )
  1404. {
  1405. new str[ 128 ];
  1406.  
  1407. format( str, sizeof( str ),"[V.I.P] {00FF00}%s(%d) {FF5500}has used command {00FF00}%s", PlayerName2( playerid ), playerid, cmdtext );
  1408. return SendVipMessage( COLOR_VIP, str );
  1409. }
  1410. #endif
  1411. stock ReverseSpectate( playerid )
  1412. {
  1413. if ( ConnectedPlayers( ) == 2 )
  1414. {
  1415. StopSpectate( playerid );
  1416. return 1;
  1417. }
  1418. if ( GetPlayerState( playerid ) == PLAYER_STATE_SPECTATING && P_DATA[ playerid ][ SpecID ] != INVALID_PLAYER_ID )
  1419. {
  1420. for ( new i = P_DATA[ playerid ][ SpecID ]-1; i >= 0; i-- )
  1421. {
  1422. if ( i == 0 ) i = MAX_PLAYERS;
  1423. if ( IsPlayerConnected( i ) && i != playerid )
  1424. {
  1425. if ( GetPlayerState( i ) == PLAYER_STATE_SPECTATING && P_DATA[ i ][ SpecID ] != INVALID_PLAYER_ID || ( GetPlayerState( i ) != 1 && GetPlayerState( i ) != 2 && GetPlayerState( i ) != 3 ) )
  1426. {
  1427. continue;
  1428. } else {
  1429. SpectatePlayer( playerid, i );
  1430. break;
  1431. }
  1432. }
  1433. }
  1434. }
  1435. return 1;
  1436. }
  1437. stock SendPlayerMaxAmmo( playerid )
  1438. {
  1439. new slot, weap, ammo;
  1440.  
  1441. for ( slot = 0; slot < 14; slot++ )
  1442. {
  1443. GetPlayerWeaponData( playerid, slot, weap, ammo );
  1444. if ( IsValidWeapon( weap ) )
  1445. {
  1446. GivePlayerWeapon( playerid, weap, 99999 );
  1447. }
  1448. }
  1449. return 1;
  1450. }
  1451. stock IsValidWeapon( weaponid )
  1452. {
  1453. if ( weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47 ) return 1;
  1454. return 0;
  1455. }
  1456. //============================================================ [ EOF ] ===========================================================//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement