Advertisement
Guest User

Untitled

a guest
Jan 21st, 2013
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 31.51 KB | None | 0 0
  1. //Developed with Pawnfox!
  2. //Created on January 20th by Bloody!
  3.  
  4. #include <a_samp>
  5. #include <sampfox>
  6.  
  7. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  8.  
  9.  
  10. main()
  11. {
  12.     print("\n----------------------------------");
  13.     print(" SAMPFox Example Gamemode!");
  14.     print("----------------------------------\n");
  15. }
  16.  
  17. public OnGameModeInit()
  18. {
  19.     SetGameModeText("SAMPFox Example");
  20.    
  21.     //Start the SAMPFox server.
  22.     //Our own (SA:MP server) port is 7777, we use the default SAMPFox port 42690
  23.     SAMPFox_Init(7777);
  24.    
  25.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  26.     return 1;
  27. }
  28.  
  29. public OnPlayerRequestClass(playerid, classid)
  30. {
  31.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  32.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  33.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  34.     return 1;
  35. }
  36.  
  37. public OnPlayerConnect(playerid)
  38. {
  39.     return 1;
  40. }
  41.  
  42. public OnPlayerDisconnect(playerid, reason)
  43. {
  44.     return 1;
  45. }
  46.  
  47. public OnPlayerSpawn(playerid)
  48. {
  49.     if(IsSAMPFoxIdentified(playerid))   //Is the player connected to the SAMPFox server and ready for action?
  50.     {
  51.         if(SAMPFox_GetVersion(playerid)!=SAMPFOX_VERSION10)
  52.             SendClientMessage(playerid,0xFF0000FF,"SAMPFox: You are using an deprecated client. Please update SAMPFox!");
  53.         else
  54.             SendClientMessage(playerid,0xFF0000FF,"SAMPFox: You are connected and ready for immersion!");
  55.     }
  56.     return 1;
  57. }
  58.  
  59.  
  60. /*Gets called when *any* client connects to the SAMPFox server - the client does not need to be connected to the SA:MP server yet*/
  61. public OnSAMPFoxConnect()
  62. {
  63.     return 1;
  64. }
  65.  
  66. /*Gets called when a client disconnects from the SAMPFox server*/
  67. public OnSAMPFoxDisconnect(playerid)
  68. {
  69.     return 1;
  70. }
  71.  
  72. public OnPlayerCommandText(playerid, cmdtext[])
  73. {
  74.     printf("Code called");
  75.     dcmd(huddemo,7,cmdtext);
  76.     dcmd(hudinfo,7,cmdtext);
  77.     dcmd(togglehud,9,cmdtext);
  78.     dcmd(aircraftheight,14,cmdtext);
  79.     dcmd(vcameramode,11,cmdtext);
  80.     dcmd(infiniterun,11,cmdtext);
  81.     dcmd(hydradelay,10,cmdtext);
  82.     dcmd(getres,6,cmdtext);
  83.     dcmd(pickupsize,10,cmdtext);
  84.     dcmd(fireproof,9,cmdtext);
  85.     dcmd(waveheight,10,cmdtext);
  86.     dcmd(winddensity,11,cmdtext);
  87.     dcmd(nightvision,11,cmdtext);
  88.     dcmd(thermalvision,13,cmdtext);
  89.     dcmd(gravity,7,cmdtext);
  90.     dcmd(greyradar,9,cmdtext);
  91.     dcmd(timefliesby,11,cmdtext);
  92.     dcmd(wheelsonly,10,cmdtext);
  93.     dcmd(setoxygen,9,cmdtext);
  94.     dcmd(infoxygen,9,cmdtext);
  95.     dcmd(greenlights,11,cmdtext);
  96.     dcmd(enterexitvisibility,19,cmdtext);
  97.     dcmd(getradiostation,15,cmdtext);
  98.     dcmd(strange2deffect,15,cmdtext);
  99.     dcmd(radiovolume,11,cmdtext);
  100.     dcmd(sfxvolume,9,cmdtext);
  101.     dcmd(currentregion,13,cmdtext);
  102.     dcmd(fogdensity,10,cmdtext);
  103.     dcmd(raindensity,11,cmdtext);
  104.     dcmd(deformfactor,12,cmdtext);
  105.     dcmd(camdistance,11,cmdtext);
  106.     dcmd(disableaiming,13,cmdtext);
  107.     dcmd(disablecamchange,16,cmdtext);
  108.     dcmd(calmwaveheight,14,cmdtext);
  109.     dcmd(underwatereffect,16,cmdtext);
  110.     dcmd(horizontallines,15,cmdtext);
  111.     dcmd(raindensityex,13,cmdtext);
  112.     dcmd(brighthorizon,13,cmdtext);
  113.     dcmd(takeplayerphoto,15,cmdtext);
  114.     dcmd(getplayerfps,12,cmdtext);
  115.     dcmd(setnoiseinfo,12,cmdtext);
  116.     dcmd(pluginhelp,10,cmdtext);
  117.     dcmd(flamecolor,10,cmdtext);
  118.     return 0;
  119. }
  120.  
  121. dcmd_flamecolor(playerid,params[])
  122. {
  123.     new color1,color2;
  124.     if(sscanf(params,"dd",color1,color2))
  125.         SendClientMessage(playerid,0xFF0000FF,"Usage: /flamecolor color1 color2");
  126.     else
  127.     {
  128.         SetPlayerFlameColor(playerid,color1,color2);
  129.         SendClientMessage(playerid,0x00FF00FF,"Done");
  130.     }
  131.     return 1;
  132. }
  133.  
  134. dcmd_pluginhelp(playerid,params[])
  135. {
  136.     #pragma unused params
  137.     SendClientMessage(playerid,0x00FF00FF,"This plugin was developed by IV/Anthrax and Bloody.");
  138.     SendClientMessage(playerid,0x00FF00FF,"--------Command List--------");
  139.     SendClientMessage(playerid,0x00FF00FF,"/huddemo /hudinfo /togglehud /setnoiseinfo /getplayerfps /setflamecolor /takeplayerphoto");
  140.     SendClientMessage(playerid,0x00FF00FF,"/aircraftheight /vcameramode /infinterun /hydradelay /getres /pickupsize /fireproof /waveheight");
  141.     SendClientMessage(playerid,0x00FF00FF,"/winddensity /nightvision /thermalvision /gravity /greyradar /timefliesby /wheelsonly");
  142.     SendClientMessage(playerid,0x00FF00FF,"/setoxygen /infoxygen /greenlights /enterexitvisibility /getradiostation /strange2deffect /radiovolume");
  143.     SendClientMessage(playerid,0x00FF00FF,"/sfxvolume /currentregion /fogdensity /raindensity /deformfactor /camdistance /disableaiming /disablecamchange");
  144.     SendClientMessage(playerid,0x00FF00FF,"/calmwaveheight /underwatereffect /horizontallines /raindensityex /brighthorizon /flamecolor");
  145.     SendClientMessage(playerid,0x00FF00FF,"----------------------------");
  146.     SendClientMessage(playerid,0x00FF00FF,"Check www.sampfox.com for proper documentation and contact information!");
  147.     return 1;
  148. }
  149.  
  150. dcmd_setnoiseinfo(playerid,params[])
  151. {
  152.     new nv_noise,th_noise,noise_red,noise_green,noise_blue;
  153.     if(sscanf(params,"ddddd",nv_noise,th_noise,noise_red,noise_green,noise_blue)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /setnoiseinfo nv_noise,th_noise,noise_red,noise_green,noise_blue");
  154.     SetPlayerNoiseInfo(playerid,nv_noise,th_noise,noise_red,noise_green,noise_blue);
  155.     SendClientMessage(playerid,0x00FF00FF,"Done");
  156.    
  157.     return 1;
  158. }
  159.  
  160.  
  161. dcmd_getplayerfps(playerid,params[])
  162. {
  163.     #pragma unused params
  164.     new x = GetPlayerFPS(playerid);
  165.     new str[128];
  166.     format(str,128,"Your current FPS are: %d",x);
  167.     SendClientMessage(playerid,0x00FF00FF,str);
  168.    
  169.     return 1;
  170. }
  171.  
  172. dcmd_takeplayerphoto(playerid,params[])
  173. {
  174.     #pragma unused params
  175.     TakePlayerPhoto(playerid);
  176.     SendClientMessage(playerid,0x00FF00FF,"Done");
  177.    
  178.     return 1;
  179. }
  180.  
  181. dcmd_brighthorizon(playerid,params[])
  182. {
  183.     #pragma unused params  
  184.     EnablePlayerBrightHorizon(playerid);
  185.     SendClientMessage(playerid,0xFF0000FF,"Successfully changed your brighthorizon-state to 1");
  186.     return 1;
  187. }
  188.  
  189. dcmd_raindensityex(playerid,params[])
  190. {
  191.     new Float:density;
  192.     if(sscanf(params,"f",density)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /raindensity value");
  193.     if(density<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  194.    
  195.     new str2[128];
  196.     format(str2,128,"Your current density is now: %f Changing...",GetPlayerRainEx(playerid));
  197.     SendClientMessage(playerid,0x00FF00FF,str2);
  198.    
  199.     SetPlayerRainEx(playerid,density);
  200.     new str[128];
  201.     format(str,128,"Your new density is now: %f",density);
  202.     SendClientMessage(playerid,0x00FF00FF,str);
  203.    
  204.     return 1;
  205. }
  206.  
  207. dcmd_horizontallines(playerid,params[])
  208. {
  209.     new x;
  210.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /horizontallines 0/1");
  211.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /horizontallines 0/1");
  212.     new str[128];
  213.     format(str,128,"Your current horizontallines-state: %d Changing...",GetPlayerHorizontalLinesState(playerid));
  214.     SendClientMessage(playerid,0x00FF00FF,str);
  215.     TogglePlayerHorizontalLines(playerid,x==1?true:false);
  216.     format(str,128,"Successfully changed your horizontallines-state to %d!",x);
  217.     SendClientMessage(playerid,0xFF00FFFF,str);
  218.    
  219.     return 1;
  220. }
  221.  
  222. dcmd_underwatereffect(playerid,params[])
  223. {
  224.     new x;
  225.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /underwatereffect 0/1");
  226.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /underwatereffect 0/1");
  227.     new str[128];
  228.     format(str,128,"Your current underwatereffect-state: %d Changing...",GetPlayerUnderwarterEffectState(playerid));
  229.     SendClientMessage(playerid,0x00FF00FF,str);
  230.     TogglePlayerUnderwaterEffect(playerid,x==1?true:false);
  231.     format(str,128,"Successfully changed your underwatereffect-state to %d!",x);
  232.     SendClientMessage(playerid,0xFF00FFFF,str);
  233.    
  234.     return 1;
  235. }
  236.    
  237. dcmd_calmwaveheight(playerid,params[])
  238. {
  239.     new Float:density;
  240.     if(sscanf(params,"f",density)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /calmwaveheight value");
  241.     if(density<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  242.    
  243.     new str2[128];
  244.     format(str2,128,"Your current calmwaveheight is now: %f Changing...",GetPlayerCalmWaveHeight(playerid));
  245.     SendClientMessage(playerid,0x00FF00FF,str2);
  246.    
  247.     SetPlayerCalmWaveHeight(playerid,density);
  248.     new str[128];
  249.     format(str,128,"Your new calmwaveheight is now: %f",density);
  250.     SendClientMessage(playerid,0x00FF00FF,str);
  251.    
  252.     return 1;
  253. }
  254.  
  255.  
  256. dcmd_disablecamchange(playerid,params[])
  257. {
  258.     new x;
  259.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /disablecamchange 0/1");
  260.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /disablecamchange 0/1");
  261.     new str[128];
  262.     format(str,128,"Your current disablecamchange-state: %d Changing...",GetPlayerOnFootCamChangeState(playerid));
  263.     SendClientMessage(playerid,0x00FF00FF,str);
  264.     TogglePlayerOnFootCamChange(playerid,x==1?true:false);
  265.     format(str,128,"Successfully changed your disablecamchange-state to %d!",x);
  266.     SendClientMessage(playerid,0xFF00FFFF,str);
  267.    
  268.     return 1;
  269. }
  270.  
  271. dcmd_disableaiming(playerid,params[])
  272. {
  273.     new x;
  274.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /disableaiming 0/1");
  275.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /disableaiming 0/1");
  276.     new str[128];
  277.     format(str,128,"Your current disableaiming-state: %d Changing...",GetPlayerDisabledAimingState(playerid));
  278.     SendClientMessage(playerid,0x00FF00FF,str);
  279.     TogglePlayerDisabledAiming(playerid,x==1?true:false);
  280.     format(str,128,"Successfully changed your disableaiming-state to %d!",x);
  281.     SendClientMessage(playerid,0xFF00FFFF,str);
  282.    
  283.     return 1;
  284. }
  285.  
  286. dcmd_camdistance(playerid,params[])
  287. {
  288.     new Float:neardist, Float:defaultdist, Float:fardist;
  289.     if(sscanf(params,"fff",neardist,defaultdist,fardist)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /camdistance NEARDISTANCE DEFAULTDISTANCE FARDISTANCE");
  290.     new str2[128];
  291.     format(str2,128,"Your current neardistance is now: %f Changing...",GetPlayerNearCamDistance(playerid));
  292.     SendClientMessage(playerid,0x00FF00FF,str2);
  293.    
  294.     SetPlayerNearCamDistance(playerid,neardist);
  295.     new str[128];
  296.     format(str,128,"Your new near cameradistance is now: %f",neardist);
  297.     SendClientMessage(playerid,0x00FF00FF,str);
  298.    
  299.     format(str2,128,"Your current defaultdistance is now: %f Changing...",GetPlayerDefaultCamDistance(playerid));
  300.     SendClientMessage(playerid,0x00FF00FF,str2);
  301.    
  302.     SetPlayerDefaultCamDistance(playerid,defaultdist);
  303.  
  304.     format(str,128,"Your new defaultdistance is now: %f",neardist);
  305.     SendClientMessage(playerid,0x00FF00FF,str);
  306.    
  307.     format(str2,128,"Your current fardistance is now: %f Changing...",GetPlayerFarCamDistance(playerid));
  308.     SendClientMessage(playerid,0x00FF00FF,str2);
  309.    
  310.     SetPlayerFarCamDistance(playerid,fardist);
  311.  
  312.     format(str,128,"Your new fardistance is now: %f",neardist);
  313.     SendClientMessage(playerid,0x00FF00FF,str);
  314.    
  315.     return 1;
  316. }
  317.  
  318. dcmd_deformfactor(playerid,params[])
  319. {
  320.     new Float:factor;
  321.     if(sscanf(params,"f",factor)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /deformfactor value");
  322.     if(factor<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  323.    
  324.     new str2[128];
  325.     format(str2,128,"Your current deformfactor is now: %f Changing...",GetPlayerDeformFactor(playerid));
  326.     SendClientMessage(playerid,0x00FF00FF,str2);
  327.    
  328.     SetPlayerDeformFactor(playerid,factor);
  329.     new str[128];
  330.     format(str,128,"Your new deformfactor is now: %f",factor);
  331.     SendClientMessage(playerid,0x00FF00FF,str);
  332.    
  333.     return 1;
  334. }
  335.  
  336. dcmd_raindensity(playerid,params[])
  337. {
  338.     new Float:density;
  339.     if(sscanf(params,"f",density)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /raindensity value");
  340.     if(density<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  341.    
  342.     new str2[128];
  343.     format(str2,128,"Your current density is now: %f Changing...",GetPlayerRainDensity(playerid));
  344.     SendClientMessage(playerid,0x00FF00FF,str2);
  345.    
  346.     SetPlayerRainDensity(playerid,density);
  347.     new str[128];
  348.     format(str,128,"Your new density is now: %f",density);
  349.     SendClientMessage(playerid,0x00FF00FF,str);
  350.    
  351.     return 1;
  352. }
  353.  
  354. dcmd_fogdensity(playerid,params[])
  355. {
  356.     new Float:density;
  357.     if(sscanf(params,"f",density)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /fogdensity value");
  358.     if(density<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  359.    
  360.     new str2[128];
  361.     format(str2,128,"Your current density is now: %f Changing...",GetPlayerFogDensity(playerid));
  362.     SendClientMessage(playerid,0x00FF00FF,str2);
  363.    
  364.     SetPlayerFogDensity(playerid,density);
  365.     new str[128];
  366.     format(str,128,"Your new density is now: %f",density);
  367.     SendClientMessage(playerid,0x00FF00FF,str);
  368.    
  369.     return 1;
  370. }
  371.  
  372. dcmd_currentregion(playerid,params[])
  373. {
  374.     #pragma unused params
  375.    
  376.     new region=GetPlayerCurrentRegion(playerid);
  377.     new string[128];
  378.     format(string,128,"Your region is: %d",region);
  379.     SendClientMessage(playerid,0x00FF00FF,string);
  380.    
  381.     return 1;
  382. }
  383.  
  384.  
  385. dcmd_sfxvolume(playerid,params[])
  386. {
  387.     new Float:volume;
  388.     if(sscanf(params,"f",volume)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /sfxvolume value");
  389.     if(volume<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  390.    
  391.     new str2[128];
  392.     format(str2,128,"Your current volume is now: %f Changing...",GetPlayerSFXVolume(playerid));
  393.     SendClientMessage(playerid,0x00FF00FF,str2);
  394.    
  395.     SetPlayerSFXVolume(playerid,volume);
  396.     new str[128];
  397.     format(str,128,"Your new volume is now: %f",volume);
  398.     SendClientMessage(playerid,0x00FF00FF,str);
  399.    
  400.     return 1;
  401. }
  402.  
  403. dcmd_radiovolume(playerid,params[])
  404. {
  405.     new Float:volume;
  406.     if(sscanf(params,"f",volume)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /radiovolume value");
  407.     if(volume<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  408.    
  409.     new str2[128];
  410.     format(str2,128,"Your current volume is now: %f Changing...",GetPlayerRadioVolume(playerid));
  411.     SendClientMessage(playerid,0x00FF00FF,str2);
  412.    
  413.     SetPlayerRadioVolume(playerid,volume);
  414.     new str[128];
  415.     format(str,128,"Your new volume is now: %f",volume);
  416.     SendClientMessage(playerid,0x00FF00FF,str);
  417.    
  418.     return 1;
  419. }
  420.  
  421. dcmd_strange2deffect(playerid,params[])
  422. {
  423.     new x;
  424.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /strange2deffect 0/1");
  425.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /strange2deffect 0/1");
  426.     new str[128];
  427.     format(str,128,"Your current strange2deffect-state: %d Changing...",GetPlayerStrage2DEffectState(playerid));
  428.     SendClientMessage(playerid,0x00FF00FF,str);
  429.     TogglePlayerStrange2DEffect(playerid,x==1?true:false);
  430.     format(str,128,"Successfully changed your strange2deffect-state to %d!",x);
  431.     SendClientMessage(playerid,0xFF00FFFF,str);
  432.    
  433.     return 1;
  434. }
  435.  
  436. dcmd_getradiostation(playerid,params[])
  437. {
  438.     #pragma unused params
  439.    
  440.     new station=GetPlayerRadioStation(playerid);
  441.     new string[128];
  442.     format(string,128,"Your radiostation is: %d",station);
  443.     SendClientMessage(playerid,0x00FF00FF,string);
  444.    
  445.     return 1;
  446. }
  447.  
  448. dcmd_enterexitvisibility(playerid,params[])
  449. {
  450.     new x;
  451.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /enterexitvisibility 0/1");
  452.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /enterexitvisibility 0/1");
  453.     new str[128];
  454.     format(str,128,"Your current enterexitvisibility-state: %d Changing...",GetPlayerEnterExitVisState(playerid));
  455.     SendClientMessage(playerid,0x00FF00FF,str);
  456.     TogglePlayerEnterExitVisibility(playerid,x==1?true:false);
  457.     format(str,128,"Successfully changed your enterexitvisibility-state to %d!",x);
  458.     SendClientMessage(playerid,0xFF00FFFF,str);
  459.    
  460.     return 1;
  461. }
  462.  
  463.  
  464. dcmd_greenlights(playerid,params[])
  465. {
  466.     new x;
  467.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /greenlights 0/1");
  468.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /greenlights 0/1");
  469.     new str[128];
  470.     format(str,128,"Your current greenlights-state: %d Changing...",GetPlayerGreenLightsState(playerid));
  471.     SendClientMessage(playerid,0x00FF00FF,str);
  472.     TogglePlayerGreenLights(playerid,x==1?true:false);
  473.     format(str,128,"Successfully changed your greenlights-state to %d!",x);
  474.     SendClientMessage(playerid,0xFF00FFFF,str);
  475.    
  476.     return 1;
  477. }
  478.  
  479.  
  480. dcmd_infoxygen(playerid,params[])
  481. {
  482.     new x;
  483.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /infoxygen 0/1");
  484.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /infoxygen 0/1");
  485.     new str[128];
  486.     format(str,128,"Your current infoxygen-state: %d Changing...", GetPlayerInfOxygenState(playerid));
  487.     SendClientMessage(playerid,0x00FF00FF,str);
  488.     TogglePlayerInfOxygen(playerid,x==1?true:false);
  489.     format(str,128,"Successfully changed your infoxygen-state to %d!",x);
  490.     SendClientMessage(playerid,0xFF00FFFF,str);
  491.    
  492.     return 1;
  493. }
  494.  
  495. dcmd_setoxygen(playerid,params[])
  496. {
  497.     new Float:height;
  498.     if(sscanf(params,"f",height)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /setoxygen value");
  499.     if(height<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  500.    
  501.     new str2[128];
  502.     format(str2,128,"Your current oxygen is now: %f Changing...",GetPlayerOxygen(playerid));
  503.     SendClientMessage(playerid,0x00FF00FF,str2);
  504.    
  505.     SetPlayerOxygen(playerid,height);
  506.     new str[128];
  507.     format(str,128,"Your new oxygen is now: %f",height);
  508.     SendClientMessage(playerid,0x00FF00FF,str);
  509.    
  510.     return 1;
  511. }
  512.  
  513. dcmd_wheelsonly(playerid,params[])
  514. {
  515.     new x;
  516.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /wheelsonly 0/1");
  517.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /wheelsonly 0/1");
  518.     new str[128];
  519.     format(str,128,"Your current wheelsonly-state: %d Changing...",GetPlayerWheelsState(playerid));
  520.     SendClientMessage(playerid,0x00FF00FF,str);
  521.     TogglePlayerWheelsOnly(playerid,x==1?true:false);
  522.     format(str,128,"Successfully changed your wheelsonly-state to %d!",x);
  523.     SendClientMessage(playerid,0xFF00FFFF,str);
  524.    
  525.     return 1;
  526. }
  527.  
  528. dcmd_timefliesby(playerid,params[])
  529. {
  530.     new x;
  531.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /timefliesby 0/1");
  532.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /timefliesby 0/1");
  533.     new str[128];
  534.     format(str,128,"Your current timefliesby-state: %d Changing...",GetPlayerTimeFliesByState(playerid));
  535.     SendClientMessage(playerid,0x00FF00FF,str);
  536.     TogglePlayerTimeFliesBy(playerid,x==1?true:false);
  537.     format(str,128,"Successfully changed your timefliesby-state to %d!",x);
  538.     SendClientMessage(playerid,0xFF00FFFF,str);
  539.    
  540.     return 1;
  541. }
  542.  
  543. dcmd_greyradar(playerid,params[])
  544. {
  545.     new x;
  546.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /greyradar 0/1");
  547.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /greyradar 0/1");
  548.     new str[128];
  549.     format(str,128,"Your current greyradar-state: %d Changing...",GetPlayerGreyRadarState(playerid));
  550.     SendClientMessage(playerid,0x00FF00FF,str);
  551.     TogglePlayerGreyRadar(playerid,x==1?true:false);
  552.     format(str,128,"Successfully changed your greyradar-state to %d!",x);
  553.     SendClientMessage(playerid,0xFF00FFFF,str);
  554.    
  555.     return 1;
  556. }
  557.  
  558. dcmd_gravity(playerid,params[])
  559. {
  560.     new Float:height;
  561.     if(sscanf(params,"f",height)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /gravity value");
  562.     if(height<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  563.    
  564.     new str2[128];
  565.     format(str2,128,"Your current gravity is now: %f Changing...",GetPlayerGravity(playerid));
  566.     SendClientMessage(playerid,0x00FF00FF,str2);
  567.    
  568.     SetPlayerGravity(playerid,height);
  569.     new str[128];
  570.     format(str,128,"Your new gravity is now: %f",height);
  571.     SendClientMessage(playerid,0x00FF00FF,str);
  572.    
  573.     return 1;
  574. }
  575.  
  576. dcmd_thermalvision(playerid,params[])
  577. {
  578.     new x;
  579.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /thermalvision 0/1");
  580.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /thermalvision 0/1");
  581.     new str[128];
  582.     format(str,128,"Your current thermalvision-state: %d Changing...",GetPlayerTVState(playerid));
  583.     SendClientMessage(playerid,0x00FF00FF,str);
  584.     TogglePlayerThermalVision(playerid,x==1?true:false);
  585.     format(str,128,"Successfully changed your thermalvision-state to %d!",x);
  586.     SendClientMessage(playerid,0xFF00FFFF,str);
  587.    
  588.     return 1;
  589. }
  590.  
  591. dcmd_nightvision(playerid,params[])
  592. {
  593.     new x;
  594.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /nightvision 0/1");
  595.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /nightvision 0/1");
  596.     new str[128];
  597.     format(str,128,"Your current nightvision-state: %d Changing...",GetPlayerNVState(playerid));
  598.     SendClientMessage(playerid,0x00FF00FF,str);
  599.     TogglePlayerNightVision(playerid,x==1?true:false);
  600.     format(str,128,"Successfully changed your nightvision-state to %d!",x);
  601.     SendClientMessage(playerid,0xFF00FFFF,str);
  602.    
  603.     return 1;
  604. }
  605.  
  606. dcmd_winddensity(playerid,params[])
  607. {
  608.     new Float:height;
  609.     if(sscanf(params,"f",height)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /winddensity value");
  610.     if(height<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  611.    
  612.     new str2[128];
  613.     format(str2,128,"Your current winddensity is now: %f Changing...",GetPlayerWindDensity(playerid));
  614.     SendClientMessage(playerid,0x00FF00FF,str2);
  615.    
  616.     SetPlayerWindDensity(playerid,height);
  617.     new str[128];
  618.     format(str,128,"Your new winddensity is now: %f",height);
  619.     SendClientMessage(playerid,0x00FF00FF,str);
  620.    
  621.     return 1;
  622. }
  623.  
  624. dcmd_waveheight(playerid,params[])
  625. {
  626.     new Float:height;
  627.     if(sscanf(params,"f",height)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /waveheight value");
  628.     if(height<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  629.    
  630.     new str2[128];
  631.     format(str2,128,"Your current waveheight is now: %f Changing...",GetPlayerWaveHeight(playerid));
  632.     SendClientMessage(playerid,0x00FF00FF,str2);
  633.    
  634.     SetPlayerWaveHeight(playerid,height);
  635.     new str[128];
  636.     format(str,128,"Your new waveheight is now: %f",height);
  637.     SendClientMessage(playerid,0x00FF00FF,str);
  638.    
  639.     return 1;
  640. }
  641.  
  642. dcmd_fireproof(playerid,params[])
  643. {
  644.     new x;
  645.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /fireproof 0/1");
  646.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /fireproof 0/1");
  647.     new str[128];
  648.     format(str,128,"Your current fireproof-state: %d Changing...",GetPlayerFireproofState(playerid));
  649.     SendClientMessage(playerid,0x00FF00FF,str);
  650.     TogglePlayerFireproof(playerid,x==1?true:false);
  651.     format(str,128,"Successfully changed your fireproof-state to %d!",x);
  652.     SendClientMessage(playerid,0xFF00FFFF,str);
  653.    
  654.     return 1;
  655. }
  656.  
  657. dcmd_pickupsize(playerid,params[])
  658. {
  659.     new Float:size;
  660.     if(sscanf(params,"f",size)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /pickupsize value");
  661.     if(size<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  662.    
  663.     new str2[128];
  664.     format(str2,128,"Your current pickupsize is now: %f Changing...",GetPlayerPickupSize(playerid));
  665.     SendClientMessage(playerid,0x00FF00FF,str2);
  666.    
  667.     SetPlayerPickupSize(playerid,size);
  668.     new str[128];
  669.     format(str,128,"Your new pickupsize is now: %f",size);
  670.     SendClientMessage(playerid,0x00FF00FF,str);
  671.    
  672.     return 1;
  673. }
  674.  
  675. dcmd_getres(playerid,params[])
  676. {
  677.     #pragma unused params
  678.    
  679.     new width, height;
  680.     GetPlayerResolution(playerid,width,height);
  681.     new string[128];
  682.     format(string,128,"Your resolution is: %d x %d",width,height);
  683.     SendClientMessage(playerid,0x00FF00FF,string);
  684.    
  685.     return 1;
  686. }
  687.  
  688. dcmd_huddemo(playerid,params[])
  689. {
  690.     #pragma unused params
  691.    
  692.     new str[128];
  693.     format(str,128,"Moneycolor: %x Healthcolor: %x WantedColor: %x Radiocolor: %x Healthbar: %d",HUD_GetPlayerMoneyColor(playerid),HUD_GetPlayerHealthColor(playerid),HUD_GetPlayerWantedColor(playerid),HUD_GetPlayerRadioColor(playerid),GetPlayerHealthBarBorderState(playerid));
  694.     SendClientMessage(playerid,0x00FF00FF,str);
  695.     HUD_SetPlayerMoneyColor(playerid,0x00FFFFFF);
  696.     HUD_SetPlayerHealthColor(playerid,0x00FF00FF);
  697.     HUD_SetPlayerWantedColor(playerid,0xFFFF00FF);
  698.     HUD_SetPlayerRadioColor(playerid,0xFF0000FF);
  699.     SetPlayerWantedLevel(playerid,5);
  700.     //TogglePlayerHealthBarBorder(playerid,false);    Results in crashes at the moment
  701.     return 1;
  702. }
  703.  
  704. dcmd_hudinfo(playerid,params[])
  705. {
  706.     #pragma unused params
  707.    
  708.     new _state=GetPlayerHUDState(playerid);
  709.     new str[128];
  710.     format(str,128,"Your HUD-State is: %d",_state);
  711.     SendClientMessage(playerid,0x00FF00FF,str);
  712.    
  713.     return 1;
  714. }
  715.  
  716. dcmd_togglehud(playerid,params[])
  717. {
  718.     new _state;
  719.     if(sscanf(params,"d",_state)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /togglehud 1/0");
  720.     if(_state>=2 || _state < 0) return SendClientMessage(playerid,0x00FF00FF,"Usage: /togglehud 1/0");
  721.    
  722.     TogglePlayerHUD(playerid,_state==1?true:false);
  723.     SendClientMessage(playerid,0x0000FFFF,"Toggled your HUD successfully");
  724.    
  725.     return 1;
  726. }
  727.  
  728. dcmd_aircraftheight(playerid,params[])
  729. {
  730.     new Float:height;
  731.     if(sscanf(params,"f",height)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /setaheight value");
  732.     if(height<0) return SendClientMessage(playerid,0x00FF00FF,"Use a higher value...");
  733.    
  734.     new str2[128];
  735.     format(str2,128,"Your current max aircraft height is now: %f Changing...",GetPlayerMaxAircraftHeight(playerid));
  736.     SendClientMessage(playerid,0x00FF00FF,str2);
  737.    
  738.     SetPlayerMaxAircraftHeight(playerid,height);
  739.     new str[128];
  740.     format(str,128,"Your new max aircraft height is now: %f",height);
  741.     SendClientMessage(playerid,0x00FF00FF,str);
  742.    
  743.     return 1;
  744. }
  745.  
  746. dcmd_vcameramode(playerid,params[])
  747. {
  748.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0x00FF00FF,"You must be in a vehicle to use this command!");
  749.     new mode;
  750.     if(sscanf(params,"d",mode)) return SendClientMessage(playerid,0x00FF00FF,"Usage: /vcameramode 0-5");
  751.     new str[128];
  752.     format(str,128,"Your current cameramode is: %d Changing...",GetPlayerVehicleCameraMode(playerid));
  753.     SendClientMessage(playerid,0x00FF00FF,str);
  754.     SetPlayerVehicleCameraMode(playerid,mode);
  755.     format(str,128,"Successfully changed mode to: %d",mode);
  756.     SendClientMessage(playerid,0x00FF00FF,str);
  757.    
  758.     return 1;
  759. }
  760.  
  761. dcmd_infiniterun(playerid,params[])
  762. {
  763.     new x;
  764.     if(sscanf(params,"d",x)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /infiniterun 0/1");
  765.     if(x>1 || x<0) return SendClientMessage(playerid,0xFF0000FF,"Usage: /infiniterun 0/1");
  766.     new str[128];
  767.     format(str,128,"Your current infinite-run-state: %d Changing...",GetPlayerInfiniteRunState(playerid));
  768.     SendClientMessage(playerid,0x00FF00FF,str);
  769.     TogglePlayerInfiniteRun(playerid,x==1?true:false);
  770.     format(str,128,"Successfully changed your infinite-run-state to %d!",x);
  771.     SendClientMessage(playerid,0xFF00FFFF,str);
  772.    
  773.     return 1;
  774. }
  775.  
  776. dcmd_hydradelay(playerid,params[])
  777. {
  778.     new delay;
  779.     if(sscanf(params,"d",delay)) return SendClientMessage(playerid,0xFF0000FF,"Usage: /hydradelay <amount>");
  780.     new olddelay;
  781.     olddelay=GetHydraRocketDelay();
  782.     new str[128];
  783.     format(str,128,"The old hydra rocket delay was %d ms. Changing...",olddelay);
  784.     SendClientMessage(playerid,0xFF00FFFF,str);
  785.     SetHydraRocketDelay(delay);
  786.     format(str,128,"Successfully changed delay to %d ms!",delay);
  787.     SendClientMessage(playerid,0xFF00FFFF,str);
  788.    
  789.     return 1;
  790. }
  791.  
  792. stock sscanf(string[], format[], {Float,_}:...)
  793. {
  794.     #if defined isnull
  795.         if (isnull(string))
  796.     #else
  797.         if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  798.     #endif
  799.         {
  800.             return format[0];
  801.         }
  802.     #pragma tabsize 4
  803.     new
  804.         formatPos = 0,
  805.         stringPos = 0,
  806.         paramPos = 2,
  807.         paramCount = numargs(),
  808.         delim = ' ';
  809.     while (string[stringPos] && string[stringPos] <= ' ')
  810.     {
  811.         stringPos++;
  812.     }
  813.     while (paramPos < paramCount && string[stringPos])
  814.     {
  815.         switch (format[formatPos++])
  816.         {
  817.             case '\0':
  818.             {
  819.                 return 0;
  820.             }
  821.             case 'i', 'd':
  822.             {
  823.                 new
  824.                     neg = 1,
  825.                     num = 0,
  826.                     ch = string[stringPos];
  827.                 if (ch == '-')
  828.                 {
  829.                     neg = -1;
  830.                     ch = string[++stringPos];
  831.                 }
  832.                 do
  833.                 {
  834.                     stringPos++;
  835.                     if ('0' <= ch <= '9')
  836.                     {
  837.                         num = (num * 10) + (ch - '0');
  838.                     }
  839.                     else
  840.                     {
  841.                         return -1;
  842.                     }
  843.                 }
  844.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  845.                 setarg(paramPos, 0, num * neg);
  846.             }
  847.             case 'h', 'x':
  848.             {
  849.                 new
  850.                     num = 0,
  851.                     ch = string[stringPos];
  852.                 do
  853.                 {
  854.                     stringPos++;
  855.                     switch (ch)
  856.                     {
  857.                         case 'x', 'X':
  858.                         {
  859.                             num = 0;
  860.                             continue;
  861.                         }
  862.                         case '0' .. '9':
  863.                         {
  864.                             num = (num << 4) | (ch - '0');
  865.                         }
  866.                         case 'a' .. 'f':
  867.                         {
  868.                             num = (num << 4) | (ch - ('a' - 10));
  869.                         }
  870.                         case 'A' .. 'F':
  871.                         {
  872.                             num = (num << 4) | (ch - ('A' - 10));
  873.                         }
  874.                         default:
  875.                         {
  876.                             return -1;
  877.                         }
  878.                     }
  879.                 }
  880.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  881.                 setarg(paramPos, 0, num);
  882.             }
  883.             case 'c':
  884.             {
  885.                 setarg(paramPos, 0, string[stringPos++]);
  886.             }
  887.             case 'f':
  888.             {
  889.  
  890.                 new changestr[16], changepos = 0, strpos = stringPos;
  891.                 while(changepos < 16 && string[strpos] && string[strpos] != delim)
  892.                 {
  893.                     changestr[changepos++] = string[strpos++];
  894.                     }
  895.                 changestr[changepos] = '\0';
  896.                 setarg(paramPos,0,_:floatstr(changestr));
  897.             }
  898.             case 'p':
  899.             {
  900.                 delim = format[formatPos++];
  901.                 continue;
  902.             }
  903.             case '\'':
  904.             {
  905.                 new
  906.                     end = formatPos - 1,
  907.                     ch;
  908.                 while ((ch = format[++end]) && ch != '\'') {}
  909.                 if (!ch)
  910.                 {
  911.                     return -1;
  912.                 }
  913.                 format[end] = '\0';
  914.                 if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  915.                 {
  916.                     if (format[end + 1])
  917.                     {
  918.                         return -1;
  919.                     }
  920.                     return 0;
  921.                 }
  922.                 format[end] = '\'';
  923.                 stringPos = ch + (end - formatPos);
  924.                 formatPos = end + 1;
  925.             }
  926.             case 'u':
  927.             {
  928.                 new
  929.                     end = stringPos - 1,
  930.                     id = 0,
  931.                     bool:num = true,
  932.                     ch;
  933.                 while ((ch = string[++end]) && ch != delim)
  934.                 {
  935.                     if (num)
  936.                     {
  937.                         if ('0' <= ch <= '9')
  938.                         {
  939.                             id = (id * 10) + (ch - '0');
  940.                         }
  941.                         else
  942.                         {
  943.                             num = false;
  944.                         }
  945.                     }
  946.                 }
  947.                 if (num && IsPlayerConnected(id))
  948.                 {
  949.                     setarg(paramPos, 0, id);
  950.                 }
  951.                 else
  952.                 {
  953.                     #if !defined foreach
  954.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  955.                         #define __SSCANF_FOREACH__
  956.                     #endif
  957.                     string[end] = '\0';
  958.                     num = false;
  959.                     new
  960.                         name[MAX_PLAYER_NAME];
  961.                     id = end - stringPos;
  962.                     foreach (Player, playerid)
  963.                     {
  964.                         GetPlayerName(playerid, name, sizeof (name));
  965.                         if (!strcmp(name, string[stringPos], true, id))
  966.                         {
  967.                             setarg(paramPos, 0, playerid);
  968.                             num = true;
  969.                             break;
  970.                         }
  971.                     }
  972.                     if (!num)
  973.                     {
  974.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  975.                     }
  976.                     string[end] = ch;
  977.                     #if defined __SSCANF_FOREACH__
  978.                         #undef foreach
  979.                         #undef __SSCANF_FOREACH__
  980.                     #endif
  981.                 }
  982.                 stringPos = end;
  983.             }
  984.             case 's', 'z':
  985.             {
  986.                 new
  987.                     i = 0,
  988.                     ch;
  989.                 if (format[formatPos])
  990.                 {
  991.                     while ((ch = string[stringPos++]) && ch != delim)
  992.                     {
  993.                         setarg(paramPos, i++, ch);
  994.                     }
  995.                     if (!i)
  996.                     {
  997.                         return -1;
  998.                     }
  999.                 }
  1000.                 else
  1001.                 {
  1002.                     while ((ch = string[stringPos++]))
  1003.                     {
  1004.                         setarg(paramPos, i++, ch);
  1005.                     }
  1006.                 }
  1007.                 stringPos--;
  1008.                 setarg(paramPos, i, '\0');
  1009.             }
  1010.             default:
  1011.             {
  1012.                 continue;
  1013.             }
  1014.         }
  1015.         while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  1016.         {
  1017.             stringPos++;
  1018.         }
  1019.         while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  1020.         {
  1021.             stringPos++;
  1022.         }
  1023.         paramPos++;
  1024.     }
  1025.     do
  1026.     {
  1027.         if ((delim = format[formatPos++]) > ' ')
  1028.         {
  1029.             if (delim == '\'')
  1030.             {
  1031.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  1032.             }
  1033.             else if (delim != 'z')
  1034.             {
  1035.                 return delim;
  1036.             }
  1037.         }
  1038.     }
  1039.     while (delim > ' ');
  1040.     return 0;
  1041. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement