Advertisement
Guest User

Matrix Useful Function's [v1.1]

a guest
Jan 5th, 2011
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 16.30 KB | None | 0 0
  1.  
  2. #include <a_samp>
  3.  
  4. public
  5.     OnFilterScriptInit()                                                        //- executa os testes
  6. {
  7.     return 1;
  8. }
  9. stock
  10.     ClearString(string[])                                                       //- faz com que a string deixe strng limpa
  11.         return string[0] = '\0';
  12.  
  13. stock
  14.     SubChars(source[],ch,char2)                                                 //- Substitui todos caracters contidos em uma strng por outros
  15. {
  16.     for(new i; source[i] ; ++ i)
  17.         if(source[i] == ch)
  18.             source[i] = char2;
  19. }
  20.  
  21. stock
  22.     FindChar(source[],chars)                                                    //- Procura um caracter em uma strng
  23. {
  24.     for(new i;source[i];i++)
  25.         if(source[i] == chars)
  26.             return true;
  27.     return false;
  28. }
  29.  
  30. stock
  31.     RandomTwoValues(value1, value2)
  32.         return random(value2-value1)+value1;
  33.  
  34. stock
  35.     DeleteChar(string[],chars)                                                  //- Deleta todos Caracters de uma String
  36. {
  37.     for(new i = 0; string[i]; ++i)
  38.          if(string[i] == chars)
  39.             string[i] = string[i+1];
  40.     return true;
  41. }
  42.  
  43. stock
  44.     StringFind(String1[],text[])                                                //- Procura algum texto na string | funcao pronta retorna true
  45. {
  46.     if(String1[0] == EOS || String2[0] == EOS)
  47.         return false;
  48.     if(strfind(String1 ,text, true ) == 0 )
  49.         return true;
  50.     else  return false;
  51. }
  52.  
  53. stock
  54.     StringCompare(String1[],String2[])                                          //- Compara duas string se são iguais | funcao pronta retorna true
  55. {
  56.     if(String1[0] == EOS || String2[0] == EOS)
  57.         return false;
  58.     if(strcmp(String1 ,String2, true ) == 0 )
  59.         return true;
  60.     else  return false;
  61. }
  62.  
  63. stock
  64.     GetPlayersInInterior(interiorid)                                            //- Vê quantos players está no interior
  65. {
  66.     new
  67.         PlayersNoInterior
  68.     ;
  69.     for(new i = 0; i< MAX_PLAYERS; i++)
  70.     {
  71.         if(IsPlayerConnected(i)  && GetPlayerInterior(i)  == interiorid)
  72.             PlayersNoInterior++;
  73.     }
  74.     return PlayersNoInterior;
  75. }
  76.  
  77. stock
  78.     SetHealthRangeOfPlayer(playerid, Float:range, Float:health)                 //- Seta vida de Players próximos ao player
  79. {
  80.     static
  81.         Float:X,
  82.         Float:Y,
  83.         Float:Z
  84.     ;
  85.     GetPlayerPos(playerid,X,Y,Z);
  86.     for(new i=0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
  87.         if(IsPlayerInRangeOfPoint(i, range, X, Y, Z))
  88.             SetPlayerHealth(i,health);
  89.     return true;
  90. }
  91.  
  92. stock
  93.     TeleportPlayerToPlayer(playerid, gotoid)                                    //- Teleporta player para o player
  94. {
  95.     static
  96.         Float:X,
  97.         Float:Y,
  98.         Float:Z
  99.     ;
  100.     GetPlayerPos(gotoid, X, Y, Z);
  101.     SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(gotoid));
  102.     SetPlayerInterior(playerid, GetPlayerInterior(gotoid));
  103.     return SetPlayerPos(playerid, X+1, Y+1, Z);
  104. }
  105.  
  106. stock
  107.     GiveWeaponRangeOfPlayer(playerid, Float:range, weaponid, ammo)              //- Da armas para players perto do player
  108. {
  109.     static
  110.         Float:X,
  111.         Float:Y,
  112.         Float:Z
  113.     ;
  114.     GetPlayerPos(playerid,X,Y,Z);
  115.     for(new i=0; i < MAX_PLAYERS; i++)
  116.         if(IsPlayerConnected  && IsPlayerInRangeOfPoint(i, range, X, Y, Z))
  117.             GivePlayerWeapon(player, weaponid, ammo);
  118.     return true;
  119. }
  120.  
  121. stock
  122.     GivePVarInt(playerid, var[], val)                                           //- Aumenta PVars
  123.         return SetPVarInt(playerid,var,GetPVarInt(playerid, var)+val);
  124.  
  125. stock
  126.     GetRemainder(divider, divide)                                               //- Geta o Resto de uma divisão
  127.         return divider % divide;
  128.  
  129. stock
  130.     GetPower(n1, n2)                                                            //- Executa potenciação
  131.         return floatround(floatpower(n1,n2));
  132.  
  133. stock
  134.     GetDivision(divider, divide)                                                //- Divide um Numero
  135.         return divider / divide;
  136.  
  137. stock
  138.     GetMultiplication(number, product)                                          //- Multiplica 2 Nuemros
  139.         return number * product;
  140.  
  141. stock
  142.     GetSubtraction(number, slow)                                                //- Substrai numeros
  143.         return number - slow;
  144.  
  145. stock
  146.     GetAddition(number,add)                                                     //- Adiciona Numneros
  147.         return number + add;
  148.  
  149. stock
  150.     GetPercent(n1,n2)
  151.         return (n1 / n2) * 100;
  152.  
  153. stock
  154.     SaveFileInStr(file[],string[],size=sizeof(string))                          //- Armazena arquivo em string
  155. {
  156.     if(!fexist(file))
  157.         return false;
  158.     static
  159.         File:file_add
  160.     ;
  161.     file_add = fopen(file, io_read);
  162.     fread(file_add, string,size);
  163.     fclose(file_add);
  164.     return true;
  165. }
  166.  
  167. stock
  168.     CrashPlayer(playerid)                                                       //- Crash o Player
  169. {
  170.     SetPlayerHoldingObject(playerid, 0, 0);
  171.     Kick(playerid);
  172.     return true;
  173. }
  174.  
  175. stock
  176.     VehiclesRespawn()                                                           //- Spawn todos Veiculos
  177. {
  178.     for(new i=0; i < MAX_VEHICLES;i++)
  179.         SetVehicleToRespawn(i);
  180.     return 1;
  181. }
  182.  
  183. stock
  184.     StringHaveTag(string[])                                                     //- se a string tem tag
  185.         return (StringFind(string,"[") ? (true) : (false);
  186.  
  187. stock
  188.     StringHaveUnder(string[])                                                   //- se a string tem underline
  189.         return (StringFind(string,"_") ? (true) : (false);
  190.  
  191. stock
  192.     NPCFollowPlayer(npcid,playerid)                                             //- NOPC perseguir Player
  193. {
  194.     SetPlayerToFacePlayer(playerid,paraid);
  195.     ApplyAnimation(playerid,"Muscular","MuscleRun",1,1,1,0,0,0);
  196. }
  197.  
  198. stock
  199.     SetPlayerToFacePlayer(playerid, targetid)                                   // Seta a Face de um player no outro ( Tannz0rz )
  200. {
  201.  
  202.         new
  203.                 Float:pX,
  204.                 Float:pY,
  205.                 Float:pZ,
  206.                 Float:X,
  207.                 Float:Y,
  208.                 Float:Z,
  209.                 Float:ang
  210.         ;
  211.  
  212.         if(!IsPlayerConnected(playerid) || !IsPlayerConnected(targetid)) return 0;
  213.  
  214.         GetPlayerPos(targetid, X, Y, Z);
  215.         GetPlayerPos(playerid, pX, pY, pZ);
  216.  
  217.         if( Y > pY ) ang = (-acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
  218.         else if( Y < pY && X < pX ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 450.0);
  219.         else if( Y < pY ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
  220.  
  221.         if(X > pX) ang = (floatabs(floatabs(ang) + 180.0));
  222.         else ang = (floatabs(ang) - 180.0);
  223.  
  224.         SetPlayerFacingAngle(playerid, ang);
  225.  
  226.         return 0;
  227.  
  228. }
  229.  
  230. stock
  231.     CreateFile(filename[])                                                      //- Cria um Arquivo
  232. {
  233.     if (fexist(filename))
  234.         return false;
  235.     static
  236.         File:Temp
  237.     ;
  238.     Temp = fopen(filename,io_write);
  239.     fclose(Temp);
  240.     return true;
  241. }
  242.  
  243. stock
  244.     FileRename(fileorigem[],filerename[])                                       //- Renomeia Arquivo
  245. {
  246.     new
  247.         string[512];
  248.         File:fileo = fopen(fileorigem, io_read),
  249.         File:filer = fopen(filerename, io_write)
  250.     ;
  251.    
  252.     while(fread(fileo, string))
  253.         fwrite(filer,string);
  254.        
  255.     fclose(filer);
  256.     fclose(fileo);
  257.     fremove(fileorigem);
  258.     printf("%s for %s",fileorigem,filerename);
  259.     format(string,sizeof string,"%s",0);
  260.     return 1;
  261. }
  262.  
  263. stock
  264.     CreateQuadrateFromPos(Float:x,Float:y,Float:distance)                       //- cria quadrado de x,y,z
  265. {
  266.     xmax = x + distance; xmin = x - distance;
  267.     ymax = y + distance; ymin = y - distance;
  268.     return true;
  269. }
  270.  
  271. stock
  272.     GetPlayersInArea(Float:minx, Float:maxx, Float:miny, Float:maxy)            //- Geta quantos player tem na area
  273. {
  274.     new
  275.         PlayersArea
  276.     ;
  277.     static
  278.         Float:x,
  279.         Float:y,
  280.         Float:z
  281.     ;
  282.     for(new i;i<MAX_PLAYERS;i++) if(IsPlayerConnected(i))
  283.     {
  284.         GetPlayerPos(i, x, y, z);
  285.         if (x > minx && x < maxx && y > miny && y < maxy)
  286.             PlayersArea++;
  287.     }
  288.     return PlayersArea;
  289. }
  290.  
  291. stock
  292.     GetPlayersInVehicle(vehicleid)                                              //- Geta quantos player tem num veiculos
  293. {
  294.     new PlayersVehicle = 0;
  295.     for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
  296.         if(IsPlayerConnected(i) && IsPlayerInVehicle(i,vehicleid))
  297.             PlayersVehicle++;
  298.     return PlayersVehicle;
  299. }
  300.  
  301. stock
  302.     SetPlayerMoney(playerid,count)                                              //- Seta o dinheiro do player
  303.         return GivePlayerMoney(playerid,count-GetPlayerMoney(playerid));
  304.  
  305. stock
  306.     GivePlayerHealth(playerid,count)                                            //- da vida ao player
  307.         return SetPlayerHealth(playerid,count+GetPlayerLife(playerid));
  308.  
  309.  
  310. stock
  311.     GivePlayerArmour(playerid,count)                                            //- da colete ao player
  312.         return SetPlayerArmour(playerid,count+GetPlayerArmor(playerid));
  313.  
  314. stock
  315.     GetPlayerLife(pid)                                                          //- Geta a Life do player
  316. {
  317.     new Float:LifeID;
  318.     return GetPlayerHealth(pid,LifeID);
  319. }
  320. stock
  321.     GetPlayerArmor(pid)                                                         //- Geta colete do player
  322. {
  323.     new Float:ArmorID;
  324.     return GetPlayerArmour(pid,ArmorID);
  325. }
  326. stock
  327.     ClearChatText(playerid)                                                     //- Limpa o Chat
  328. {
  329.     for (new tx = -1 ; a < 100; a++)
  330.         SendClientMessage(playerid,0xFFFFFFFF,"\n");
  331.     return true;
  332. }
  333. stock
  334.     GivePlayerVehicle(playerid, vehicleid)                                      //- Da um veiculo ao player
  335. {
  336.     if(!IsPlayerInAnyVehicle(playerid))
  337.     {
  338.         static
  339.             Float:x,
  340.             Float:y,
  341.             Float:z,
  342.             Float:a
  343.         ;
  344.         GetPlayerPos(playerid, x, y, z);
  345.         GetPlayerFacingAngle(playerid, a);
  346.         PutPlayerInVehicle(playerid,CreateVehicle(vehicleid, x, y, z, a, -1, -1, 50000),0);
  347.     }
  348.     return true;
  349. }
  350.  
  351. stock
  352.     GetPlayerNick(playerid)                                                     //- Geta nick em array já
  353. {
  354.     static
  355.         namep[24]
  356.     ;
  357.     GetPlayerName(playerid,namep,24);
  358.     return namep;
  359. }
  360.  
  361. stock
  362.     GetIDFromName(part[])                                                       //Geta id pelo nome
  363. {
  364.     static
  365.         namep[24]
  366.     ;
  367.     for(new id; id < MAX_PLAYERS; id++)
  368.     {
  369.         GetPlayerName(i,namep,24);
  370.         if(StringFind(namep,part))
  371.             return id;
  372.     }
  373.     return -1;
  374. }
  375.  
  376. stock
  377.     GetPlayerRangeIP(playerid)                                                  //- Geta IP Permanente do Player
  378. {
  379.     static
  380.         range[19]
  381.     ;
  382.     GetPlayerIp(playerid,range,19);
  383.     strdel(range,strlen(range)-2,strlen(range));
  384.     format(range,17,"%s**",range);
  385.     return range;
  386. }
  387.  
  388. stock
  389.     StringLineChars(string[128])                                                //- Divide a string em letras por numeros | Criado por [OwN]Papet
  390. {
  391.     new
  392.         Letter[128][2]
  393.     ;
  394.     for(new l ; string[l] ; l++)
  395.     {
  396.         format(Letter[l],2,"%s",string[l]);
  397.         printf("Line: %d | Letter: %s",l,Letter[l]);
  398.     }
  399. }
  400.  
  401. stock
  402.     TeleportPlayerToVehicle(playerid, vehicleid)                                //- Teleporte player para aveiculo
  403. {
  404.     static
  405.         Float:X,
  406.         Float:Y,
  407.         FloatZ
  408.     ;
  409.     GetVehiclePos(vehicleid, X, Y, Z);
  410.     SetPlayerVirtualWorld(playerid, GetVehicleVirtualWorld(vehicleid));
  411.     return SetPlayerPos(playerid, X+1, Y+1, Z);
  412. }
  413.  
  414. stock
  415.     GetPlayerRankOne()                                                          //- Geta o melhor player do sevrer | Thankz to Toribio
  416. {
  417.     new
  418.         PlayerScore = 0,
  419.         PlayerHigh = -1
  420.     ;
  421.     for(new i = 0; i < MAX_PLAYERS ;i++) if(GetPlayerScore( i ) > PlayerScore)
  422.     {
  423.         PlayerHigh = i;
  424.         PlayerScore = GetPlayerScore( i );
  425.     }
  426.     return PlayerHigh;
  427. }
  428.  
  429. stock
  430.     ChangeGameMode(gamemode[])                                                  //- Muda game mode
  431. {
  432.     new
  433.         string[128]
  434.     ;
  435.     format(string, sizeof(string), "changegamemode %s", gamemode);
  436.     return SendRconCommand(string);
  437. }
  438.  
  439. stock
  440.     RemoveLineFromFile(file[],line[])                                           //- remove linha do arquivo
  441. {
  442.     new
  443.         strfile[256],
  444.         stringline[100],
  445.         File:gangfile = fopen(file, io_read),
  446.         File:tempfile = fopen("tmpfile.tmp", io_write);
  447.     ;
  448.     format(stringline,100,"%s\r\n",line);
  449.     while(fread(gangfile, strfile))
  450.         if(strcmp(strfile,stringline, true) != 0)
  451.            fwrite(tempfile, strfile);
  452.     fclose(gangfile);
  453.     fclose(tempfile);
  454.     fremove(file);
  455.     tempfile = fopen("tmpfile.tmp", io_read);
  456.     gangfile = fopen(file, io_write);
  457.     while(fread(tempfile, strfile))
  458.         fwrite(gangfile, strfile);
  459.     fclose(gangfile);
  460.     fclose(tempfile);
  461.     fremove("tmpfile.tmp");
  462.     return true;
  463. }
  464.  
  465. stock
  466.     SendClientMessageFormated(pid,msg[],colour,a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0)    //- Envia mensagem formatada com suporte a 10 parametors
  467. {
  468.     new
  469.         stringform[128]
  470.     ;
  471.     format(stringform,strlen(msg), "%s", msg,a,b,c,d,e,f,g,h,i,j);
  472.     return SendClientMessage(pid,colour,stringform);
  473. }
  474.  
  475. stock
  476.     bool:IsPlayerInAnyInterior(playerid)                                        //- se player ta em qualquer interior
  477.         return GetPlayerInterior(playerid) != 0 ? (true) : (false);
  478.  
  479. stock
  480.     GetPlayersOnline()                                                          //- Pega todos Players Online no servidor
  481. {
  482.     new PlayersOn;
  483.     for(new i;i < MAX_PLAYERS; i++)
  484.         if(IsPlayerConnected(i))
  485.             PlayersOn++.
  486.      return PlayersOn;
  487. }
  488.  
  489. stock
  490.     SetVehicleRepaired(vehicleid)                                               //- Repara um veiculo totalmente
  491. {
  492.     SetVehicleHealth(vehicleid,1000);
  493.     RepairVehicle(vehicleid);
  494.     return true;
  495. }
  496.  
  497. stock
  498.     SetVehiclesToRespawns()                                                     //-Seta veiculos desocupados para respawn
  499. {
  500.     for( new j = 0; j < MAX_VEHICLES; j++)
  501.         for(new i = 0; i < MAX_PLAYERS; i++)
  502.             if(IsPlayerInVehicle(i, j) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
  503.                 SetVehicleToRespawn(j);
  504.     return true;
  505. }
  506.  
  507. stock
  508.     SendMessageToAllAdmins(colour,msg[])                                        //- Envia mensagens para admins online
  509. {
  510.     for(new i = 0; i < MAX_PLAYERS; i++)
  511.         if(IsPlayerAdmin(i))
  512.             SendClientMessage(i,colour,msg);
  513.     return true;
  514. }
  515.  
  516. stock
  517.     freset(file[])
  518. {                                                                               //- Limpa o um Arquivo
  519.     if(!fexist(file))
  520.         return false;
  521.     fremove(file);
  522.     new
  523.         File:resetvar = fopen(file,io_write)
  524.     ;
  525.     fclose(resetvar);
  526.     return true;
  527. }
  528.  
  529. stock
  530.     SetPlayerToClassSelection(playerid)                                         //- Seta layer para Selecao de Skins
  531. {
  532.     ForceClassSelection(playerid);
  533.     SetPlayerPos(playerid,0,0,0);
  534.     SpawnPlayer(playerid);
  535.     return true;
  536. }
  537.  
  538. stock
  539.     GetStringFromServerCFG(const strn[])                                        //- Geta uma String do Server.cfg
  540. {
  541.     new str[64];
  542.     GetServerVarAsString(strn, str, sizeof(str));
  543.     return str;
  544. }
  545.  
  546. stock                                                                           //- Geta FPS do Player By DraKiNs | Thankz Mr Turtle
  547.     GetPlayerFPS(playerid)
  548. {
  549.     SetPVarInt(playerid, "DrunkL", GetPlayerDrunkLevel(playerid));
  550.     if(GetPVarInt(playerid, "DrunkL") < 100) SetPlayerDrunkLevel(playerid, 2000);
  551.         else{
  552.             if(GetPVarInt(playerid, "LDrunkL") != GetPVarInt(playerid, "DrunkL"))
  553.             {
  554.                 SetPVarInt(playerid, "FPS", (GetPVarInt(playerid, "LDrunkL") - GetPVarInt(playerid, "DrunkL")));
  555.                 SetPVarInt(playerid, "LDrunkL", GetPVarInt(playerid, "DrunkL"));
  556.                 if((GetPVarInt(playerid, "FPS") > 0) && (GetPVarInt(playerid, "FPS") < 256))
  557.                 {
  558.                     return GetPVarInt(playerid, "FPS") - 1;
  559.                 }
  560.             }
  561.         }
  562.     return 0;
  563. }
  564.  
  565. stock SetVehicleSpeed ( vehicleid , Float:speed , mode = 1 )                    //Seta a Velocidade de um Carro
  566. {
  567.     static
  568.         Float:vAngle,
  569.         Float:poskm [ 3 ]
  570.     ;
  571.     GetVehicleZAngle ( vehicleid , vAngle ) ;
  572.     speed = ( ( !mode ) ? ( floatdiv ( speed, 105.0 ) ) : ( floatdiv ( speed, 170.0 ) ) );
  573.     return SetVehicleVelocity ( vehicleid , speed * floatsin ( -vAngle , degrees ) , speed * floatcos ( -vAngle , degrees ) , 0.0 ) ;
  574. }
  575.  
  576. stock
  577.     GetVehicleSpeed ( playerid , mode = 1 )                                     // Geta a Velocidade de Um Carro
  578. {
  579.     static
  580.         Float:vAngle,
  581.         Float:poskm [ 3 ]
  582.     ;
  583.     GetVehicleVelocity ( GetPlayerVehicleID ( playerid ) , poskm [ 0 ] , poskm [ 1 ] , poskm [ 2 ] ) ;
  584.     return IsPlayerInAnyVehicle ( playerid ) ? floatround ( ( ( floatsqroot ( ( ( poskm [ 0 ] * poskm [ 0 ] ) + ( poskm [ 1 ] * poskm [ 1 ] ) + ( poskm [ 2 ] * poskm [ 2 ] ) ) ) * ( !mode ? 105.0 : 170.0 ) ) ) * 1 ) : 0;
  585. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement