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 - LockedLucas - 28.04.2015

Obrigado por me passar esse tutorial, mas vocк nгo entendeu direito tipo fazer comandos com por exemplo /Comando [playerid] [motivo] [dias - tempo etc...] saca comando com + de 1 [] por exemplo /ban [id] [motivo] [tempo] + - isso.


Re: Melhorando seus script's e seus gamemodes - PT - 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.
Para comandos em especifico com parвmetros da uma olhada neste meu tutorial:

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

porem se queres fazer sistemas de bans ( ou o la que seja ) por tempo etc tens de estudar outras coisas tbm.


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

Quote:
Originally Posted by PT
Посмотреть сообщение
Para comandos em especifico com parвmetros da uma olhada neste meu tutorial:

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

porem se queres fazer sistemas de bans ( ou o la que seja ) por tempo etc tens de estudar outras coisas tbm.
Nгo nгo estou querendo dizer que neste tutorial pra ele ficar mais completo na minha opiniгo vocк deveria ter colocar por exemplo comandos com mais parвmetros, e eu sу dei um exemplo do /comando [playerid] [motivo] sabe isso e sу um exemplo.


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

O tutorial jб estб bem explicado, se lкr com atenзгo vai saber fazer.


Respuesta: Melhorando seus script's e seus gamemodes - DKDarkking - 23.06.2015

como vou mudar isso pra 80mil linhas ?


Re: Respuesta: Melhorando seus script's e seus gamemodes - PT - 23.06.2015

Quote:
Originally Posted by DKDarkking
Посмотреть сообщение
como vou mudar isso pra 80mil linhas ?
Com calma e paciкncia consegues na boa. Aposto se adotares esses metodos consegues facilmente ter esse numero de linhas reduzido qualquer dъvida que precise quando eu poder ajudo-o.

Pode usar este tуpico se quiser.


Re: Melhorando seus script's e seus gamemodes - HaRdiiZin - 23.06.2015

Уtimo tutorial,
Nгo tinha o visto antes.. se vi, nгo me lembro;


Re: Melhorando seus script's e seus gamemodes - TGMTeam - 24.06.2015

Otimas dicas,parabens e obrigado!


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

Passado muito tempo ainda continuam a ver isto, nem acredito.

Quando arranjar mais tempo irei fazer uma atualizaзгo com mais coisas


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

Links do tуpico atualizados.

Talvez eu ainda adicione mais umas dicas aqui.


Re: Melhorando seus script's e seus gamemodes - EditPawn - 13.12.2015

Muito bom o tutorial PT, poderia tambйm adicionar variбveis booleanas, muitas pessoas ainda usam "0" e "1".

Parabйns.

@EDIT

Tambйm vejo muitas pessoas fazendo isso

PHP код:
new var = 1;
if(var == 
0) return 0;
if(var == 
1) return 1;
if(var == 
2) return 2
sendo que era somente utilizar "switch" ou "else if"


Re: Melhorando seus script's e seus gamemodes - WLSF - 13.12.2015

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
Muito bom o tutorial PT, poderia tambйm adicionar variбveis booleanas, muitas pessoas ainda usam "0" e "1".

Parabйns.

@EDIT

Tambйm vejo muitas pessoas fazendo isso

PHP код:
new var = 1;
if(var == 
0) return 0;
if(var == 
1) return 1;
if(var == 
2) return 2
sendo que era somente utilizar "switch" ou "else if"
Na verdade nesse caso nгo tem necessidade de if-else, muito menos de switch...

Se o valor de condiзгo й o mesmo do retorno, basta mandar retornar.


Re: Melhorando seus script's e seus gamemodes - EditPawn - 13.12.2015

Quote:
Originally Posted by ipsNan
Посмотреть сообщение
Na verdade nesse caso nгo tem necessidade de if-else, muito menos de switch...

Se o valor de condiзгo й o mesmo do retorno, basta mandar retornar.
Eu sei disso, eu sу coloquei o retorno para substituir uma funзгo.

@EDIT

Um exemplo:

PHP код:
new Level[MAX_PLAYERS];
public 
OnPlayerConnect(playerid)
{
    
Level[playerid] = 1;
    return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    if(
Level[playerid] == 1Level[killerd]++;
    else if(
Level[playerid] == 2Level[killerd] += 5;
    else if(
Level[playerid] == 3Level[killerd] += 10;
    
SetPlayerScore(killeridLevel[killerid]);
    return 
1;




Re: Melhorando seus script's e seus gamemodes - Bruno13 - 13.12.2015

Seria interessante incluir o que a nova versгo nos trouxe em relaзгo ao desempenho de loops, coisa que nгo vejo quase ninguйm utilizando...se nгo fores usar nenhum outro mйtodo, apenas nativo, й bem mais em conta utilizar os novos mйtodos do que GetMaxPlayers ou definir MAX_PLAYERS.

PHP код:
static iplayerPoolSizevehiclePoolSize;

playerPoolSize GetPlayerPoolSize();
vehiclePoolSize GetVehiclePoolSize();

for(
0<= playerPoolSizei++) SetPlayerPos(i0.0,0.0,0.0);

for(
1<= vehiclePoolSizei++) SetVehiclePos(i0.0,0.0,0.0);
//OBS: Lembrando que, o ID dos veнculos iniciam a partir do 1... 



Re: Melhorando seus script's e seus gamemodes - WLSF - 13.12.2015

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
Eu sei disso, eu sу coloquei o retorno para substituir uma funзгo.

@EDIT

Um exemplo:

PHP код:
new Level[MAX_PLAYERS];
public 
OnPlayerConnect(playerid)
{
    
Level[playerid] = 1;
    return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    if(
Level[playerid] == 1Level[killerd]++;
    else if(
Level[playerid] == 2Level[killerd] += 5;
    else if(
Level[playerid] == 3Level[killerd] += 10;
    
SetPlayerScore(killeridLevel[killerid]);
    return 
1;

Ainda sim nesse seu exemplo, o uso de if ou switch continua sendo desnecessбrio...

Pois este problema pode ser resolvido com matemбtica simples...

Se vocк tem como entrada o level do player, e pretende efetuar um calculo proporcional ao level, de forma aritmйtica.

Gerando a seguinte cadeia de saнda: (+5)

Entгo vocк vocк tem as seguintes amostras:

lvl_1 = 1
lvl_2 = 5
lvl_3 = 10
lvl_4 = 15

1
1 * 5
2 * 5
3 * 5
4 * 5

Essa pode ser uma boa maneira de vocк melhorar os scripts do seu gamemode...

O uso do if / switch tem uma necessidade, e muitas as vezes as pessoas acabam utilizando por ser uma saнda rбpida, e isso com certeza vai de contra o bom desempenho do seu cуdigo completo. Muitos problemas podem ser resolvidos sem a utilizaзгo de estruturas de controle.

Isso faz um bem danado, porque pra cada CMP, JMP, JE, JNE, etc... que estarб sendo evitado em baixo nнvel, seu cуdigo e o seu usuбrio final irгo agradecer em questхes de desempenho.


Lembrando que estou comentando isso apenas para contribuir, nгo quero contrariar vocк ou a sua metodologia.


Re: Melhorando seus script's e seus gamemodes - EditPawn - 13.12.2015

Quote:
Originally Posted by ipsNan
Посмотреть сообщение
Ainda sim nesse seu exemplo, o uso de if ou switch continua sendo desnecessбrio...

Pois este problema pode ser resolvido com matemбtica simples...

Se vocк tem como entrada o level do player, e pretende efetuar um calculo proporcional ao level, de forma aritmйtica.

Gerando a seguinte cadeia de saнda: (+5)

Entгo vocк vocк tem as seguintes amostras:

lvl_1 = 1
lvl_2 = 5
lvl_3 = 10
lvl_4 = 15

1
1 * 5
2 * 5
3 * 5
4 * 5

Essa pode ser uma boa maneira de vocк melhorar os scripts do seu gamemode...

O uso do if / switch tem uma necessidade, e muitas as vezes as pessoas acabam utilizando por ser uma saнda rбpida, e isso com certeza vai de contra o bom desempenho do seu cуdigo completo. Muitos problemas podem ser resolvidos sem a utilizaзгo de estruturas de controle.

Isso faz um bem danado, porque pra cada CMP, JMP, JE, JNE, etc... que estarб sendo evitado em baixo nнvel, seu cуdigo e o seu usuбrio final irгo agradecer em questхes de desempenho.


Lembrando que estou comentando isso apenas para contribuir, nгo quero contrariar vocк ou a sua metodologia.
Sua explicaзгo estб muito boa, mas a minha intenзгo nгo era em si na funзгo, nem sempre vocк terб funзхes que poderгo ser solucionadas com cбlculos. A minha intenзгo й apenas a respeito das verificaзхes e nгo em si as funзхes, por isso nгo citei muitos detalhes ou algo mais elaborado.

@EDIT

Prefiro nгo comentar mais sobre o assunto, PT deve ter entendido o que eu quis sugerir.


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

Agradecia a todos que gostassem de contribuir com novas sugestoes para melhorar o topico a fim de o colocar o mais completo possivel

Tendo em conta que ja tomei nota de algumas sugestoes que alguns fizeram que irei incluir quando melhorar o topico.

Obrigado a todos.