SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 07/01/2013, 03:08 AM   #2421
zSuYaNw
Godfather
 
zSuYaNw's Avatar
 
Join Date: Apr 2010
Location: Santa Catarina
Posts: 6,840
Reputation: 672
Default Re: Códigos Úteis #1

Remover caractere da string


pawn Code:
stock str_charremove(string[], cha = ' '){

    static str_int, str_size;
   
    for(str_size = strlen(string), str_int = 0; str_size != str_int; ++str_int){
        if(string[str_int] == cha){
            strdel(string, str_int, str_int + 0x1);
        }
    }

    return string;
}








Verificar se o player nasceu
pawn Code:
#include a_samp

#define IsPlayerSpawned(%0)         Player{%0}

new
    bool: Player [ ((MAX_PLAYERS + cellmax / cellmax) - 0x1) char]
;

public OnPlayerSpawn(playerid){
    return Player{playerid} = true, !false;
}

public OnPlayerConnect(playerid){
    return Player{playerid} = !true, !false;
}


#if defined _ALS_OnPlayerSpawn
    #undef OnPlayerSpawn
#else
    #define _ALS_OnPlayerSpawn
#endif
#define OnPlayerSpawn hook_OnPlayerSpawn

#if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
#else
    #define _ALS_OnPlayerConnect
#endif
#define OnPlayerConnect hook_OnPlayerConnect

forward hook_OnPlayerConnect(playerid);
forward hook_OnPlayerSpawn(playerid);

Last edited by zSuYaNw; 07/01/2013 at 08:14 AM.
zSuYaNw is offline   Reply With Quote
Old 07/01/2013, 05:25 PM   #2422
Equipe
Big Clucker
 
Join Date: Dec 2012
Posts: 122
Reputation: 0
Default Re: Códigos Úteis #1

Eae Galera, De boa? Venho hoje aki para postar 1 Comando de pawn que eu fiz

Chama se "/su"

FUNÇÃO:
Dar Ao Jogador Escolhido, Nivel 1 de procurado
Se No Seu Servidor Você botou para quando for da /prender , se o player não estiver procurado retornar a mensagem
"O Player %s Não está procurado"
Então é um comando para os Policiais, Por exemplo: Aquele Player Chegou Te Insultou, Você tem o direito de dar /su Nele, Para Dar nivel de procurado 1 , e poder Prende-lo

Bom se o seu comando /prender não tem essa regra, Poste isso aki nele:


PHP Code:
if (GetPlayerWantedLevel (plid) == 0)
return 
SendClientMessage (playeridVermelho"(ERRO) Esse jogador não está procurado! By Mister"); // Você pode Editar a Parte Do "By Mister" 
Obs: Você deve postar essa parte no seu comando /prender

Bom Galera Agora Vamos Ao Comando "/su"


PHP Code:
if(strcmp(cmd"/su"true) == 0) {
new 
aname[MAX_PLAYER_NAME];
GetPlayerName(playeridanameMAX_PLAYER_NAME);
format(filesizeof(file), PASTA_CONTASaname);
if(
dini_Int(file"Profissao") == Policial_C || dini_Int(file"Profissao") == Policial_F || dini_Int(file"Profissao") == Delegado || dini_Int(file"Profissao") == Bope || dini_Int(file"Profissao") == Swat || dini_Int(file"Profissao") == Narcoticos || dini_Int(file"Profissao") == Policial_M || dini_Int(file"Profissao") == FBI || dini_Int(file"Profissao") == LSPD || dini_Int(file"aAdmin") == 1) {
new 
tmp[256];
new 
plid;
tmp strtok(cmdtextidx);
if(!
strlen(tmp)){
SendClientMessage(playeridVermelho"(ERRO) Use: /su [id]");
return 
1;
}
plid strval(tmp);
if(!
IsPlayerConnected(plid)){
SendClientMessage(playeridVermelho"(ERRO) O Jogador não esta online");
return 
1;
} else {
new 
pname[MAX_PLAYER_NAME];
GetPlayerName(plidpnameMAX_PLAYER_NAME);
format(file2sizeof(file2), PASTA_CONTASpname);
SendClientMessage(plidAvisostring);
format(stringsizeof(string), "(INFO) O Policial %s te setou 1 nivel de procurado"aname);
SendClientMessage(plidBluestring);
SetPlayerWantedLevel(plid1);
SendClientMessage(playeridVermelho,"(INFO) Você deu nivel 1 de procurado ao Jogador");
return 
1;
}
}

Bom Galera Está Ai O Comando, Ponham no GM de vocês se quiserem, Eu fiz e estou tentando traze-lo para vocês

Bom não é aquele tipo de code, que você vê e diz que é otimo
Afinal, Eu ainda sou Scripter Iniciante

Mais com a pouca experiencia que eu tenho, resolvi criar esse comando e trazer para vocês

Deem a sua opnião sobre ele

Obrigado .
Equipe is offline   Reply With Quote
Old 07/01/2013, 08:56 PM   #2423
dPlaYer_
High-roller
 
dPlaYer_'s Avatar
 
Join Date: Jul 2011
Location: Salvador
Posts: 1,736
Reputation: 179
Default Re: Códigos Úteis #1

Quote:
Originally Posted by Equipe View Post
Bom não é aquele tipo de code, que você vê e diz que é otimo
Afinal, Eu ainda sou Scripter Iniciante

Mais com a pouca experiencia que eu tenho, resolvi criar esse comando e trazer para vocês

Deem a sua opnião sobre ele

Obrigado .[/B]
Mal identado e um uso horrível.

Código melhorado:

pawn Code:
if(strcmp(cmd, "/su", true) == 0)
{
    new tmp[150], plid, name[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, -1, "( Erro ) Use: /su [id]");
    plid = strval(tmp);
    if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, -1, "( Erro ) O Jogador não esta online");
    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
    format(string, sizeof(string), "( Info ) O Policial %s te setou 1 nivel de procurado", name);
    SendClientMessage(plid, -1, string);
    SetPlayerWantedLevel(plid, +1);
    SendClientMessage(playerid, Vermelho,"( Info ) Você deu nivel 1 de procurado ao Jogador");
    return 1;
}
__________________
dPlaYer_ is offline   Reply With Quote
Old 09/01/2013, 06:03 PM   #2424
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 #1

pawn Code:
parsetdtext(input[]) {
    new index = -1, len = strlen(input);
    while(++index < len) {
        if(input[index] == 'À') input[index] = 128;
        if(input[index] == 'Á') input[index] = 129;
        if(input[index] == 'Â') input[index] = 130;
        if(input[index] == 'Ä') input[index] = 131;
        if(input[index] == 'Ç') input[index] = 133;
        if(input[index] == 'È') input[index] = 134;
        if(input[index] == 'É') input[index] = 135;
        if(input[index] == 'Ê') input[index] = 136;
        if(input[index] == 'Ë') input[index] = 137;
        if(input[index] == 'Ì') input[index] = 138;
        if(input[index] == 'Í') input[index] = 139;
        if(input[index] == 'Î') input[index] = 140;
        if(input[index] == 'Ï') input[index] = 141;
        if(input[index] == 'Ò') input[index] = 142;
        if(input[index] == 'Ó') input[index] = 143;
        if(input[index] == 'Ô') input[index] = 144;
        if(input[index] == 'Ö') input[index] = 145;
        if(input[index] == 'Ù') input[index] = 146;
        if(input[index] == 'Ú') input[index] = 147;
        if(input[index] == 'Û') input[index] = 148;
        if(input[index] == 'Ü') input[index] = 149;
       
        if(input[index] == 'à') input[index] = 151;
        if(input[index] == 'á') input[index] = 152;
        if(input[index] == 'â') input[index] = 153;
        if(input[index] == 'ä') input[index] = 154;
        if(input[index] == 'ç') input[index] = 156;
        if(input[index] == 'è') input[index] = 157;
        if(input[index] == 'é') input[index] = 158;
        if(input[index] == 'ê') input[index] = 159;
        if(input[index] == 'ë') input[index] = 160;
        if(input[index] == 'ì') input[index] = 161;
        if(input[index] == 'í') input[index] = 162;
        if(input[index] == 'î') input[index] = 163;
        if(input[index] == 'ï') input[index] = 164;
        if(input[index] == 'ò') input[index] = 165;
        if(input[index] == 'ó') input[index] = 166;
        if(input[index] == 'ô') input[index] = 167;
        if(input[index] == 'ö') input[index] = 168;
        if(input[index] == 'ù') input[index] = 169;
        if(input[index] == 'ú') input[index] = 170;
        if(input[index] == 'û') input[index] = 171;
        if(input[index] == 'ü') input[index] = 172;
    }
    return 1;
}
__________________
Rio
steki. is offline   Reply With Quote
Old 10/01/2013, 03:32 PM   #2425
zSuYaNw
Godfather
 
zSuYaNw's Avatar
 
Join Date: Apr 2010
Location: Santa Catarina
Posts: 6,840
Reputation: 672
Default Re: Códigos Úteis #1

pawn Code:
#define MAX_STRING      ((250 | 5)  >> 1) + 1
#define Format(%0,%1) format(zString, MAX_STRING, %0,%1)
#define GetFormat()   zString

stock zString[MAX_STRING];

Formatação de string facilmente


Testing:
pawn Code:
#define My "Love"

    Format("Hello My: %s", My);

    printf(GetFormat());



Saida: Hello My: Love
zSuYaNw is offline   Reply With Quote
Old 10/01/2013, 06:28 PM   #2426
@FatalFormat
Huge Clucker
 
@FatalFormat's Avatar
 
Join Date: Sep 2012
Posts: 203
Reputation: 22
Default Re: Códigos Úteis #1

Contagem pelo Chat

Básico, mas útil para servidores de drifting e para aqueles que não sabem fazer!

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

#define MAX_COUNTS 5 // Número inícial

new fContz, MatarTime, String[60], bool:EmAndamento;

CMD:contar(playerid) {
    if(EmAndamento == true)
        return SendClientMessage(playerid, -1, " [ERRO] Uma contagem já está em andamento.. ");
    fContz = MAX_COUNTS;

    new fNome[MAX_PLAYER_NAME]; GetPlayerName(playerid, fNome, MAX_PLAYER_NAME);

    format(String, sizeof(String), " %s iníciou a contagem. ", fNome);

    SendClientMessageToAll(-1, String);

    MatarTime = SetTimer("Contando", 1000, true);
   
    EmAndamento = true;
    return true;
}

forward Contando();
public Contando() {
    if(fContz > 0) {
        format(String, sizeof(String), " ~> {FF0000}%d ", fContz);
        SendClientMessageToAll(-1, String);
        fContz -= 1;
        if(fContz == 0) {
            SendClientMessageToAll(-1, " ~> {FF0000}GO GO GO");
            EmAndamento = false;
            KillTimer(MatarTime);
        }
    }
    return true;
}

Funcionamento

Para iníciar a contagem basta digitar: /contar.

Alterações

Para alterar o número inícial vá até o seguinte código:
Code:
#define MAX_COUNTS 5 // Número inícial
Altere o número em azul.

ScreenShot

Vejá:

__________________
-
@FatalFormat is offline   Reply With Quote
Old 10/01/2013, 06:33 PM   #2427
Al4n
Little Clucker
 
Al4n's Avatar
 
Join Date: Jan 2013
Posts: 1
Reputation: 0
Default Re: Códigos Úteis #1

#include <a_samp>
#define COLOR_LIGHTBLUE 0x33CCFFAA
forward one();
forward two();
forward three();
forward four();
forward five();
forward start();
new pName[30];
new string[256];
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Contagem Regressiva By:*Al4n*");
print("--------------------------------------\n");
return 1;
}

#else
#endif
public five()
{
SendClientMessageToAll(0xFFFF00AA, ".::5::.");
return 1;
}

public four()
{
SendClientMessageToAll(0xFFFF00AA, ".::4::.");
return ;
}

public three()
{
SendClientMessageToAll(0xFFFF00AA, ".::3::.");
return 1;
}

public two()
{
SendClientMessageToAll(0xFFFF00AA, ".::2::.");
return 1;
}

public one()
{
SendClientMessageToAll(0xFFFF00AA, ".::1::.");
return 1;
}

public start()
{
SendClientMessageToAll(0xFF0000AA, ".::GO GO GO::.");
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/contar", cmdtext, true, 10) == 0){
SetTimer("five", 1000, 0);
SetTimer("four", 2000, 0);
SetTimer("three", 3000, 0);
SetTimer("two", 4000, 0);
SetTimer("one", 5000, 0);
SetTimer("start", 7000, 0);

{
GetPlayerName(playerid, pName, 30);
format(string, 280, ">> %s Iniciou a Contagem.<<", pName);
SendClientMessageToAll(COLOR_LIGHTBLUE, string);

}
return 1;
}
return 0;
}
Al4n is offline   Reply With Quote
Old 10/01/2013, 06:38 PM   #2428
AmericanStyle'™
Gangsta
 
Join Date: Mar 2012
Location: Na 9 Lua De Saturno,8 Galaxia do Universo
Posts: 558
Reputation: 55
Default Re: Códigos Úteis #1

Quote:
Originally Posted by Al4n View Post
#include <a_samp>
#define COLOR_LIGHTBLUE 0x33CCFFAA
forward one();
forward two();
forward three();
forward four();
forward five();
forward start();
new pName[30];
new string[256];
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Contagem Regressiva By:*Al4n*");
print("--------------------------------------\n");
return 1;
}

#else
#endif
public five()
{
SendClientMessageToAll(0xFFFF00AA, ".::5::.");
return 1;
}

public four()
{
SendClientMessageToAll(0xFFFF00AA, ".::4::.");
return ;
}

public three()
{
SendClientMessageToAll(0xFFFF00AA, ".::3::.");
return 1;
}

public two()
{
SendClientMessageToAll(0xFFFF00AA, ".::2::.");
return 1;
}

public one()
{
SendClientMessageToAll(0xFFFF00AA, ".::1::.");
return 1;
}

public start()
{
SendClientMessageToAll(0xFF0000AA, ".::GO GO GO::.");
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/contar", cmdtext, true, 10) == 0){
SetTimer("five", 1000, 0);
SetTimer("four", 2000, 0);
SetTimer("three", 3000, 0);
SetTimer("two", 4000, 0);
SetTimer("one", 5000, 0);
SetTimer("start", 7000, 0);

{
GetPlayerName(playerid, pName, 30);
format(string, 280, ">> %s Iniciou a Contagem.<<", pName);
SendClientMessageToAll(COLOR_LIGHTBLUE, string);

}
return 1;
}
return 0;
}
6 Timers de uma vez.

__________________



AmericanStyle'™ is offline   Reply With Quote
Old 10/01/2013, 06:54 PM   #2429
ruGuy
Little Clucker
 
ruGuy's Avatar
 
Join Date: Dec 2012
Posts: 6
Reputation: 1
Default Re: Códigos Úteis #1

Quote:
Originally Posted by Al4n View Post
#include <a_samp>
#define COLOR_LIGHTBLUE 0x33CCFFAA
forward one();
forward two();
forward three();
forward four();
forward five();
forward start();
new pName[30];
new string[256];
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Contagem Regressiva By:*Al4n*");
print("--------------------------------------\n");
return 1;
}

#else
#endif
public five()
{
SendClientMessageToAll(0xFFFF00AA, ".::5::.");
return 1;
}

public four()
{
SendClientMessageToAll(0xFFFF00AA, ".::4::.");
return ;
}

public three()
{
SendClientMessageToAll(0xFFFF00AA, ".::3::.");
return 1;
}

public two()
{
SendClientMessageToAll(0xFFFF00AA, ".::2::.");
return 1;
}

public one()
{
SendClientMessageToAll(0xFFFF00AA, ".::1::.");
return 1;
}

public start()
{
SendClientMessageToAll(0xFF0000AA, ".::GO GO GO::.");
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/contar", cmdtext, true, 10) == 0){
SetTimer("five", 1000, 0);
SetTimer("four", 2000, 0);
SetTimer("three", 3000, 0);
SetTimer("two", 4000, 0);
SetTimer("one", 5000, 0);
SetTimer("start", 7000, 0);

{
GetPlayerName(playerid, pName, 30);
format(string, 280, ">> %s Iniciou a Contagem.<<", pName);
SendClientMessageToAll(COLOR_LIGHTBLUE, string);

}
return 1;
}
return 0;
}

Mais simples, apesar não testei.


pawn Code:
#define MyFunction::%0(%1) forward %0(%1); \
                            public %0(%1)


static Contou,
    Numeros = 5;

cmd:contar(playerid)
{
    SendClientMessage(playerid,-1,"Contar");
    Contou = SetTimer("Contando",1000,1);
    return 1;
}

MyFunction :: Contando(playerid)
{

    switch (Numeros)
    {
        case 5: return SendClientMessage(playerid,-1, "5"), Numeros = 4;
        case 4: return SendClientMessage(playerid,-1, "4"), Numeros = 3;
        case 3: return SendClientMessage(playerid,-1, "3"), Numeros = 2;
        case 2: return SendClientMessage(playerid,-1, "2"), Numeros = 1;
        case 1: return SendClientMessage(playerid,-1, "1"), Numeros = 0;
        case 0: return SendClientMessage(playerid,-1, "0"), Numeros = 5, KillTimer(Contou);
    }
    return 1;
}
ruGuy is offline   Reply With Quote
Old 10/01/2013, 07:11 PM   #2430
LincoN_
Big Clucker
 
Join Date: Jan 2013
Posts: 68
Reputation: 31
Default Re: Códigos Úteis #1

Quote:
Originally Posted by ruGuy View Post
Mais simples, apesar não testei.


pawn Code:
#define MyFunction::%0(%1) forward %0(%1); \
                            public %0(%1)


static Contou,
    Numeros = 5;

cmd:contar(playerid)
{
    SendClientMessage(playerid,-1,"Contar");
    Contou = SetTimer("Contando",1000,1);
    return 1;
}

MyFunction :: Contando(playerid)
{

    switch (Numeros)
    {
        case 5: return SendClientMessage(playerid,-1, "5"), Numeros = 4;
        case 4: return SendClientMessage(playerid,-1, "4"), Numeros = 3;
        case 3: return SendClientMessage(playerid,-1, "3"), Numeros = 2;
        case 2: return SendClientMessage(playerid,-1, "2"), Numeros = 1;
        case 1: return SendClientMessage(playerid,-1, "1"), Numeros = 0;
        case 0: return SendClientMessage(playerid,-1, "0"), Numeros = 5, KillTimer(Contou);
    }
    return 1;
}
isso funcionará perfeitamente más umas correções!

pawn Code:
static global ficaria a mesma coisa que new e não adiantaria!
countou deveria ser uma variavel para uso de cada player teste duas pessoas contarem ao mesmo tempo ^^
daria bugs
new Countou[MAX_PLAYERS];

Countou[playerid] = SettimerEx......

KillTimer(Contou[playerid]);

#FicaADica
LincoN_ 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 12:52 AM.


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