Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 19.67 KB | None | 0 0
  1. //-------------------------------------------------
  2. //
  3. //  SA-MP 0.3 commands for testing
  4. //  Don't load this script on a public server
  5. //  it could break your existing scripts.
  6. //  Kye 2009-2010
  7. //
  8. //-------------------------------------------------
  9.  
  10. #pragma tabsize 0
  11.  
  12. #include <a_samp>
  13. #include <core>
  14. #include <float>
  15.  
  16. #include "../include/gl_common.inc"
  17.  
  18. new Text3D:textid;
  19. new PlayerText3D:playertextid;
  20.  
  21. new savanna=0;
  22. new blade=0;
  23.  
  24. //-------------------------------------------------
  25.  
  26. public OnPlayerCommandText(playerid, cmdtext[])
  27. {
  28.     new cmd[256];
  29.     new idx;
  30.     cmd = strtok(cmdtext, idx);
  31.    
  32.     if(!IsPlayerAdmin(playerid)) return 0; // this is an admin only script
  33.  
  34.     if(strcmp(cmd, "/player2v", true) == 0)
  35.     {
  36.         new tmp[256];
  37.         new tmp2[256];
  38.         tmp = strtok(cmdtext,idx);
  39.         tmp2 = strtok(cmdtext,idx);
  40.         PutPlayerInVehicle(strval(tmp),strval(tmp2),0);
  41.         return 1;
  42.     }
  43.  
  44.     if(strcmp( cmd, "/vehicle", true ) == 0 )
  45.     {
  46.         new Float:X, Float:Y, Float:Z;
  47.         new tmp[256];
  48.         new created_vehicle_id;
  49.         tmp = strtok( cmdtext, idx );
  50.  
  51.         GetPlayerPos( playerid, X, Y, Z );
  52.  
  53.         created_vehicle_id = CreateVehicle( strval(tmp), X+2, Y+2, Z, 0, 0, 0, -1 );
  54.  
  55.         new msg[256];
  56.         format(msg,256,"Created vehicle: %d",created_vehicle_id);
  57.         SendClientMessage(playerid,0xAAAAAAAA,msg);
  58.  
  59.         return 1;
  60.     }
  61.    
  62.  
  63.     if(strcmp( cmd, "/weap", true ) == 0 )
  64.     {
  65.         new tmp[256];
  66.         tmp = strtok( cmdtext, idx );
  67.         GivePlayerWeapon(playerid, strval(tmp), 9999);
  68.         return 1;
  69.     }
  70.  
  71.     if(strcmp( cmd, "/dvehicle", true ) == 0 )
  72.     {
  73.         new tmp[256];
  74.         tmp = strtok( cmdtext, idx );
  75.  
  76.         DestroyVehicle( strval(tmp) );
  77.  
  78.         new msg[256];
  79.         format(msg,256,"Destroyed vehicle: %d",strval(tmp));
  80.         SendClientMessage(playerid,0xAAAAAAAA,msg);
  81.  
  82.         return 1;
  83.     }
  84.  
  85.     if ( strcmp( cmd, "/goto", true ) == 0 )
  86.     {
  87.         new tmp[256];
  88.  
  89.         tmp = strtok( cmdtext, idx );
  90.  
  91.         if ( !strlen( tmp ) ) { return 1; }
  92.  
  93.         new Float:X, Float:Y, Float:Z;
  94.  
  95.         if ( GetPlayerVehicleID( playerid ) )
  96.         {
  97.             GetPlayerPos( strval(tmp), X, Y, Z );
  98.             SetVehiclePos( GetPlayerVehicleID(playerid), X+2, Y+2, Z );
  99.         } else {
  100.             GetPlayerPos( strval(tmp), X, Y, Z );
  101.             SetPlayerPos( playerid, X+2, Y+2, Z );
  102.         }
  103.  
  104.         return 1;
  105.     }
  106.  
  107.     if ( strcmp( cmd, "/bring", true ) == 0 )
  108.     {
  109.         new tmp[256];
  110.  
  111.         tmp = strtok( cmdtext, idx );
  112.  
  113.         if ( !strlen( tmp ) ) { return 1; }
  114.  
  115.         new Float:X, Float:Y, Float:Z;
  116.  
  117.         if ( GetPlayerVehicleID( strval(tmp) ) )
  118.         {
  119.             GetPlayerPos( playerid, X, Y, Z );
  120.             SetVehiclePos( GetPlayerVehicleID(strval(tmp)), X+2, Y+2, Z );
  121.         } else {
  122.             GetPlayerPos( playerid, X, Y, Z );
  123.             SetPlayerPos( strval(tmp), X+2, Y+2, Z );
  124.         }
  125.  
  126.         return 1;
  127.     }
  128.  
  129.     if (strcmp(cmd, "/me2v", true) == 0)
  130.     {
  131.         new tmp[256];
  132.         tmp = strtok(cmdtext,idx);
  133.         PutPlayerInVehicle(playerid,strval(tmp),0);
  134.         return 1;
  135.     }
  136.  
  137.     if (strcmp(cmd, "/tpzero", true) == 0)
  138.     {
  139.         new vid = GetPlayerVehicleID(playerid);
  140.         if(vid != INVALID_VEHICLE_ID) {
  141.             SetVehiclePos(vid,0.0,0.0,10.0);
  142.         }
  143.         return 1;
  144.     }
  145.  
  146.     if(strcmp(cmd, "/myvw", true) == 0)
  147.     {
  148.         new tmp[256];
  149.         tmp = strtok(cmdtext,idx);
  150.         SetPlayerVirtualWorld(playerid,strval(tmp));
  151.         return 1;
  152.     }
  153.  
  154.     if(strcmp( cmd, "/fight", true ) == 0)
  155.     {
  156.         new tmp[256];
  157.         new name[128];
  158.  
  159.         tmp = strtok(cmdtext, idx);
  160.         new style = strval(tmp);
  161.         SetPlayerFightingStyle(playerid, style);
  162.         GetPlayerName(playerid,name,128);
  163.         format(tmp, 256, "(%s) fighting style changed to %d", name, style);
  164.         SendClientMessageToAll(0x4499CCFF,tmp);
  165.         return 1;
  166.     }
  167.  
  168.     if(strcmp( cmd, "/myfacingangle", true ) == 0)
  169.     {
  170.         new Float:angle;
  171.         new tmp[256];
  172.         GetPlayerFacingAngle(playerid,angle);
  173.         format(tmp, 256, "Facing: %f",angle);
  174.         SendClientMessage(playerid,0x4499CCFF,tmp);
  175.         return 1;
  176.     }
  177.  
  178.     if(strcmp(cmd, "/crime", true) == 0) {
  179.         new tmp[256];
  180.         new tmp2[256];
  181.         tmp = strtok(cmdtext,idx);
  182.         tmp2 = strtok(cmdtext,idx);
  183.         PlayCrimeReportForPlayer(playerid, strval(tmp), strval(tmp2));
  184.         return 1;
  185.     }
  186.  
  187.     if(strcmp(cmd, "/repairmycar", true) == 0) {
  188.         new vid = GetPlayerVehicleID(playerid);
  189.         if (vid) RepairVehicle(vid);
  190.         return 1;
  191.     }
  192.  
  193.     if(strcmp(cmd, "/bv", true) == 0)
  194.     {
  195.         new tmp[128], iCar, string[128];
  196.  
  197.         tmp = strtok(cmdtext, idx);
  198.  
  199.         if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "DO: /bv [vehicleid]");
  200.  
  201.         iCar = strval(tmp);
  202.  
  203.         new File:file = fopen("badvehicles.txt",io_append);
  204.         format(string,sizeof(string),"%d\r\n", iCar);
  205.         fwrite(file,string);
  206.         fclose(file);
  207.  
  208.         GetPlayerName(playerid,tmp,128);
  209.         format(string, sizeof(string), "Veh ID %i marked as bad vehicle by %s", iCar, tmp);
  210.         SendClientMessageToAll(0xFFFFFFFF, string);
  211.         return 1;
  212.     }
  213.  
  214.     if(strcmp(cmd, "/weapskill", true) == 0) {
  215.         new tmp[256];
  216.         new tmp2[256];
  217.         tmp = strtok(cmdtext,idx);
  218.         tmp2 = strtok(cmdtext,idx);
  219.         SetPlayerSkillLevel(playerid, strval(tmp), strval(tmp2));
  220.         return 1;
  221.     }
  222.  
  223.     if(strcmp(cmd, "/labelonvehicle", true) == 0) {
  224.         new vid = GetPlayerVehicleID(playerid);
  225.         textid = Create3DTextLabel("My Vehicle\nOwned by me\nNo Fuel\nRunning on vapour",0xEEEEEE50,0.0,0.0,0.0,15.0,0);
  226.         Attach3DTextLabelToVehicle(textid, vid, 0.0, -1.6, -0.35); // tail of the vehicle toward the ground
  227.         return 1;
  228.     }
  229.  
  230.     if(strcmp(cmd, "/labelonplayer", true) == 0) {
  231.         new tmp[256];
  232.         tmp = strtok(cmdtext,idx);
  233.         textid = Create3DTextLabel("Player Label",0xFFFFFFFF,0.0,0.0,0.0,40.0,0);
  234.         Attach3DTextLabelToPlayer(textid, strval(tmp), 0.0, 0.0, -0.4);
  235.         return 1;
  236.     }
  237.  
  238.     if(strcmp(cmd, "/dellabel", true) == 0) {
  239.         Delete3DTextLabel(textid);
  240.         return 1;
  241.     }
  242.  
  243.     if(strcmp(cmd, "/playerlabel", true) == 0) {
  244.         new Float:X, Float:Y, Float:Z;
  245.         GetPlayerPos( playerid, X, Y, Z );
  246.         playertextid = CreatePlayer3DTextLabel(playerid,"Hello\nI'm at your position",0x008080FF,X,Y,Z,40.0);
  247.         SendClientMessage(playerid, 0xFFFFFFFF, "I created a player label at your position.");
  248.         return 1;
  249.     }
  250.  
  251.     if(strcmp(cmd, "/playerlabelveh", true) == 0) {
  252.         new vid = GetPlayerVehicleID(playerid);
  253.         playertextid = CreatePlayer3DTextLabel(playerid,"im in your vehicles\nand hiding behind the walls",0x008080FF,0.0,-1.6,-0.35,20.0,INVALID_PLAYER_ID,vid,1);
  254.         return 1;
  255.     }
  256.  
  257.     if(strcmp(cmd, "/playerlabelpl", true) == 0) {
  258.         new tmp[256];
  259.         tmp = strtok(cmdtext,idx);
  260.         playertextid = CreatePlayer3DTextLabel(playerid,"Hello Testing",0x008080FF,0.0,0.0,0.0,30.0,strval(tmp));
  261.         return 1;
  262.     }
  263.  
  264.     if(strcmp(cmd, "/delplayerlabel", true) == 0) {
  265.         DeletePlayer3DTextLabel(playerid, playertextid);
  266.         return 1;
  267.     }
  268.  
  269.     if(strcmp(cmd, "/updateplayerlabel", true) == 0) {
  270.         UpdatePlayer3DTextLabelText(playerid, playertextid, 0xFFFFFFFF, "");
  271.         return 1;
  272.     }
  273.  
  274.     if(strcmp(cmd, "/carmodtest", true) == 0) {
  275.         // spawns a couple of cars in Grove with mods applied
  276.         savanna = CreateVehicle(567,2509.1343,-1686.2330,13.2296,47.3679,16,16,10000);
  277.         AddVehicleComponent(savanna,1189); //Front Bumper
  278.         AddVehicleComponent(savanna,1187); //Rear Bumper
  279.         AddVehicleComponent(savanna,1129); //Exhaust
  280.         AddVehicleComponent(savanna,1102); //Left Side Skirt
  281.         AddVehicleComponent(savanna,1133); //Right Side Skirt
  282.         AddVehicleComponent(savanna,1078); //Wheels
  283.         AddVehicleComponent(savanna,1010); //Nitro 10x
  284.         AddVehicleComponent(savanna,1087); //Hydrolics
  285.  
  286.         blade = CreateVehicle(536,2509.8462,-1671.8666,13.1510,348.3512,16,16,10000);
  287.         AddVehicleComponent(blade,1182); //Front Bumper
  288.         AddVehicleComponent(blade,1184); //Rear Bumper
  289.         AddVehicleComponent(blade,1104); //Exhaust
  290.         AddVehicleComponent(blade,1108); //Left Side Skirt
  291.         AddVehicleComponent(blade,1107); //Right Side Skirt
  292.         AddVehicleComponent(blade,1078); //Wheels
  293.         AddVehicleComponent(blade,1010); //Nitro 10x
  294.         AddVehicleComponent(blade,1087); //Hydrolics
  295.         return 1;
  296.     }
  297.  
  298.     if(strcmp(cmd, "/addnitro", true) == 0) {
  299.         new vid = GetPlayerVehicleID(playerid);
  300.         AddVehicleComponent(vid, 1010);
  301.         return 1;
  302.     }
  303.  
  304.  
  305.     if(strcmp(cmd, "/remnitro", true) == 0) {
  306.         new vid = GetPlayerVehicleID(playerid);
  307.         RemoveVehicleComponent(vid, 1010);
  308.         return 1;
  309.     }
  310.  
  311.     if(strcmp(cmd, "/paintjob", true) == 0) {
  312.         new tmp[256];
  313.         tmp = strtok(cmdtext,idx);
  314.         new vid = GetPlayerVehicleID(playerid);
  315.         ChangeVehiclePaintjob(vid,strval(tmp));
  316.         return 1;
  317.     }
  318.  
  319.     if(strcmp(cmd, "/longtd", true) == 0) {
  320.         new st4[256];
  321.         new st5[256];
  322.         new st6[256];
  323.         new st7[1024];
  324.  
  325.         format(st4,sizeof(st4),"0123456789012345678901234567890123456789~n~012345678901234567890123456789~n~01234567890123456789~n~0123456789~n~0123456789012345678901234567890123456789~n~01234567890123456789~n~01234567890123456789~n~01234567890123456789~n~");
  326.         format(st5,sizeof(st5),"0123456789012345678901234567890123456789~n~012345678901234567890123456789~n~01234567890123456789~n~0123456789~n~0123456789012345678901234567890123456789~n~01234567890123456789~n~01234567890123456789~n~01234567890123456789~n~");
  327.         format(st6,sizeof(st6),"0123456789012345678901234567890123456789~n~012345678901234567890123456789~n~01234567890123456789~n~0123456789~n~0123456789012345678901234567890123456789~n~01234567890123456789~n~01234567890123456789~n~01234567890123456789");
  328.         format(st7,sizeof(st7),"%s %s %s~n~LEN(%d)",st4,st5,st6,strlen(st4)+strlen(st5)+strlen(st6));
  329.  
  330.         new Text:Stats = TextDrawCreate(10.0, 10.0, st7);
  331.         TextDrawTextSize(Stats, 400.0, 400.0);
  332.         TextDrawUseBox(Stats,0);
  333.         TextDrawBoxColor(Stats,0xFFFFFFFF);
  334.         TextDrawFont(Stats,1);
  335.         TextDrawLetterSize(Stats,0.5,0.5);
  336.         TextDrawShowForPlayer(playerid,Stats);
  337.         return 1;
  338.     }
  339.    
  340.     if(strcmp(cmd, "/testmsgbox", true) == 0) {
  341.         ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Welcome","Welcome to the SA-MP 0.3 server. This is test_cmds.pwn /testmsgbox\nHope it's useful to you.","OK","Cancel");
  342.         return 1;
  343.     }
  344.    
  345.     if(strcmp(cmd, "/testmsgbox2", true) == 0) {
  346.         ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Welcome","Welcome:\tInfo\nTest:\t\tTabulated\nLine:\t\tHello","OK","Cancel");
  347.         return 1;
  348.     }
  349.  
  350.     if(strcmp(cmd, "/testinputbox", true) == 0) {
  351.         new loginmsg[256+1];
  352.         new loginname[MAX_PLAYER_NAME+1];
  353.         GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
  354.         format(loginmsg,256,"Welcome to the SA-MP 0.3 server.\n\nAccount:\t%s\n\nPlease enter your password below:",loginname);
  355.         ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login to SA-MP",loginmsg,"Login","Cancel");
  356.         return 1;
  357.     }
  358.    
  359.     if(strcmp(cmd, "/testlistbox", true) == 0) {
  360.         new listitems[] = "1\tDeagle\n2\tSawnoff\n3\tPistol\n4\tGrenade\n5\tParachute\n6\tLorikeet";
  361.         ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"List of weapons:",listitems,"Select","Cancel");
  362.         return 1;
  363.     }
  364.    
  365.     if(strcmp(cmd, "/testclosebox", true) == 0) {
  366.         ShowPlayerDialog(playerid,-1,0,"","","","");
  367.         return 1;
  368.     }
  369.  
  370.     if(strcmp(cmd, "/setfacingzero", true) == 0) {
  371.         SetPlayerFacingAngle(playerid, 0.0);
  372.         return 1;
  373.     }
  374.  
  375.     if(strcmp(cmd, "/detachtrailer", true) == 0) {
  376.         new vid = GetPlayerVehicleID(playerid);
  377.         DetachTrailerFromVehicle(vid);
  378.         return 1;
  379.     }
  380.    
  381.     if(strcmp(cmd, "/testformat", true) == 0) {
  382.         new strtest[256];
  383.         new File:f = fopen("test.txt",io_write);
  384.         format(strtest,256,"[chat] %d %s\r\n",24,"þÿÿþ");
  385.         SendClientMessage(playerid,0xFFFFFFFF,strtest);
  386.         fwrite(f,strtest);
  387.         format(strtest,256,"[chat] %d %s\r\n",34," þÿÿþ");
  388.         SendClientMessage(playerid,0xFFFFFFFF,strtest);
  389.         fwrite(f,strtest);
  390.         fclose(f);
  391.         return 1;
  392.     }
  393.  
  394.     if(strcmp(cmd, "/setskin", true) == 0) {
  395.         new tmp[256];
  396.         tmp = strtok(cmdtext,idx);
  397.         SetPlayerSkin(playerid,strval(tmp));
  398.         return 1;
  399.     }
  400.    
  401.     if(strcmp(cmd, "/setvars", true) == 0) {
  402.         SetPVarInt(playerid,"num_test",7001);
  403.         SetPVarString(playerid,"additional_tag","Hello World");
  404.         SetPVarFloat(playerid,"some_float",1001.0);
  405.         SendClientMessage(playerid,0xFFFFFFFF, "Vars set");
  406.         return 1;
  407.     }
  408.    
  409.     if(strcmp(cmd, "/modvars", true) == 0) {
  410.         SetPVarInt(playerid,"num_test",8001);
  411.         SetPVarString(playerid,"additional_tag","World Hello");
  412.         SetPVarFloat(playerid,"some_float",6901.0);
  413.         SendClientMessage(playerid,0xFFFFFFFF, "Vars modded");
  414.         return 1;
  415.     }
  416.    
  417.     if(strcmp(cmd, "/getvars", true) == 0) {
  418.    
  419.         new tst_IntRet;
  420.         new Float:tst_FloatRet;
  421.         new tst_StrRet[256];
  422.         new tst_DispStr[256];
  423.        
  424.         tst_IntRet = GetPVarInt(playerid,"num_test");
  425.         tst_FloatRet = GetPVarFloat(playerid,"some_float");
  426.         GetPVarString(playerid,"additional_tag",tst_StrRet,256);
  427.        
  428.         format(tst_DispStr,256,"num_test: %d some_float: %f additional_tag: %s",tst_IntRet,tst_FloatRet,tst_StrRet);
  429.         SendClientMessage(playerid,0xFFFFFFFF, tst_DispStr);
  430.        
  431.         return 1;
  432.     }
  433.    
  434.     if(strcmp(cmd, "/delvars", true) == 0) {
  435.         DeletePVar(playerid,"num_test");
  436.         DeletePVar(playerid,"additional_tag");
  437.         DeletePVar(playerid,"some_float");
  438.         SendClientMessage(playerid,0xFFFFFFFF, "Vars deleted");
  439.         return 1;
  440.     }
  441.  
  442.     if(strcmp(cmd, "/pvarlist", true) == 0) {
  443.         SendPVarListToPlayer(playerid);
  444.         return 1;
  445.     }
  446.    
  447.     if(strcmp(cmd, "/holdbeer",true) == 0) {
  448.         SetPlayerHoldingObject(playerid,1543,6,0.05,0.03,-0.3);
  449.         return 1;
  450.     }
  451.  
  452.     if(strcmp(cmd, "/stophold",true) == 0) {
  453.         StopPlayerHoldingObject(playerid);
  454.         return 1;
  455.     }
  456.    
  457.     if(strcmp(cmd, "/kill",true) == 0) {
  458.         SetPlayerHealth(playerid,0.0);
  459.         return 1;
  460.     }
  461.    
  462.     if(strcmp(cmd, "/kickallnpc",true) == 0) {
  463.         new p=0;
  464.         while(p!=MAX_PLAYERS) {
  465.             if(IsPlayerConnected(p) && IsPlayerNPC(p)) Kick(p);
  466.             p++;
  467.         }
  468.         return 1;
  469.     }
  470.  
  471.     return 0;
  472. }
  473.  
  474. //-------------------------------------------
  475. // Sends a list of all PVars to the player as
  476. // client messages.
  477.  
  478. SendPVarListToPlayer(playerid)
  479. {
  480.     new ubound = GetPVarsUpperIndex(playerid);
  481.     new x=0;
  482.     new name[40+1];
  483.     new line[128+1];
  484.    
  485.     SendClientMessage(playerid,0xF000F0F0, "---Player Vars List---");
  486.     while(x != ubound) {
  487.         if(GetPVarNameAtIndex(playerid,x,name,40)) {
  488.             if(Util_GetPVarEntryAsString(playerid,name,line,128)) {
  489.                  SendClientMessage(playerid,0xFFFFFFFF,line);
  490.             }
  491.         }
  492.         x++;
  493.     }
  494. }
  495.  
  496. //-------------------------------------------
  497. // return PVar entry as 'name'='value' string
  498.  
  499. stock Util_GetPVarEntryAsString(playerid, name[], ret[], len)
  500. {
  501.     new Float:fValue;
  502.     new iValue;
  503.     new szStrValue[1024+1]; // this might require greater size if you store large strings in PVars
  504.     new type;
  505.     ret[0] = EOS;
  506.    
  507.     type = GetPVarType(playerid, name);
  508.     if(type != PLAYER_VARTYPE_NONE) {
  509.         switch(type)
  510.         {
  511.             case PLAYER_VARTYPE_STRING:
  512.             {
  513.                 GetPVarString(playerid,name,szStrValue,1024);
  514.                 format(ret,len,"%s=%s",name,szStrValue);
  515.             }
  516.             case PLAYER_VARTYPE_INT:
  517.             {
  518.                 iValue = GetPVarInt(playerid,name);
  519.                 format(ret,len,"%s=%d",name,iValue);
  520.             }
  521.             case PLAYER_VARTYPE_FLOAT:
  522.             {
  523.                 fValue = GetPVarFloat(playerid,name);
  524.                 format(ret,len,"%s=%f",name,fValue);
  525.             }
  526.         }
  527.         return 1;
  528.     }
  529.     return 0;
  530. }
  531.  
  532. //-------------------------------------------
  533. // Fills the provided string with all the player's PVars
  534. // seperated by the specified 'delimiter'
  535.  
  536. stock Util_CreatePVarList(playerid, retstr[], len, delimiter[])
  537. {
  538.     if(!IsPlayerConnected(playerid)) return 0;
  539.    
  540.     new x=0;
  541.     new remaining_string=len;
  542.     new line[2048+1];
  543.     new name[40+1];
  544.     retstr[0] = EOS;
  545.  
  546.     new ubound = GetPVarsUpperIndex(playerid);
  547.    
  548.     while(x != ubound) {
  549.         if(GetPVarNameAtIndex(playerid,x,name,40)) {
  550.             if(Util_GetPVarEntryAsString(playerid,name,line,2048)) {
  551.                 // if there is enough space, concat this line to the return string
  552.                 if(remaining_string > (strlen(line) + strlen(delimiter))) {
  553.                     strcat(retstr,line);
  554.                     strcat(retstr,delimiter);
  555.                     remaining_string -= (strlen(line) + strlen(delimiter));
  556.                 }
  557.             }
  558.         }
  559.         x++;
  560.     }
  561.    
  562.     return 1;
  563. }
  564.  
  565. //-------------------------------------------
  566. // Test reapplying vehicle mods on respawn
  567.  
  568. public OnVehicleSpawn(vehicleid)
  569. {
  570.     if(vehicleid == savanna) {
  571.         AddVehicleComponent(savanna,1189); //Front Bumper
  572.         AddVehicleComponent(savanna,1187); //Rear Bumper
  573.         AddVehicleComponent(savanna,1129); //Exhaust
  574.         AddVehicleComponent(savanna,1102); //Left Side Skirt
  575.         AddVehicleComponent(savanna,1133); //Right Side Skirt
  576.         AddVehicleComponent(savanna,1078); //Wheels
  577.         AddVehicleComponent(savanna,1010); //Nitro 10x
  578.         AddVehicleComponent(savanna,1087); //Hydraulics
  579.     }
  580.     else if(vehicleid == blade) {
  581.         AddVehicleComponent(blade,1182); //Front Bumper
  582.         AddVehicleComponent(blade,1184); //Rear Bumper
  583.         AddVehicleComponent(blade,1104); //Exhaust
  584.         AddVehicleComponent(blade,1108); //Left Side Skirt
  585.         AddVehicleComponent(blade,1107); //Right Side Skirt
  586.         AddVehicleComponent(blade,1078); //Wheels
  587.         AddVehicleComponent(blade,1010); //Nitro 10x
  588.         AddVehicleComponent(blade,1087); //Hydraulics
  589.     }
  590. }
  591.  
  592. //-------------------------------------------
  593. // Example of handling dialog responses.
  594.  
  595. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  596. {
  597.     if(!IsPlayerAdmin(playerid)) return 0; // this is an admin only script
  598.    
  599.     if(dialogid == 0) { // Our example msgbox
  600.         if(response) {
  601.             SendClientMessage(playerid,0xFFFFFFFF,"You selected OK");
  602.         } else {
  603.             SendClientMessage(playerid,0xFFFFFFFF,"You selected Cancel");
  604.         }
  605.         return 1; // we processed this. no need for other filterscripts to process it.
  606.     }
  607.    
  608.     if(dialogid == 1) { // Our example inputbox
  609.         if(response) {
  610.             new message[256+1];
  611.             format(message, 256, "You replied: %s", inputtext);
  612.             SendClientMessage(playerid, 0xFFFFFFFF, message);
  613.         } else {
  614.             SendClientMessage(playerid, 0xFFFFFFFF, "You selected Cancel");
  615.         }
  616.         return 1; // we processed it.
  617.     }
  618.    
  619.     if(dialogid == 2) { // Our example listbox
  620.         if(response) {
  621.             new message[256+1];
  622.             if(listitem != 5) {
  623.                 format(message, 256, "You selected item %d:", listitem);
  624.                 SendClientMessage(playerid, 0xFFFFFFFF, message);
  625.                 SendClientMessage(playerid, 0xFFFFFFFF, inputtext);
  626.             } else {
  627.                 SendClientMessage(playerid, 0x5555FFFF, "A Lorikeet is NOT a weapon!");
  628.             }
  629.         } else {
  630.             SendClientMessage(playerid, 0xFFFFFFFF, "You selected Cancel");
  631.         }
  632.         return 1; // we processed it.
  633.     }
  634.    
  635.     return 0; // we didn't handle anything.
  636. }
  637.  
  638. //-------------------------------------------
  639. // Example of handling scoreboard click.
  640.  
  641. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  642. {
  643.     if(!IsPlayerAdmin(playerid)) return 0; // this is an admin only script
  644.    
  645.     new message[256+1];
  646.     format(message, 256, "You clicked on player %d", clickedplayerid);
  647.     SendClientMessage(playerid, 0xFFFFFFFF, message);
  648.     return 1;
  649. }
  650.  
  651. //-------------------------------------------
  652. /*
  653. public OnEnterExitModShop(playerid, enterexit, interiorid)
  654. {
  655.     new message[256+1];
  656.     if(enterexit) {
  657.         format(message, 256, "You entered modshop at interior %d", interiorid);
  658.         SendClientMessage(playerid, 0xFFFFFFFF, message);
  659.     } else {
  660.         format(message, 256, "You exited the modshop");
  661.         SendClientMessage(playerid, 0xFFFFFFFF, message);
  662.     }
  663.     return 1;
  664. }
  665. */
  666. //-------------------------------------------
  667.  
  668. public OnVehicleDamageStatusUpdate(vehicleid, playerid)
  669. {
  670.     new panel, doors, lights, tires;
  671.     new update_msg[128+1];
  672.    
  673.     if(!IsPlayerAdmin(playerid)) return 0;
  674.    
  675.     GetVehicleDamageStatus(vehicleid,panel,doors,lights,tires);
  676.     format(update_msg,128,"VehicleDamage[ID:%d PN:0x%x DR:0x%x LT:0x%x TR:0x%x]",vehicleid,panel,doors,lights,tires);
  677.     SendClientMessage(playerid,0xFFFFFFFF,update_msg);
  678.    
  679.     return 1;
  680. }
  681.  
  682. //-------------------------------------------
  683.  
  684. stock Float:AngleBetweenPoints(Float:fX1, Float:fY1, Float:fX2, Float:fY2)
  685. {
  686.     new Float:angle = atan2(fY1 - fY2, fX1 - fX2) * 180.0 / 3.14;
  687.     return angle;
  688. }
  689.  
  690. //-------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement