|
|
#41 | |
|
Guest
Posts: n/a
|
Quote:
Acha que a equipe SA-MP deixaria os jogadores manipularem desse jeito a quantidade de memória ocupada do servidor ?Não mesmo. Esse é um dos primeiros cuidados que se aprende a ter ao estudar a linguagem C/C++, com a qual o núcleo do SA-MP foi construído .O jogador pode colocar quantos caracteres quiser na caixa que aparece quando se tecla T. O cmdtext será limitado a 128 caracteres. E esse limite não pode ser ultrapassado por um programa do computador do jogador, pois é uma informação do próprio servidor. Logo, não há como zcmd chegar a processar mais que isso .Por saberem disso, os desenvolvedores dessa include não precisaram declarar uma variável array para o cmdtext, o que poderia aumentar o tempo de execução dos comandos, tamanho do arquivo binário, etc. Espero ter ajudado .
|
|
|
|
|
#42 | ||
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Jul 2011
Location: Secret...
Posts: 1,545
Reputation: 169
|
Quote:
Ah to ligado, eu também não tinha pensando nisso, pois não existe limite no comando, eu estarei fazendo isso no meu bcmd e vou atualizar com urgência, obrigado bruno! Quote:
Algo assim, isso significa que o comando podera ter um limite apenas de 32 caracteres. Agora me diga. se 32 caracteres é isto, coisa que eu acho que não existiria um comando com esse nome, lembrando que isto não é params, é só o nome do comando: Code:
qwertyuiopqwertyuiopqwertyuiopqw agora veja Code:
cmd_qwertyuiopqwertyuiopqwertyuiopqw(); 32: Code:
qwertyuiopqwertyuiopqwertyuiopqw Code:
qwertyuiopqwertyuiopqwertyuiopqwertyuiopqwertyuiopqwertyuiopqwertyuiopqwertyuiopqwertyuiopqwertyuiopqwertyuiopqwertyuiopqwertyui 32 + 4 = 36 | 128 + 4 = 132 @Edit Criei a public dentro do script e da este aviso "warning: 200: symbol "qwertyuiopqwertyuiopqwertyuiopq" is truncated to 31 characters" @Edit² De facto fiz alguns testes, com e sem for e de facto não aconteceu nada ao servidor. Estou esperando a vossa opinião. |
||
|
|
|
|
|
#43 | |
|
Guest
Posts: n/a
|
Quote:
Parece que você não entendeu o assunto da discussão .Sim, zcmd utiliza uma variável para o nome da função pública a ser executada como comando, mas não faz isso com o cmdtext. Acontece que em algumas partes de seu código, a include opera diretamente com cmdtext, como esta :Code:
if (zcmd_g_HasOPCS && !CallLocalFunction("OnPlayerCommandReceived", "is", playerid, cmdtext))
{
return 1;
}
Drakon disse que o jogador pode fazer o cmdtext ter um tamanho superior a 128 caracteres a ponto de poder aumentar drasticamente a carga de processamento de zcmd. O fato é que isso não é verdade .Espero ter ajudado .
|
|
|
|
|
#44 |
|
Godfather
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2010
Location: Caxias do Sul
Posts: 5,210
Reputation: 305
|
- Gonçalo:
Estou falando dos parâmetros, não do nome do comando. - rjj: O packets "imitam" com o jogador faria, exceto pelo fato de serem "bots". Se SA:MP fosse tão segura assim não existiria nem hackings que fingem ser jogadores como bots de ping 65535. E acredite, isto é muito fácil fazer. Ou vai querer negar o fato que SA:MP nunca teve problemas com isto? |
|
|
|
|
|
#45 | |
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Jul 2011
Location: Secret...
Posts: 1,545
Reputation: 169
|
Quote:
pawn Code:
Então seguindo a minha lógica é possível mandar um texto com +128 caracteres, o sa-mp não permite + de 128 caracteres em SendClientMessage, mas em printf e outras cosias permite, então o que o bruno quer dizer esta correcto, pois se quando usamos o sscanf e usamos vários parâmetros é possível ultrapassar os 128 caracteres, pois essa string será executada por uma callback e não pelo SendClientMessage, o facto que pode comprovar é o uso de MySQL, a callback que recebe o erro também tem o query e as vezes existem Querys com +128 caracteres, alias podem chegar a 2000 e isto vem comprovar que o bruno esta correto. |
|
|
|
|
|
|
#46 |
|
Huge Clucker
![]() ![]() ![]() Join Date: Jul 2012
Posts: 492
Reputation: 10
|
Quais são os comandos? caso não haja comando, como coloco o tapete?
|
|
|
|
|
|
#47 | ||
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Jul 2011
Location: Secret...
Posts: 1,545
Reputation: 169
|
Quote:
Quote:
|
||
|
|
|
|
|
#48 |
|
Banned
![]() Join Date: Apr 2006
Posts: 31
Reputation: 1
|
BlueX acho que essa parte pode causar algum tipo de problema. vamos ao raciocínio:
pawn Code:
E outro(ou o mesmo acima) conecta ao servidor novamente. Efeito: O servidor criará outro timer, sendo que o criado anteriormente não foi destruído ![]() Espero que me compreenda
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|