Funзхes uteis para evitar muitas linhas :)
#1

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




Reply
#2

Lugar certo?
Reply
#3

fail, area errada
Reply
#4

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

Existe um tуpico/include com essa finalidade.

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

Ops malz eu nгo tinha visto nгo :P
Reply
#7

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

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)