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