SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 19/04/2012, 04:26 PM   #1411
xPaulistaa
Big Clucker
 
xPaulistaa's Avatar
 
Join Date: Apr 2012
Posts: 195
Reputation: 0
Default Re: [ Códigos Úteis ]

Random Mensagem
-
pawn Code:
// Topo
forward SendMSG();
new RandomColors [] =
{
  0xAFAFAFAA // Cinza So Mudar
  // Se Quiser colocar mais cores e so por a ,[virgula] no fim da cor do de cima /\ e colocar as outras em baixo
 // Quando terminar apague a ultima ,[virgula] da ultima cor.
};
new RandomMSG[][] =
{
  "Aqui Sua Mensagem..",
  "Aqui Sua Mensagem.."
  // Mesmo esquema do de cores,quer mais mensagems? so colocar a ,[virgula] é na ultima mensagem apague.
};
// OnGameModeInit
SetTimer("SendMSG", 200000, true);
// Explicação :
// SendMSG = Nome da Variavel/public criada.
// 200000 = O Tempo em milesegundos.

// Criando a Public das Mensagems.
// Procure um Lugar do seu GameMode. E Adicione :
public SendMSG()
{
  new random2 = random(sizeof(RandomColors));
  new randMSG = random(sizeof(RandomMSG));
  SendClientMessageToAll(RandomColors[random2], RandomMSG[randMSG]);
}

E Isso
Espero ter ajudado alguns novatos.
__________________


xPaulistaa is offline   Reply With Quote
Old 19/04/2012, 04:49 PM   #1412
Don_Speed
High-roller
 
Don_Speed's Avatar
 
Join Date: Sep 2011
Location: Curitiba / PR
Posts: 3,272
Reputation: 266
Default Re: [ Códigos Úteis ]

Quote:
Originally Posted by xPaulistaa View Post
Random Mensagem
-
pawn Code:
// Topo
forward SendMSG();
new RandomColors [] =
{
  0xAFAFAFAA // Cinza So Mudar
  // Se Quiser colocar mais cores e so por a ,[virgula] no fim da cor do de cima /\ e colocar as outras em baixo
 // Quando terminar apague a ultima ,[virgula] da ultima cor.
};
new RandomMSG[][] =
{
  "Aqui Sua Mensagem..",
  "Aqui Sua Mensagem.."
  // Mesmo esquema do de cores,quer mais mensagems? so colocar a ,[virgula] é na ultima mensagem apague.
};
// OnGameModeInit
SetTimer("SendMSG", 200000, true);
// Explicação :
// SendMSG = Nome da Variavel/public criada.
// 200000 = O Tempo em milesegundos.

// Criando a Public das Mensagems.
// Procure um Lugar do seu GameMode. E Adicione :
public SendMSG()
{
  new random2 = random(sizeof(RandomColors));
  new randMSG = random(sizeof(RandomMSG));
  SendClientMessageToAll(RandomColors[random2], RandomMSG[randMSG]);
}

E Isso
Espero ter ajudado alguns novatos.
http://forum.sa-mp.com/showthread.php?t=180718
__________________
Youtubar
Discord : Don_Speed#6282
Don_Speed is offline   Reply With Quote
Old 21/04/2012, 08:27 AM   #1413
Lós
High-roller
 
Lós's Avatar
 
Join Date: Sep 2010
Location: Casterly Rock
Posts: 4,371
Reputation: 513
Default Re: [ Códigos Úteis ]

Meu new.pwn:

pawn Code:
#include    <   a_samp  >
#include    <   dof2    >
#include    <   zcmd    >
#include    <   sscanf  >
#include    <   foreach >

main(){}

public OnFilterScriptExit()
{
    DOF2_Exit();
    return 1;
}

CMD:gmx(playerid) return SendRconCommand("gmx");
Lós is offline   Reply With Quote
Old 21/04/2012, 07:58 PM   #1414
Don_Speed
High-roller
 
Don_Speed's Avatar
 
Join Date: Sep 2011
Location: Curitiba / PR
Posts: 3,272
Reputation: 266
Default Re: [ Códigos Úteis ]

pawn Code:
#include <a_samp>
#include <zcmd>
#include <sscanf>
//Cor
#define COLOR_BALLAS    0xD900D366
#define COLOR_GROOVE    0x00D90066
COMMAND:arma(playerid, params[])
{
    new Arma;
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params, "d", Arma)) return SendClientMessage(playerid,COLOR_BALLAS,"Use: /arma [arma]");
    if(Arma < 1 || Arma > 46) return SendClientMessage(playerid,COLOR_BALLAS,"Armas de ID 1 a 46");
    GivePlayerWeapon(playerid, Arma, 999);
    format(Celulas, sizeof(Celulas), "[ARMA]O Jogador %s(ID:%d) Pegou Arma(/arma).", Name, playerid);
    SendClientMessageToAll(COLOR_BALLAS, Celulas);
    return 1;
}
COMMAND:vida(playerid, params[])
{
    new Vida;
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params, "d", Vida)) return SendClientMessage(playerid,COLOR_BALLAS,"Use: /Vida [Quatia]");
    if(Vida < 1 || Vida > 100) return SendClientMessage(playerid,COLOR_BALLAS,"Apenas de 1 a 100");
    SetPlayerHealth(playerid, Vida);
    format(Celulas, sizeof(Celulas), "[Vida]O Jogador %s(ID:%d) Pegou Vida(/vida).", Name, playerid);
    SendClientMessageToAll(COLOR_BALLAS, Celulas);
    return 1;
}
COMMAND:colete(playerid, params[])
{
    new Colete;
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params, "d", Colete)) return SendClientMessage(playerid,COLOR_BALLAS,"Use: /Colete [Quatia]");
    if(Colete < 1 || Colete > 90) return SendClientMessage(playerid,COLOR_BALLAS,"Apenas de 1 a 90");
    SetPlayerArmour(playerid, Colete);
    format(Celulas, sizeof(Celulas), "[Colete]O Jogador %s(ID:%d) Pegou Colete(/Colete).", Name, playerid);
    SendClientMessageToAll(COLOR_BALLAS, Celulas);
    return 1;
}
COMMAND:kit1(playerid, params[])
{
    GetPlayerName(playerid, Name, sizeof(Name));
    GivePlayerWeapon(playerid, 24, 999);
    GivePlayerWeapon(playerid, 18, 999);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    format(Celulas,sizeof(Celulas),"[KIT] O Jogador %s(ID:%d) pegou um Kit-01 (/Kit1)", Name, playerid);
    SendClientMessageToAll(COLOR_GROOVE, Celulas);
    return 1;
}
COMMAND:kit2(playerid, params[])
{
    GetPlayerName(playerid, Name, sizeof(Name));
    GivePlayerWeapon(playerid, 24, 999);
    GivePlayerWeapon(playerid, 18, 999);
    GivePlayerWeapon(playerid, 23, 999);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    format(Celulas,sizeof(Celulas),"[KIT] O Jogador %s(ID:%d) pegou um Kit-02 (/Kit2)", Name, playerid);
    SendClientMessageToAll(COLOR_GROOVE, Celulas);
    return 1;
}
COMMAND:kit3(playerid, params[])
{
    GetPlayerName(playerid, Name, sizeof(Name));
    GivePlayerWeapon(playerid, 24, 999);
    GivePlayerWeapon(playerid, 18, 999);
    GivePlayerWeapon(playerid, 23, 999);
    GivePlayerWeapon(playerid, 20, 999);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    format(Celulas,sizeof(Celulas),"[KIT] O Jogador %s(ID:%d) pegou um Kit-03 (/Kit3)", Name, playerid);
    SendClientMessageToAll(COLOR_GROOVE, Celulas);
    return 1;
}
__________________
Youtubar
Discord : Don_Speed#6282
Don_Speed is offline   Reply With Quote
Old 21/04/2012, 08:06 PM   #1415
RoacH`
Huge Clucker
 
RoacH`'s Avatar
 
Join Date: Apr 2012
Posts: 276
Reputation: 27
Default Re: [ Códigos Úteis ]

Como o comando só tem apenas 1 parametro não é preciso utilizar sscanf, use Isnull para checar se o que ele digitou é NULO (ou seja 0), não digitou nada.
ex:
/vida (irá retorna a mensagem de erro.)
RoacH` is offline   Reply With Quote
Old 21/04/2012, 09:39 PM   #1416
RoacH`
Huge Clucker
 
RoacH`'s Avatar
 
Join Date: Apr 2012
Posts: 276
Reputation: 27
Default Re: [ Códigos Úteis ]

pawn Code:
#include    <   a_samp  >
#include    <   zcmd    >
#include    <   sscanf2 >

new EstaPreso[MAX_PLAYERS], TimerJaulado[MAX_PLAYERS], pname[MAX_PLAYER_NAME], str[80];

CMD:prender(playerid, params[])
{
    new prenderid, tempo;
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000AA,"Você não tem permissão.");
    if(sscanf(params, "ui", playerid, tempo)) return SendClientMessage(playerid,0xFF0000AA,"/prender <playerid> <tempo>");
    if(!IsPlayerConnected(prenderid)) return SendClientMessage(playerid,0xFF0000AA,"Este jogador não está online.");
    if(EstaPreso[prenderid] == 1) return SendClientMessage(playerid,0xFF0000AA,"Este jogador já está preso.");
    if(tempo < 0) return SendClientMessage(playerid,0xFF0000AA,"Tempo invalido.");
    GetPlayerName(prenderid,pname,sizeof(pname));
    format(str, sizeof(str), "%s Foi preso pelo administrador por: %d minuto.",pname,tempo);
    SendClientMessageToAll(0xFF0000AA, str);
    SetPlayerPos(prenderid, 197.6661, 173.8179, 1003.0233);
    SetPlayerInterior(prenderid, 3);
    ResetPlayerWeapons(prenderid);
    EstaPreso[prenderid] = 1;
    TimerJaulado[prenderid] = SetTimerEx("JAULADO", 60000*tempo, false, "i", prenderid);
    return 1;
}

CMD:soltar(playerid, params[])
{
    new prenderid;
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000AA,"Você não tem permissão.");
    if(sscanf(params, "u", playerid)) return SendClientMessage(playerid,0xFF0000AA,"/soltar <playerid>");
    if(!IsPlayerConnected(prenderid)) return SendClientMessage(playerid,0xFF0000AA,"Este jogador não está online.");
    if(EstaPreso[prenderid] == 0) return SendClientMessage(playerid,0xFF0000AA,"Este jogador não está preso.");
    GetPlayerName(prenderid,pname,sizeof(pname));
    format(str, sizeof(str), "%s Foi solto pelo administrador.",pname);
    SendClientMessageToAll(0xFF0000AA, str);
    SendClientMessage(prenderid,0xFF0000AA,"Você foi solto pelo administrador.");
    SetPlayerInterior(prenderid,0);
    SpawnPlayer(prenderid);
    EstaPreso[prenderid] = 0;
    KillTimer(TimerJaulado[prenderid]);
    return 1;
}

forward JAULADO(prenderid);
public JAULADO(prenderid) return SetPlayerInterior(prenderid,0), SpawnPlayer(prenderid), EstaPreso[prenderid] = 0, KillTimer(TimerJaulado[prenderid]);

/*No topo do OnPlayerCommandText coloque:
if(EstaPreso[playerid] == 1) return SendClientMessage(playerid, 0xFF0000AA, "Você não pode digitar nenhum comando na cadeia.");*/

Last edited by RoacH`; 27/04/2012 at 09:51 PM.
RoacH` is offline   Reply With Quote
Old 21/04/2012, 11:18 PM   #1417
steki.
High-roller
 
steki.'s Avatar
 
Join Date: Nov 2010
Location: São Paulo, Brasil
Posts: 2,557
Reputation: 317
Default Re: [ Códigos Úteis ]

Sinceramente... Suas "abstrações" de funções não fazem o menor sentido e atrapalham mais do que ajudam.
__________________
Rio
steki. is offline   Reply With Quote
Old 21/04/2012, 11:35 PM   #1418
Skream
Banned
 
Join Date: Apr 2012
Posts: 225
Reputation: 64
Default Re: [ Códigos Úteis ]

pawn Code:
cmd(cfg, playerid, params[ ] )
{
    if ( !IsPlayerAdmin ( playerid ) ) return false;

    if ( isnull ( params ) )
    {
        SendClientMessage ( playerid, 0xFF0000FF, "(ERRO) Uso correto: /cfg [param]" );
        SendClientMessage ( playerid, 0xFF0000FF, "(ERRO) cp, weather." );
       
        return true;
    }

    new type[ 15 ], start = strfind ( params, " " );

    strmid ( type, params, 0, start == -1 ? ( strlen ( params ) ) : ( start ), sizeof type );
   
    if ( !strcmp ( type, "cp", true ) )
    {
        new Float:dist;
       
        if ( sscanf ( params, "'cp'f", dist ) )
        {
            return SendClientMessage ( playerid, 0xFF0000FF, "(ERRO) Uso correto: /cfg cp [distance]" );
        }
       
        new Float:ps[ 4 ];
       
        GetPlayerPos         ( playerid, ps[ 0 ], ps[ 1 ], ps[ 2 ] );
        GetPlayerFacingAngle ( playerid, ps[ 3 ]                   );
       
        SetPlayerCheckpoint ( playerid, ps[ 0 ] + ( dist * floatsin( -ps[ 3 ], degrees ) ), ps[ 1 ] + ( dist * floatcos( -ps[ 3 ], degrees ) ), ps[ 2 ], 2.50 );
    } else
   
    if ( !strcmp ( type, "weather", true ) )
    {
        new weather;

        if ( sscanf ( params, "'weather'd", weather ) ) return SendClientMessage ( playerid, 0xFF0000FF, "(ERRO) Uso correto: /cfg weather [weather id]" );
        if ( weather < 0 || weather > 9999 )            return SendClientMessage ( playerid, 0xFF0000FF, "(ERRO) Weather inválido. Use um weather válido. (Ex: 30)" );

        SetWeather ( weather );
    }
   
    return true;
}
Exemplo de /cfg, naturalmente é mais rápido do que dar strtok em cada parâmetro...
Skream is offline   Reply With Quote
Old 22/04/2012, 11:23 AM   #1419
zSuYaNw
Godfather
 
zSuYaNw's Avatar
 
Join Date: Apr 2010
Location: Santa Catarina
Posts: 6,840
Reputation: 672
Default Re: [ Códigos Úteis ]

Rain Vehicles

pawn Code:
#include a_samp

public OnFilterScriptInit()
{
    SetTimer("Rain", 1000, true);
    return 1;
}


Rain(); public Rain()
{
    for(new i; i != MAX_VEHICLES; ++i)
    {
        ChangeVehicleColor(i, random(10), random(10));
    }
}

Este código faz o veiculo de todos ficar mudando de cor.
zSuYaNw is offline   Reply With Quote
Old 23/04/2012, 12:04 AM   #1420
ipsBruno
Godfather
 
ipsBruno's Avatar
 
Join Date: Apr 2010
Location: Brazil, Caxias RS
Posts: 6,084
Reputation: 546
Default Respuesta: [ Códigos Úteis ]

Esta definição irá pegar um digito de um número conforme sua posição de trás para frente. Sem manipular strings, só com matemática

PHP Code:
#define getDigit(%0,%1) (((%0 / (floatround(floatpower(10, %1)))) % 10)) 
Exemplo
Code:
 * f(123458459, 2) = 4
 * f(123458459, 1) = 5
 * f(123458459, 0) = 9
 * f(123458459, 7) = 2
ipsBruno is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[FilterScript] Menus Úteis [SKIN|CARROS|ARMAS] SlashPT Lançamentos/Releases 25 02/05/2014 03:56 PM
[Include] [INC]Várias e Uteis Funções andmeida10 Lançamentos/Releases 28 14/12/2012 01:49 PM
[PEDIDO] Codigos Hashtag Português/Portuguese 7 16/11/2011 10:09 PM


All times are GMT. The time now is 11:17 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.