[Ajuda] Dъvida string
#1

String й uma coisa EXTREMAMENTE BБSICA no SAMP, porйm eu tenho uma dъvida em relaзгo a isso pq eu n gosto de usar as cйlulas de modo errado, ou seja, desperdiзa-las...

Ex:
PHP код:

new str[10]
SendClientMessage(playerid, -1"0123456789"); // 10 caracteres
SendClientMessage(playerid, -1"0123456789"); // 10 caracteres 
Minha dъvida: a variбvel str[10] vai ler apenas a mensagem 1, q contйm 10 caracteres ou vai ler as 2, q ambas contйm 10 caracteres e se sгo 10 caracteres por mensagem ou 10 caracteres por cуdigo.
Reply
#2

Na vdd ela nгo esta sendo utilizada, ou seja vai dar erro.
Reply
#3

mais ali vocк nгo estб usando a "string", para ser usada em ambas teria que formata-las , no caso que ficaria assim.

PHP код:
new str[10]
format(strsizeof(str), "0123456789");
SendClientMessage(playerid, -1str);

format(strsizeof(str), "9876543210");
SendClientMessage(playerid, -1str); 
Reply
#4

Sу eu que vi um "EX:"?

eu tanbem estou com uma duvida assim!
Reply
#5

Acredito que apуs a variбvel ser utilizada por uma funзгo zeraria o "buffer" assim podendo utiliza-la novamente.

Em meus cуdigos defino uma variбvel global para todas funзхes de envio de mensagens.
Reply
#6

Quote:
Originally Posted by Monotox
Посмотреть сообщение
Acredito que apуs a variбvel ser utilizada por uma funзгo zeraria o "buffer" assim podendo utiliza-la novamente.

Em meus cуdigos defino uma variбvel global para todas funзхes de envio de mensagens.
igual expliquei acima , teria que formata-la para usar novamente na mensagem seguinte.
Reply
#7

Exatamente o q o Coringa fez, eu esqueci de formatar... enfim, й basicamente isso!

Finalizando, a string (str[10]) irб mandar varias mensagens independente da quantidade de mensagens formatadas, porйm todas as mensagens n podem ultrapassar 10 cйlulas... Se entendi foi isso!
Reply
#8

Quote:
Originally Posted by Monotox
Посмотреть сообщение
Acredito que apуs a variбvel ser utilizada por uma funзгo zeraria o "buffer" assim podendo utiliza-la novamente.

Em meus cуdigos defino uma variбvel global para todas funзхes de envio de mensagens.
Boa ideia, se o Buffer й zerado automaticamente apуs o envio de uma msgm, uma variavel global com o mбximo de cйlulas [128] seria uma boa opзгo.
Reply
#9

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Exatamente o q o Coringa fez, eu esqueci de formatar... enfim, й basicamente isso!

Finalizando, a string (str[10]) irб mandar varias mensagens independente da quantidade de mensagens formatadas, porйm todas as mensagens n podem ultrapassar 10 cйlulas... Se entendi foi isso!
Exatamente !

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Boa ideia, se o Buffer й zerado automaticamente apуs o envio de uma msgm, uma variavel global com o mбximo de cйlulas [128] seria uma boa opзгo.
leia:
Quote:
Originally Posted by Kamper
Посмотреть сообщение
Nгo, nгo й melhor. Aparentemente parece ser mais trabalhoso mas evite ao mбximo criar variбveis globais. Se vocк costuma usar, por exemplo, uma string em muitas funзхes, sempre crie essa string localmente no escopo da funзгo. Vocк ganharб muito em performance.
Quote:
Originally Posted by Kamper
Посмотреть сообщение
O termo certo na verdade seria criadas. No momento da criaзгo de uma variбvel й alocado uma quantidade de memуria. Quanto mais memуria й utilizada menor й a performance da sua aplicaзгo.

Quando vocк cria uma variбvel global, a memуria alocada para essa variбvel vai permanecer alocada durante toda a execuзгo do programa. No caso do SA-MP, enquanto o SA-MP Server estiver aberto.

Jб no caso de uma variбvel local criada dentro do escopo de uma funзгo, a memуria alocada existirб atй o fim da execuзгo da funзгo. No final da execuзгo da funзгo a memуria alocada serб desalocada liberando a quantidade de memуria que foi alocada. Ou seja, a performance do servidor cairб apenas no momento da execuзгo da funзгo.

Por isso й essencial para uma boa performance usar o mнnimo possнvel de variбveis globais
Reply
#10

Jб que entraram no assunto...
Muitos nгo sabem, porйm isso й funcional(atй certo ponto):
PHP код:
#define Msg_BoasVindas "Seja bem vindo ao servidor."       
SendClientMessage(playerid, -1"Mensagem de boas vindas: " Msg_BoasVindas); 
Resultado: Mensagem de boas vindas: Seja bem vindo ao servidor.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)