SA-MP Forums Archive
[Tutorial] Melhorando seus script's e seus gamemodes - 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)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] Melhorando seus script's e seus gamemodes (/showthread.php?tid=493276)

Pages: 1 2 3


Re: Melhorando seus script's e seus gamemodes - Diogo123 - 08.02.2014

Boa PT,уtimo tutorial


Re: Melhorando seus script's e seus gamemodes - JonathanFeitosa - 08.02.2014

Deveria ter ensinado sobre strcat, static, pVar.. Coisas que a maioria nгo reconhece.

Bom Trabalho ^^


Re: Melhorando seus script's e seus gamemodes - RebeloX - 08.02.2014

Li o tutorial e gostei do conteъdo, nгo irei falar do portuguкs porque pareceu-me que estavas no telemуvel e nгo no pc xD

Nesta parte:

Quote:
Originally Posted by PT
Посмотреть сообщение
Loops
  • A maioria tem por norma fazer os loops assim:

    pawn Код:
    for(new i = 0; i < MAX_PLAYERS; i++)
    Nгo й que esteja errado, porйm podem fazer com que os loops tenham um processamento (velocidade) maior, como?

    Fazendo-os assim:

    pawn Код:
    for(new i = 0, j = GetMaxPlayers(); i < j; i++)
Outra boa forma pode ser obtermos o nъmero de jogadores online e nгo os slots, porque se tivermos 100 slots e 20 jogadores logo faremos um loop desnecessбrio. Claro que podemos verificar se o jogador estar online mas isso pode ser resolvido pela criaзгo de uma funзгo que armazena a quantidade de jogadores online.


Re: Melhorando seus script's e seus gamemodes - PT - 08.02.2014

@ Sky_.

ja tinha pensado nisso quanto aos loops, depois vou adicionar isso.

@ Geral.

Muito Obrigado pelo feedback positivo.


Re: Melhorando seus script's e seus gamemodes - bruxo00 - 08.02.2014

Bom tutorial, +REP!


Re: Melhorando seus script's e seus gamemodes - Juniiro3 - 08.02.2014

Muito bom, sobre aquele mйtodo de
pawn Код:
if (!condicao)
    return value;
Eu sempre usei, mas achei que fosse o ъnico a ter pensado nisso.


Re: Melhorando seus script's e seus gamemodes - DarckWilly - 08.02.2014

Bom tutorial

Uma dъvida (embora nгo esteja ai), й verdade que as pVars deixa o server com mais lag?

Cumprimentos.


Re: Melhorando seus script's e seus gamemodes - PT - 09.02.2014

DarckWilly

desculpa a demora, ontem fui dormir, bem que eu saiba e pela logica nao, nao dao lag, porque sao funcoes nativas.

antes pelo contrario, sao uma boa maneira de muitas vezes nao se criar muitas variaveis.


Re: Melhorando seus script's e seus gamemodes - DarckWilly - 09.02.2014

Quote:
Originally Posted by PT
Посмотреть сообщение
DarckWilly

desculpa a demora, ontem fui dormir, bem que eu saiba e pela logica nao, nao dao lag, porque sao funcoes nativas.

antes pelo contrario, sao uma boa maneira de muitas vezes nao se criar muitas variaveis.
Ah ok, tenho de ver como funciona isso entгo. :3


Re: Melhorando seus script's e seus gamemodes - n0minal - 09.02.2014

Very good sir, confesso que no inнcio da programaзгo eu cometia os mesmos atos de inutilidade!


Re: Melhorando seus script's e seus gamemodes - PT - 22.04.2015

Quote:
Originally Posted by DiegoCosta
Посмотреть сообщение
Apenas pra eu entender melhor uma coisa: Estive observando o "Controle de Estruturas" na Wiki tentando atualizar/otimizar algumas coisas. Atй modifiquei um comando de setar skins, para nгo permitir que os players "comuns" utilizassem a skin de "staff". Deixei dessa forma e funcionou perfeitamente:

PHP код:
if ((Skin >= 0) && (Skin <= 311) && (Skin != 211) && (Skin != 217)) 
A lуgica creio estar correta, caso contrбrio o comando nгo estaria funcionando. A duvida й: existe maneira de otimizar isso??
Poderia me postar aqui o comando por favor?

Anyway vc usa ai demasiados ( e ) que nao precisa


Re: Melhorando seus script's e seus gamemodes - DiegoCosta - 22.04.2015

Quote:
Originally Posted by PT
Посмотреть сообщение
Poderia me postar aqui o comando por favor?

Anyway vc usa ai demasiados ( e ) que nao precisa
Entгo, PT, minha duvida й mais sobre esse excesso de (e), pq o comando em si estб funcionando normalmente.

O meu comando, como informei, й editado (base do PPC_truck). Tem problema posta-lo? Atй pq nгo pretendo que "refaзam" o comando por mim, quero aprender e ir melhorando aos poucos.

PHP код:
COMMAND:skin(playeridparams[])
{
    new 
Msg[128], Skin;
    
SendAdminText(playerid"/skin"params);
    if (
APlayerData[playerid][LoggedIn] == true)
    {
        if (
APlayerData[playerid][PlayerLevel] >= 0)
        {
            if (
sscanf(params"i"Skin)) SendClientMessage(playerid0xFF0000AA"Use: \"/skin <SkinID 0-311> (exceto 211 e 217)\"");
            else
            {
                if ((
Skin >= 0) && (Skin <= 311) && (Skin != 211) && (Skin != 217))
                {
                    
SetPlayerSkin(playeridSkin);                    
                    
format(Msg128"{00FF00}Vocк mudou sua skin para {FFFF00}%i"Skin);
                    
SendClientMessage(playerid0xFFFFFFFFMsg);
                }
                else
                    
SendClientMessage(playerid0xFFFFFFFF"{FF0000}Skin invбlida");
            }
        }
        else
            return 
0;
    }
    else
        return 
0;
    return 
1;




Re: Melhorando seus script's e seus gamemodes - PT - 23.04.2015

Bem podes aplicar um switch se quiseres nao ter um if tao pesado por assim dizer:

PHP код:
COMMAND:skin(playeridparams[]) 

    
    
SendAdminText(playerid"/skin"params); 
    if (
APlayerData[playerid][LoggedIn] == true
    { 
        if (
APlayerData[playerid][PlayerLevel] >= 0
        { 
            new 
Skin;
            if (
sscanf(params"i"Skin)) SendClientMessage(playerid0xFF0000AA"Use: \"/skin <SkinID 0-311> (exceto 211 e 217)\""); 
            else 
            { 
                switch(
Skin)
                {
                    case 
0..210212..216218..311:
                    {
                        new 
Msg[128]; 
                        
SetPlayerSkin(playeridSkin);                     
                        
format(Msg128"{00FF00}Vocк mudou sua skin para {FFFF00}%i"Skin); 
                        
SendClientMessage(playerid0xFFFFFFFFMsg);
                    }
                    default:
                        
SendClientMessage(playerid0xFFFFFFFF"{FF0000}Skin invбlida"); 
                }
            } 
        } 
    } 
    return 
1

acredita que esse if nao esta mau, tem coisas que tem de ser verificadas, por isso acho normal isso.


Re: Melhorando seus script's e seus gamemodes - DiegoCosta - 23.04.2015

Quote:
Originally Posted by PT
Посмотреть сообщение
Bem podes aplicar um switch se quiseres nao ter um if tao pesado por assim dizer:

acredita que esse if nao esta mau, tem coisas que tem de ser verificadas, por isso acho normal isso.
Obrigado PT. A verdade й que preciso estudar mais pra aprender "o que" usar e "como" usar. Lembro atй desse modo de usar os pontos (1..4) que indicam que "inclui tudo entre 1 e 4", mas nгo me passou pela cabeзa que poderia usar isso no comando tbm.

Vivendo e aprendendo. Grato pelo auxнlio.


Re: Melhorando seus script's e seus gamemodes - matheusspohr - 23.04.2015

Bom, apуs analizar o post dos 2 acimas ( PT, DiegoCosta) me vejo em um caso, meu servidor й de base PPC_Truking, peguei ele nem traduzido esta. Estou fazendo isso, nгo cheguei a parte de comandos ainda, mais nгo me lembro do samp ter mais de 299 skins, isto seria skins para versгo 0.3.7 ou ainda a 0.3z?

Grato.


Re: Melhorando seus script's e seus gamemodes - #Luca[S]. - 23.04.2015

Quote:
Originally Posted by matheusspohr
Посмотреть сообщение
Bom, apуs canalizar o post dos 2 acimas ( PTS, DiegoCosta) me vejo em um caso, meu servidor й de base PPC_Truking, peguei ele nem traduzido esta. Estou fazendo isso, nгo cheguei a parte de comandos ainda, mais nгo me lembro do samp ter mais de 299 skins, isto seria skins para versгo 0.3.7 ou ainda a 0.3z?

Grato.
0.3.7, as outras versхes sу tem 299 skins.


Re: Melhorando seus script's e seus gamemodes - matheusspohr - 23.04.2015

kkk, ops Desculpe-me eu postei pelo celular, meu celular nгo й muito bom, fica travando direto, mais quis dizer ''Analizar''.

Obrigado.


Re: Melhorando seus script's e seus gamemodes - DiegoCosta - 23.04.2015

Quote:
Originally Posted by matheusspohr
Посмотреть сообщение
Bom, apуs analizar o post dos 2 acimas ( PT, DiegoCosta) me vejo em um caso, meu servidor й de base PPC_Truking, peguei ele nem traduzido esta. Estou fazendo isso, nгo cheguei a parte de comandos ainda, mais nгo me lembro do samp ter mais de 299 skins, isto seria skins para versгo 0.3.7 ou ainda a 0.3z?

Grato.
Oi Matheus.

Й isso mesmo. Eu jб estou utilizando a versгo 0.3.7RC4-2 no meu servidor, onde foram adicionados novas skins (0-311). Inclusive jб estou estudando algumas funзхes para as dialogs dessa nova versгo (https://sampforum.blast.hk/showthread.php?tid=571736).


Re: Melhorando seus script's e seus gamemodes - LockedLucas - 28.04.2015

Bem que vocк poderia ter ensinado a criar comandos por exemplo /comando [playerid] [motivo] [tempo] tipo assim comandos com 3 funзхes saka, seria bem ъtil pra quem estб comeзando.


Re: Melhorando seus script's e seus gamemodes - ReyMysterio - 28.04.2015

Quote:
Originally Posted by LockedLucas
Посмотреть сообщение
Bem que vocк poderia ter ensinado a criar comandos por exemplo /comando [playerid] [motivo] [tempo] tipo assim comandos com 3 funзхes saka, seria bem ъtil pra quem estб comeзando.
Tem este tutorial уtimo de como fazer esses comandos

ZCMD + sscanf

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

Em portugues

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

Ou tambйm

YCMD + sscnaf

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