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(playerid, params[])
{
new Msg[128], Skin;
SendAdminText(playerid, "/skin", params);
if (APlayerData[playerid][LoggedIn] == true)
{
if (APlayerData[playerid][PlayerLevel] >= 0)
{
if (sscanf(params, "i", Skin)) SendClientMessage(playerid, 0xFF0000AA, "Use: \"/skin <SkinID 0-311> (exceto 211 e 217)\"");
else
{
if ((Skin >= 0) && (Skin <= 311) && (Skin != 211) && (Skin != 217))
{
SetPlayerSkin(playerid, Skin);
format(Msg, 128, "{00FF00}Vocк mudou sua skin para {FFFF00}%i", Skin);
SendClientMessage(playerid, 0xFFFFFFFF, Msg);
}
else
SendClientMessage(playerid, 0xFFFFFFFF, "{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(playerid, params[])
{
SendAdminText(playerid, "/skin", params);
if (APlayerData[playerid][LoggedIn] == true)
{
if (APlayerData[playerid][PlayerLevel] >= 0)
{
new Skin;
if (sscanf(params, "i", Skin)) SendClientMessage(playerid, 0xFF0000AA, "Use: \"/skin <SkinID 0-311> (exceto 211 e 217)\"");
else
{
switch(Skin)
{
case 0..210, 212..216, 218..311:
{
new Msg[128];
SetPlayerSkin(playerid, Skin);
format(Msg, 128, "{00FF00}Vocк mudou sua skin para {FFFF00}%i", Skin);
SendClientMessage(playerid, 0xFFFFFFFF, Msg);
}
default:
SendClientMessage(playerid, 0xFFFFFFFF, "{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