SA-MP Forums Archive
Funзхes uteis para evitar muitas linhas :) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: Funзхes uteis para evitar muitas linhas :) (/showthread.php?tid=373843)



Funзхes uteis para evitar muitas linhas :) - hard_dalzot - 31.08.2012

Funзхes simples mas ъteis
pawn Код:
forward SetarPosJogador(playerid, Float:x, Float:y, Float:z, Float:a);
public SetarPosJogador(playerid, Float:x, Float:y, Float:z, Float:a)
{
    SetPlayerPos(playerid, x, y, z);
    SetPlayerFacingAngle(playerid, a);
    return 1;
}
forward PegarPosJogador(playerid, Float:x, Float:y, Float:z, Float:a);
public PegarPosJogador(playerid, Float:x, Float:y, Float:z, Float:a)
{
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);
    return 1;
}
//Comando de exemplo
SetarPosJogador(playerid, 1234.1234, 567.567, 89.89, 0.0);


Assim evitando usar SetPlayerPos e SetPlayerFacingAngle
pawn Код:
stock DarVida(playerid, quantia)
{
    new Float:Vida;
    GetPlayerHealth(playerid, Vida);
    SetPlayerHealth(playerid, Vida+quantia);
    return 1;
}
stock DarColete(playerid, quantia)
{
    new Float:Colete;
    GetPlayerArmour(playerid, Colete);
    SetPlayerHealth(playerid, Colete+quantia);
    return 1;
}
/*Estas duas funзхes sгo diferentes de SetPlayerHealth e SetPlayerArmour,
pois elas aumenta a vida e nгo setam.
EX:*/


DarVida(playerid, 60);//se o jogador ja tiver 100 ele vai ficar com 160 o mesmo serve para o colete
pawn Код:
stock DarArmas(playerid, arma1, muni1, arma2, muni2, arma3, muni3, arma4, muni4)
{
    GivePlayerWeapon(playerid, arma1, muni1);
    GivePlayerWeapon(playerid, arma2, muni2);
    GivePlayerWeapon(playerid, arma3, muni3);
    GivePlayerWeapon(playerid, arma4, muni4);
    return 1;
}
//Comando de Exemplo

DarArmas(playerid, 25, 500, 30, 500, 28, 500, 19,700);

/*Este comando й bom pra servidores de dm/tdm ou para rpg mesmos nos comandos equipar,
 invйs de vocк usar vбrios GivePlayerWeapon vocк usa uma linha sу com vбrias armas */

Sei que sгo funзхes bбsicas mas tambem sei que vai ajudar bastante gente assim espero
Essas funзхes alem de serem bбsicas, elas ajudam a conservar uma grande quantidade de linhas do seu servidor
para que ele nгo fique super pesadao

й isso galera vlw espero tar ajudando muita gente
abraзos tй a prуximo







Re: Funзхes uteis para evitar muitas linhas :) - Joao Pedro - 31.08.2012

Lugar certo?


Re: Funзхes uteis para evitar muitas linhas :) - Crueliz0n - 31.08.2012

fail, area errada


Re: Funзхes uteis para evitar muitas linhas :) - Victor' - 31.08.2012

Бrea correta: https://sampforum.blast.hk/showthread.php?tid=144744


Re: Funзхes uteis para evitar muitas linhas :) - ViniBorn - 31.08.2012

Existe um tуpico/include com essa finalidade.

https://sampforum.blast.hk/showthread.php?tid=346966


Re: Funзхes uteis para evitar muitas linhas :) - hard_dalzot - 01.09.2012

Ops malz eu nгo tinha visto nгo :P


Re: Funзхes uteis para evitar muitas linhas :) - Rhayziin - 01.09.2012

area errada, mas me respondam...
Oque ele fez, й mesma coisa de fazer assim
pawn Код:
#define SetarPosJogador SetPlayerPos
#define PegarPosJogador GetPlayerPos



Re: Funзхes uteis para evitar muitas linhas :) - leonardo1434 - 01.09.2012

Sobre os:
SetarPosJogador,
PegarPosJogador

Nгo seria necessбrio criar public's.

Sobre o:
darvida,
pegarvida

Sem necessidade de criar stock's.

Este dararmas, ficaria melhor assim.(nem testei mas, deve funfa.)

pawn Код:
dararmas(playerid,...)
{
    static a = 1,b,c,d;
    b = numargs();
    for(; a < b; ++a)
    {
        if(a % 2 != 0)
        {
           c = getarg(a);
           ++a;
        }
        if(a % 2 == 0)
        {
           d = getarg(a);
        }
        GivePlayerWeapon(playerid,c,d);
    }
    return 1;
}
//usa-se assim
dararmas(playerid,20,500,21,500,22,500,23,500,24,500);
Nгo coloquei o else, pois acho que na hora que compilar ele nгo iria aceitar.