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
|
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(playerid, killerid, reason)
{
if(Level[playerid] == 1) Level[killerd]++;
else if(Level[playerid] == 2) Level[killerd] += 5;
else if(Level[playerid] == 3) Level[killerd] += 10;
SetPlayerScore(killerid, Level[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 i, playerPoolSize, vehiclePoolSize;
playerPoolSize = GetPlayerPoolSize();
vehiclePoolSize = GetVehiclePoolSize();
for(i = 0; i <= playerPoolSize; i++) SetPlayerPos(i, 0.0,0.0,0.0);
for(i = 1; i <= vehiclePoolSize; i++) SetVehiclePos(i, 0.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(playerid, killerid, reason)
{
if(Level[playerid] == 1) Level[killerd]++;
else if(Level[playerid] == 2) Level[killerd] += 5;
else if(Level[playerid] == 3) Level[killerd] += 10;
SetPlayerScore(killerid, Level[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.