Cуdigos Ъteis #1

pawn Код:
stock INI_Create(filename[])
{
    if(INI_Exist(filename))
        return printf("Erro ao criar o arquivo '%s'. O arquivo jб existe.");

    new
        File:MeuArquivo;

    MeuArquivo = fopen(filename, io_write);
    fclose(MeuArquivo);
    return 0x1;
}
Pode ser necessбrio para alguйm.
Reply

Код:
#tryinclude <a_samp>

//Keys
//
//Lucas Vinнcius @ThunderGamesBR

#define KEY_ACTION 				(1)
#define KEY_CROUCH 				(2)
#define KEY_FIRE 				(4)
#define KEY_SPRINT 				(8)
#define KEY_SECONDARY_ATTACK          (16)
#define KEY_JUMP 				(32)
#define KEY_LOOK_RIGHT 			(64)
#define KEY_HANDBRAKE 			(128)
#define KEY_LOOK_LEFT 			(256)
#define KEY_SUBMISSION 			(512)
#define KEY_LOOK_BEHIND		 	(512)
#define KEY_WALK 				(1024)
#define KEY_ANALOG_UP 			(2048)
#define KEY_ANALOG_DOWN 		        (4096)
#define KEY_ANALOG_LEFT 		        (8192)
#define KEY_ANALOG_RIGHT 		        (16384)
#define KEY_YES 				        (65536)
#define KEY_NO 					(131072)
#define KEY_CTRL_BACK 			(262144)

#define KEY_UP				 	(-128)
#define KEY_DOWN 				(128)
#define KEY_LEFT 				(-128)
#define KEY_RIGHT 				(128)
Reply

Quote:
Originally Posted by Knight97
Посмотреть сообщение
pawn Код:
#define RetirarDinheiro(%0,%1)                         Info[%0][Dinheiro] -= %1
#define SetarDinheiro(%0,%1)                           Info[%0][Dinheiro] = %1
#define ResetarDinheiro(%0)                              Info[%0][Dinheiro] = 0;
#define DarDinheiro(%0,%1)                              Info[%0][Dinheiro] += %1
#define GetarDinheiro(%0)                                 Info[%0][Dinheiro]

enum Informacoes
{
    Dinheiro,
    /*Aqui pode colocar paradas como Administrador, Level, ... */
};

static Info[MAX_PLAYERS][Informacoes];
Estб feito dessa forma porque retirei do meu gamemode, pode ajudar quem estб a comeзar.
Onde se encontra a variбvel do dinheiro podem colocar Administrador, Level, ... depois sу saber como usar.
Neste caso, o 'satic" se torna a mesma coisa que 'new', pois nгo hб escopo para destruir ela.

Quote:
Originally Posted by Knight97
Посмотреть сообщение
pawn Код:
stock INI_Create(filename[])
{
    if(INI_Exist(filename))
        return printf("Erro ao criar o arquivo '%s'. O arquivo jб existe.");

    new
        File:MeuArquivo;

    MeuArquivo = fopen(filename, io_write);
    fclose(MeuArquivo);
    return 0x1;
}
Pode ser necessбrio para alguйm.
Undefined symbol "INI_Exist".

BTW:
pawn Код:
#define fcreate(%0) fclose(fopen(%0, io_append))

funзгo fopen retorna o id do arquivo, este retorno й usado no fclose para fechar e salvar o arquivo.

Referкncia: Bruno da Silva.
Reply

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
Neste caso, o 'satic" se torna a mesma coisa que 'new', pois nгo hб escopo para destruir ela.




Undefined symbol "INI_Exist".

BTW:
pawn Код:
#define fcreate(%0) fclose(fopen(%0, io_append))

funзгo fopen retorna o id do arquivo, este retorno й usado no fclose para fechar e salvar o arquivo.

Referкncia: Bruno da Silva.
O static limita o escopo do sнmbolo ao arquivo, quando ultilizado fora de uma funзгo.
Reply

й um codigo util que um dia eu procurei e achei talvez alguem precise

pawn Код:
public OnPlayerDeath(playerid)
{
    if(IsPlayerConnected(killerid)) {
        new rtext[128];
        if(reason == 0) { rtext = "a socos."; }
        else if(reason == 1) { rtext = "com um soco ingles."; }
        else if(reason == 2) { rtext = "com taco de Golfe"; }
        else if(reason == 3) { rtext = "com um cassetete."; }
        else if(reason == 4) { rtext = "com uma faca."; }
        else if(reason == 5) { rtext = "com um bastгo de Baseball."; }
        else if(reason == 6) { rtext = "com uma pб."; }
        else if(reason == 7) { rtext = "com um taco de bilhar."; }
        else if(reason == 8) { rtext = "com uma Katana."; }
        else if(reason == 9) { rtext = "com uma Serra Eletrica"; }
        else if(reason == 10) { rtext = "com um Pinto de borracha duplo "; }
        else if(reason == 11) { rtext = "com um Pinto de borracha "; }
        else if(reason == 12) { rtext = "com um Vibrador "; }
        else if(reason == 13) { rtext = "com um Vibrador "; }
        else if(reason == 14) { rtext = "com um Buquк de Flores"; }
        else if(reason == 15) { rtext = "com uma Bengala"; }
        else if(reason == 16) { rtext = "com uma Granada"; }
        else if(reason == 17) { rtext = "com uma Bomba de Gas"; }
        else if(reason == 18) { rtext = "com um Coqtel Molotov"; }
        else if(reason == 22) { rtext = "com tiros de uma Colt45"; }
        else if(reason == 23) { rtext = "com tiros de uma Colt45 com Silenciador"; }
        else if(reason == 24) { rtext = "com tiros de uma Desert Eagle"; }
        else if(reason == 25) { rtext = "com tiros de uma Shotgun"; }
        else if(reason == 26) { rtext = "com tiros de uma Sawnoff"; }
        else if(reason == 27) { rtext = "com tiros de uma Combat Shotgun"; }
        else if(reason == 28) { rtext = "com tiros de uma Micro Uzi"; }
        else if(reason == 29) { rtext = "com tiros de uma MP5"; }
        else if(reason == 30) { rtext = "com tiros de uma AK-47"; }
        else if(reason == 31) { rtext = "com tiros de uma M4"; }
        else if(reason == 32) { rtext = "com tiros de uma Tec-9"; }
        else if(reason == 33) { rtext = "com tiros de uma Country Rifle"; }
        else if(reason == 34) { rtext = "com tiros de uma Sniper Rifle"; }
        else if(reason == 35) { rtext = "com tiros de uma BAZOOKA"; }
        else if(reason == 36) { rtext = "com tiros de uma BAZOOKA DE TIRO PERSEGUIDOR"; }
        else if(reason == 37) { rtext = "com um Lanзa Chamas"; }
        else if(reason == 38) { rtext = "com tiros de uma Minigun"; }
        else if(reason == 39) { rtext = "com Bombas Armadas"; }
        else if(reason == 40) { rtext = "com um Detonador"; }
        else if(reason == 41) { rtext = "com um Spray"; }
        else if(reason == 42) { rtext = "com um extintor de incendios"; }
        else if(reason == 47) { rtext = "FAKE PISTOL"; }
        else if(reason == 49) { rtext = "Atropelado"; }
        else if(reason == 50) { rtext = "nas hйlices de um helicoptero"; }
        else if(reason == 51) { rtext = "com uma explosгo"; }
        else if(reason == 53) { rtext = "morreu afogado."; }
        else if(reason == 54) { rtext = "caiu de um lugar alto e morreu."; }
        else if(reason == 255) { rtext = "morreu sozinho"; }
        else { rtext = "Ninguкm sabe como !"; }

        new pStr[100];
        format(pStr,sizeof(pStr),"O jogador %s matou %s (( %s ))", Nome(killerid), GetPlayerNick(playerid), rtext);
        MensagemParaAdminsMorte(pStr);
    }
       return 1;
}
Reply

Quote:
Originally Posted by Caio_Freeze
Посмотреть сообщение
й um codigo util que um dia eu procurei e achei talvez alguem precise

pawn Код:
public OnPlayerDeath(playerid)
{
    if(IsPlayerConnected(killerid)) {
        new rtext[128];
        if(reason == 0) { rtext = "a socos."; }
        else if(reason == 1) { rtext = "com um soco ingles."; }
        else if(reason == 2) { rtext = "com taco de Golfe"; }
        else if(reason == 3) { rtext = "com um cassetete."; }
        else if(reason == 4) { rtext = "com uma faca."; }
        else if(reason == 5) { rtext = "com um bastгo de Baseball."; }
        else if(reason == 6) { rtext = "com uma pб."; }
        else if(reason == 7) { rtext = "com um taco de bilhar."; }
        else if(reason == 8) { rtext = "com uma Katana."; }
        else if(reason == 9) { rtext = "com uma Serra Eletrica"; }
        else if(reason == 10) { rtext = "com um Pinto de borracha duplo "; }
        else if(reason == 11) { rtext = "com um Pinto de borracha "; }
        else if(reason == 12) { rtext = "com um Vibrador "; }
        else if(reason == 13) { rtext = "com um Vibrador "; }
        else if(reason == 14) { rtext = "com um Buquк de Flores"; }
        else if(reason == 15) { rtext = "com uma Bengala"; }
        else if(reason == 16) { rtext = "com uma Granada"; }
        else if(reason == 17) { rtext = "com uma Bomba de Gas"; }
        else if(reason == 18) { rtext = "com um Coqtel Molotov"; }
        else if(reason == 22) { rtext = "com tiros de uma Colt45"; }
        else if(reason == 23) { rtext = "com tiros de uma Colt45 com Silenciador"; }
        else if(reason == 24) { rtext = "com tiros de uma Desert Eagle"; }
        else if(reason == 25) { rtext = "com tiros de uma Shotgun"; }
        else if(reason == 26) { rtext = "com tiros de uma Sawnoff"; }
        else if(reason == 27) { rtext = "com tiros de uma Combat Shotgun"; }
        else if(reason == 28) { rtext = "com tiros de uma Micro Uzi"; }
        else if(reason == 29) { rtext = "com tiros de uma MP5"; }
        else if(reason == 30) { rtext = "com tiros de uma AK-47"; }
        else if(reason == 31) { rtext = "com tiros de uma M4"; }
        else if(reason == 32) { rtext = "com tiros de uma Tec-9"; }
        else if(reason == 33) { rtext = "com tiros de uma Country Rifle"; }
        else if(reason == 34) { rtext = "com tiros de uma Sniper Rifle"; }
        else if(reason == 35) { rtext = "com tiros de uma BAZOOKA"; }
        else if(reason == 36) { rtext = "com tiros de uma BAZOOKA DE TIRO PERSEGUIDOR"; }
        else if(reason == 37) { rtext = "com um Lanзa Chamas"; }
        else if(reason == 38) { rtext = "com tiros de uma Minigun"; }
        else if(reason == 39) { rtext = "com Bombas Armadas"; }
        else if(reason == 40) { rtext = "com um Detonador"; }
        else if(reason == 41) { rtext = "com um Spray"; }
        else if(reason == 42) { rtext = "com um extintor de incendios"; }
        else if(reason == 47) { rtext = "FAKE PISTOL"; }
        else if(reason == 49) { rtext = "Atropelado"; }
        else if(reason == 50) { rtext = "nas hйlices de um helicoptero"; }
        else if(reason == 51) { rtext = "com uma explosгo"; }
        else if(reason == 53) { rtext = "morreu afogado."; }
        else if(reason == 54) { rtext = "caiu de um lugar alto e morreu."; }
        else if(reason == 255) { rtext = "morreu sozinho"; }
        else { rtext = "Ninguкm sabe como !"; }

        new pStr[100];
        format(pStr,sizeof(pStr),"O jogador %s matou %s (( %s ))", Nome(killerid), GetPlayerNick(playerid), rtext);
        MensagemParaAdminsMorte(pStr);
    }
       return 1;
}
Poderia ter usado switch , falta coisa !
Nao me leva mal mas isto e copia !
Reply

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
Poderia ter usado switch , falta coisa !
Nao me leva mal mas isto e copia !
em algum momento eu falei que foi eu que fiz? nгo! eu disse que eu uma vez procurei na internet e achei e estava no meu pc e to postando pra se alguem precisa -.-
Reply

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
Poderia ter usado switch , falta coisa !
Nao me leva mal mas isto e copia !
@caio_freeze
Код:
й um codigo util que um dia eu procurei e achei
Reply

Quando o player estiver com fome :]

pawn Code:
#define Callback::%0(%1)    forward %0(%1); public %0(%1)
Callback::Eating(playerid, start){

    static
        Float: Vida
    ;

    GetPlayerHealth(playerid, Vida);

    if(Vida < 100){
        if(!start){

            ClearAnimations(playerid);
            ApplyAnimation(playerid, "FOOD", "EAT_Burger",4.1,0,1,1,0,0);
            Eating(playerid, 0);
                   
                   
            GetPlayerHealth(playerid, Vida);
            SetPlayerHealth(playerid, floatadd(Vida, 35));

            SetTimerEx("Eating", 1500, false, "ii", playerid, 1);
            return false;
        }else{

            GetPlayerHealth(playerid, Vida);
            SetPlayerHealth(playerid, floatadd(Vida, 35));
        }
    }
    return true;
}
Reply

Nome do Autor: Parka

Tipo de script: (filterscript)

Descriзгo do trabalho: um sistema simples para mensagens aleatуrias TextDraw.
O TextDraw move-se assim <<<< , na parte superior da tela.

Download link:

pawn Code:
/*
     Filter-Script
     Mensaje Por Textdraw Dinamico
     By: Parka
*/

#include <a_samp>
#pragma tabsize 4
#define CallBack%0(%1) forward%0(%1); public%0(%1)

new Float:TD_Posicion_X;
new Text:Anuncios;
new StrText[90];
new TimeToTextdraw;

public OnFilterScriptInit()
{
    print("Mensaje Por Textdraw Dinamico By: Parka");
    TimeToTextdraw = SetTimer("TextDrawsAnuncios",66,true);
    return 1;
}

public OnFilterScriptExit()
{
    KillTimer(TimeToTextdraw);
    return 1;
}

CallBack TextDrawsAnuncios( )
{
    UpDateTextDraw( Text:Anuncios ) ;
    TD_Posicion_X -= 1.0;

    if(TD_Posicion_X == -385.0000)
        {
        UpDateTextDraw(Text:Anuncios);
        TD_Posicion_X = 641.0000;
        }

    if(TD_Posicion_X == 640.0000)
    {
    new rantext = random(2);
    switch(rantext)
    {
    case 0: format(StrText,90,"~y~Mensajes aleatorios Dinamicos Con Textdraw.");  // Texto o mensaje que quieras
    case 1: format(StrText,90,"~y~SA-MP Forums Hecho Por Parka.");         // Texto o mensaje que quieras
    }
    TextDrawSetString(Anuncios,StrText);
    }
    return 1;
}

CallBack UpDateTextDraw( Text:TextId )
{
    TextDrawDestroy(TextId);
    TextId = TextDrawCreate(TD_Posicion_X, 1.000000, StrText );
    TextDrawBackgroundColor(TextId , 255);
    TextDrawFont(TextId , 1);
    TextDrawSetOutline(TextId , 1);
    TextDrawSetProportional(TextId , 1);
    return TextDrawShowForAll(TextId);
}
Reply

pawn Code:
#define Ping 700

Nome(playerid) {

    new Nom [21]
    GetPlayerName(playerid, Nome, 21);
    return Nom;
}
public OnPlayerUpdate(playerid)
{
    new celulas[80], PPing = GetPlayerPing(playerid);
    if(PPing > Ping)
    {
        format(celulas, 128,"[AdmCmd]: %s foi kikado por ping alto (%d)",Nome(playerid), Ping);
        SendClientMessageToAll(-1,celulas);
        Kick(playerid);
    }
   return 1;
}
Reply

Quote:
Originally Posted by Sellen
View Post
pawn Code:
#define Ping 700

Nome(playerid) {

    new Nom [21]
    GetPlayerName(playerid, Nome, 21);
    return Nom;
}
public OnPlayerUpdate(playerid)
{
    static PPing = GetPlayerPing(playerid);
    new celulas[80] ;
    if(PPing > Ping)
    {
        format(celulas, 128,"[AdmCmd]: %s foi kikado por ping alto (%d)",Nome(playerid), Ping);
        SendClientMessageToAll(-1,celulas);
        Kick(playerid);
    }
   return 1;
}
Esse static aн vai dar problema, nгo?
Reply

Quote:
Originally Posted by Jason`
View Post
Esse static aн vai dar problema, nгo?
Nгo dб, mas й estranho.
Reply

Quote:
Originally Posted by steki.
View Post
Nгo dб, mas й estranho.
Da sim, o Ping sempre serб o mesmo, pego o ping uma vez nгo mudarб mais..
Reply

Isso nem vai compilar, sу pra comeзar. -.-


static deve ser inicializada com um valor constante.
Reply

Quote:
Originally Posted by leonardo1434
View Post
Isso nem vai compilar, sу pra comeзar. -.-


static deve ser inicializada com um valor constante.
E й mesmo, o compilador jб vai avisar o erro e alem de uns par de erro q tem na Callback Nome.
Reply

Quote:
Originally Posted by paulor
View Post
Da sim, o Ping sempre serб o mesmo, pego o ping uma vez nгo mudarб mais..
Quote:
Originally Posted by leonardo1434
View Post
Isso nem vai compilar, sу pra comeзar. -.-


static deve ser inicializada com um valor constante.
Eu testei aqui e o leonardo estб certo. Й lуgico, apenas, inicializar uma variбvel estбtica como uma constante, ou nгo inicializar com nada e tirar proveito da caracterнstica. O cуdigo nгo compilarб. Mas, se apуs a inicializaзгo, o valor for definido com o Ping, a variбvel estбtica estarб desempenhando o mesmo papel de uma variavel normal.
Reply

Й, mas revidar violкncia com mais violкncia nunca adianta muito.
Mas, vendo de fora, ter que agunetar desaforo dos outros no forum й um saco.

Em minha defesa, eu pensei que compilaria pelo fato de eu nunca ter testado, pois й irracional atribuir um valor especнfico, que varia no tempo, na inicializaзгo de uma variбvel estбtica. Mas, se vocк nunca erra, me desculpe.
Reply

Quote:
Originally Posted by ipsBruno
Посмотреть сообщение
Tudo Salva na Script Files
Problemas Com '/save' No Windows Seven?

Revolucione e Use Este Meu Simples Comando Jб!

Salvar Simples Posiзгo:
pawn Код:
if (strcmp(cmdtext, "/save", true)==0)
  {
    GetPlayerPos(playerid, X, Y, Z);
    new File:pos=fopen("positions.txt", io_append);
    format(string, 256, "Coordenada(%f, %f, %f);", X, Y, Z,Rotation);
    fwrite(pos, string);
    fclose(pos);
 
    return 1;
  }
Salvar Simples Posiзгo em Formato de AddPlayerClass (By: Wiki)

pawn Код:
if (strcmp(cmdtext, "/save", true)==0)
  {
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, Rotation);
 
    new File:pos=fopen("positions.txt", io_append);
    format(string, 256, "AddPlayerClass(0, %f, %f, %f, %f, 0,0,0,0,0,0);", X, Y, Z,Rotation);
    fwrite(pos, string);
    fclose(pos);
 
    return 1;
  }
Salvar em Formato AddPlayerClass com Skins (By: Eu)
pawn Код:
if (strcmp(cmdtext, "/save", true)==0)
  {
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, Rotation);
    Skin = GetPlayerSkin(playerid);
    new File:pos=fopen("positions.txt", io_append);
    format(string, 256, "AddPlayerClass(%d, %f, %f, %f, %f, 0,0,0,0,0,0);",Skin, X, Y, Z,Rotation);
    fwrite(pos, string);
    fclose(pos);
 
    return 1;
  }

Caso Queira Salvar com Armas
GetPlayerWeapon e Assim Vai

Espero ter ajudado os usuбrio do windows 7

PS: Garfield se puder incorpora ao teu post com meu nome hein!
Creio que nгo tenha como substituir um comando que й do sa-mp '-'
Reply

Quote:
Originally Posted by Bruno13
Посмотреть сообщение
Creio que nгo tenha como substituir um comando que й do sa-mp '-'
Ele nгo substitui, nesse caso ele iria executar o comando nativo do sa-mp(salvar na pasta do GTA user files) e iria executar esse comando ai que vocк criou(salvar na scriptfiles do sa-mp)....
Reply


Forum Jump:


Users browsing this thread: 10 Guest(s)