SA-MP Forums Archive
[Off] Dicas e avisos relacionados a SA-MP [PT/BR] - 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)
+---- Thread: [Off] Dicas e avisos relacionados a SA-MP [PT/BR] (/showthread.php?tid=444179)



Dicas & Truques e avisos importantes sobre SA-MP! - Schocc - 15.06.2013

Dicas / Truques e avisos sobre SA-MP


@Regras:
1) Este tуpico й proibido postar conteъdo que nгo seja relacionado a Tips & Tricks e avisos importantes relacionados a SA-MP.


Podem postar suas dicas e truques que vocк aprendeu.
Podem postar noticias relacionadas a SA-MP.

Obrigado a todos que participarem.


Re: Dicas avisos SA-MP pt/br - arakuta - 15.06.2013

Й correto e funcional fazermos isto para obtermos o nome de um player:

pawn Код:
stock GetName(playerid)
{
    new name[24];
    GetPlayerName(playerid,name,24);
    return name;
}

format(msg,50,"Seja bem vindo: %s",GetName(playerid));
Porйm obtemos o nome de um mesmo jogador vбrias vezes.

Mas pode ser muito mais otimizado obtermos apenas uma vez

pawn Код:
new pName[MAX_PLAYERS][24]; // Variбvel global

public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid,pName[playerid],24);
    return 1;
}

// Pronto, agora sу utilizarmos quando quisermos :D

CMD:meunome(playerid)
{
    new frase[50];
    format(frase,50,"Seu nome й: %s",pName[playerid]);
    SendClientMessage(playerid,0xFFDD00FF,frase);
    return 1;
}



Re: Dicas avisos SA-MP pt/br - AlucardSnow - 15.06.2013

Acho que sempre й bom contar a verdadeira quantidade de cйlulas que vai utilizar uma Array, assim economizando bytes da memoria de seu host/localhost...
Nгo vai fazer muita diferenзa, mas deixa seu GM mais organizado...


Re: Dicas avisos SA-MP pt/br - s4kuL - 19.06.2013

nгo deixe seu gm com mais de 277k e linhas, pois vai bugar.


Re: Dicas avisos SA-MP pt/br - Schocc - 13.09.2013

Ao pedir ajuda no fуrum, faзa um tуpico resumido com algumas informaзхes, isso ajuda na hora de resolver ou identificar o problema.

Informe qual й o problema que vocк tem (Um simples resumo, errors/warnings).
O que o sistema/script deve fazer (Qual sua funзгo/finalidade).
O que o sistema/script estб fazendo (Qual й o resultado final).
Informe tambйm o sistema/script nгo deve fazer (Quais restriзхes deve ter, o inverso do que й pra acontecer).

Quote:

Qual comando exatamente demora ? poderia postar o cуdigo ?

Qual gamemode vocк usa ? й antigo, editado ou feito totalmente do zero.
Feito em zcmd ou processa os comandos com strcmp ?

Sгo informaзхes que vocк precisa postar quando quer ajuda, isso ajuda no processo de identificaзгo do problema.




Re: Dicas avisos SA-MP pt/br - RebeloX - 13.09.2013

Tente usar a lуgica e fazer debug de todos os scriptse que vocк faz, lembre-se que deve estudar programaзгo e nгo usas GF's.


Re: Dicas avisos SA-MP pt/br - PT - 13.09.2013

nгo deve criar variбveis desnecessбrias, tentar optimizar o mais possнvel sempre o script


Re: Dicas avisos SA-MP pt/br - Russo66 - 14.09.2013

Nunca deixar espaзos excessivo nos cуdigos, pois aumenta o tamanho do amx e dependendo do excesso pode atй causar lag.

Exemplo:

pawn Код:
Mйtodo incorreto:

new bool:Autorizado[ MAX_PLAYERS ];

public OnPlayerConnect( playerid )
{
    if( Autorizado[ playerid ] == false ) return SendClientMessage( playerid, -1, "[INFO]: Vocк nгo estб autorizado a entrar no servidor."), Kick( playerid );
    return 1;
}

Mйtodo correto:

new Autorizado[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    if(Autorizado[playerid] == false) return SendClientMessage(playerid, -1, "[INFO]: Vocк nгo estб autorizado a entrar no servidor."), Kick(playerid);
    return 1;
}

Mйtodo Super Fast:

new Autorizado[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    if(Autorizado[playerid]==false) return SendClientMessage(playerid,-1,"[INFO]: Vocк nгo estб autorizado a entrar no servidor."),Kick(playerid);
    return 1;
}
Alguns acham 'desorganizado', realmente fica um pouco, mais melhora muito o desempenho!

OBS: й claro que se vocк otimizar somente 2 cуdigos nгo obterб diferenзa visнvel, agora faзa isso em um game-mode inteiro e percebera a diferenзa.


Re: Dicas avisos SA-MP pt/br - smiiir - 14.09.2013

Quote:
Originally Posted by Russo66
Посмотреть сообщение
Nunca deixar espaзos excessivo nos cуdigos, pois aumenta o tamanho do amx e dependendo do excesso pode atй causar lag.

Exemplo:

pawn Код:
Mйtodo incorreto:

new bool:Autorizado[ MAX_PLAYERS ];

public OnPlayerConnect( playerid )
{
    if( Autorizado[ playerid ] == false ) return SendClientMessage( playerid, -1, "[INFO]: Vocк nгo estб autorizado a entrar no servidor."), Kick( playerid );
    return 1;
}

Mйtodo correto:

new Autorizado[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    if(Autorizado[playerid] == false) return SendClientMessage(playerid, -1, "[INFO]: Vocк nгo estб autorizado a entrar no servidor."), Kick(playerid);
    return 1;
}

Mйtodo Super Fast:

new Autorizado[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    if(Autorizado[playerid]==false) return SendClientMessage(playerid,-1,"[INFO]: Vocк nгo estб autorizado a entrar no servidor."),Kick(playerid);
    return 1;
}
Alguns acham 'desorganizado', realmente fica um pouco, mais melhora muito o desempenho!

OBS: й claro que se vocк otimizar somente 2 cуdigos nгo obterб diferenзa visнvel, agora faзa isso em um game-mode inteiro e percebera a diferenзa.
Meu game mode RPG tem 20k de linhas e й completamente cheio de espaзo e nгo senti nenhuma diferenзa, tem 420 KB de AMX


Re: Dicas avisos SA-MP pt/br - PT - 14.09.2013

Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
Meu game mode RPG tem 20k de linhas e й completamente cheio de espaзo e nгo senti nenhuma diferenзa, tem 420 KB de AMX
porque o compilador ao compilar colocar tudo juntinho

nao tem diferenзa colocarmos o code

A s s i m

porque ao compilar ele vai ficar

Assim