[Tutorial] Melhorando seus script's e seus gamemodes
#21

Boa PT,уtimo tutorial
Reply
#22

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

Bom Trabalho ^^
Reply
#23

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

@ Sky_.

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

@ Geral.

Muito Obrigado pelo feedback positivo.
Reply
#25

Bom tutorial, +REP!
Reply
#26

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

Bom tutorial

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

Cumprimentos.
Reply
#28

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

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
Reply
#30

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

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
Reply
#32

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;

Reply
#33

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

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

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

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

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

Obrigado.
Reply
#38

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).
Reply
#39

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

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)