Strings. -
lyllrasta - 20.07.2012
qual seria o Modo mais correto de usar uma String ?
Criando uma para cada funзгo ?
Exemplo:
pawn Код:
CMD:test(playerid)
{
new String[128];
....
Ou Criar uma Universal ?
pawn Код:
new String[128];
CMD:test(playerid)
{
//utilizar ela aqui.
...
Re: Strings. -
Dolby - 20.07.2012
Depende,Strings Locais sгo deletadas ao vocк retornar algo no comando.
Jб Globais,ficam armazenadas na memoria.
Eu mesmo uso Strings Globais para armazenar algumas coisas que preciso usar 'Futuramente'.
Re: Strings. -
.FuneraL. - 20.07.2012
Eu uso globais tambйm, pra isto que o gustavo falou e tambйm pra economizar tamanho de arquivo no .amx
Re: Strings. -
CidadeNovaRP - 20.07.2012
Global fode vбrios comandos que usam strcat, strdel, format entre outros, pois a String nгo й deletada apуs seu uso '-'
Recomendo uma String em cada comando pois se vocк coloca uma STR de 1024 mesmo sendo grande pode pesar atй menos do que vбrias com valores menores em cada comando, mas torna mais lento, ai vocк decide, velocidade ou peso do .amx ...
Re: Strings. -
Ricop522 - 20.07.2012
Quem disse que global vai foder usando format?

Global sу vai ferrar se vocк ultilizб-las em timers, ou usar strcat.
Se for sу em comandos, ex; new strComando[128], nгo tem o menor problema
Re: Strings. -
CidadeNovaRP - 20.07.2012
Quote:
Originally Posted by Ricop522
Quem disse que global vai foder usando format? 
Global sу vai ferrar se vocк ultilizб-las em timers, ou usar strcat.
Se for sу em comandos, ex; new strComando[128], nгo tem o menor problema 
|
Nгo sei se estб correto o exemplo mas vocк irб entender:
pawn Код:
new STR[128];
stock Parte1Mensagem()
{
format(STR, sizeof(STR), "Olб, eu seu CidadeNovaRP e vim mostrar uma coisa.");
FormatarMensagem();
return 1;
}
stock Parte2Mensagem()
{
return format(STR, sizeof(STR), "%s FORMAT pode dar sim BUG's com vars Globais!", STR);
}
stock FormatarMensagem()
{
//new STR[128];
format(STR, sizeof(STR), "Olб, tudo bem %s?", "Ricop");
return 1;
}
Re: Strings. -
Dolby - 20.07.2012
Quote:
Originally Posted by CidadeNovaRP
Nгo sei se estб correto o exemplo mas vocк irб entender:
pawn Код:
new STR[128];
stock Parte1Mensagem() { format(STR, sizeof(STR), "Olб, eu seu CidadeNovaRP e vim mostrar uma coisa."); FormatarMensagem(); return 1; }
stock Parte2Mensagem() { return format(STR, sizeof(STR), "%s FORMAT pode dar sim BUG's com vars Globais!", STR); }
stock FormatarMensagem() { //new STR[128]; format(STR, sizeof(STR), "Olб, tudo bem %s?", "Ricop"); return 1; }
|
Mais cara,quando se usa uma variбvel em um format,no caso
STR ela passarб a 'Carregar' o que tem dentro do format,mais ao usar outro format,ela ira 'Substituir',para usar deste tipo que vocк disse,Ou use outra variбvel ou use Strcat.
Ou Seja:
Variбvel Global = Armazenar algo que vocк usa durante toda a execuзгo do Gamemode e quer 'Guarda-la' para consulta-la a qualquer momento.
Variбvel Local = Armazenar algo que logo depois de usado nгo sera mais ъtil no comando.
Re: Strings. -
CidadeNovaRP - 20.07.2012
Quote:
Originally Posted by Gustavo_Araujo
Mais cara,quando se usa uma variбvel em um format,no caso STR ela passarб a 'Carregar' o que tem dentro do format,mais ao usar outro format,ela ira 'Substituir',para usar deste tipo que vocк disse,Ou use outra variбvel ou use Strcat.
Ou Seja 
Variбvel Global = Armazenar algo que vocк usa durante toda a execuзгo do Gamemode e quer 'Guarda-la' para consulta-la a qualquer momento.
Variбvel Local = Armazenar algo que logo depois de usado nгo sera mais ъtil no comando.
|
Sim, mas existem vбrias pessoas que pegam jб o valor (o que ta salvo) na stirng e escreve uma nova string de vez sem precisar ter de criar outras vars e usar strcat+format, veja:
pawn Код:
CMD:hello(playerid)
{
new String[64];
static Var = 2;
if(1 != Var)
{
format(String, 64, "Olб %s, tudo bom com seu filho %s que tem %d anos?", "Gustavo", "Moises", 16);
}
else
{
format(String, 64, "Olб %s, tudo bom com seu filho %s que tem %d anos?", "Gustavo", "Joгo", 4);
}
format(String, 62, "%s Se sim de um pulinho meu amigo %s!", String, "Gustavo");
return 1;
}
Exemplo besta e inъtil mas da para entender *-*
Re: Strings. -
paulor - 20.07.2012
Quote:
Originally Posted by CidadeNovaRP
Sim, mas existem vбrias pessoas que pegam jб o valor (o que ta salvo) na stirng e escreve uma nova string de vez sem precisar ter de criar outras vars e usar strcat+format, veja:
pawn Код:
CMD:hello(playerid) { new String[64]; static Var = 2; if(1 != Var) { format(String, 64, "Olб %s, tudo bom com seu filho %s que tem %d anos?", "Gustavo", "Moises", 16); } else { format(String, 64, "Olб %s, tudo bom com seu filho %s que tem %d anos?", "Gustavo", "Joгo", 4); } format(String, 62, "%s Se sim de um pulinho meu amigo %s!", String, "Gustavo"); return 1; }
Exemplo besta e inъtil mas da para entender *-*
|
Para mim vc confundiu com strcat e dps pra disfarзar criou um exemplo que nгo condiz com o dito acima..
Re: Strings. -
Dolby - 20.07.2012
Quote:
Originally Posted by CidadeNovaRP
Sim, mas existem vбrias pessoas que pegam jб o valor (o que ta salvo) na stirng e escreve uma nova string de vez sem precisar ter de criar outras vars e usar strcat+format, veja:
pawn Код:
CMD:hello(playerid) { new String[64]; static Var = 2; if(1 != Var) { format(String, 64, "Olб %s, tudo bom com seu filho %s que tem %d anos?", "Gustavo", "Moises", 16); } else { format(String, 64, "Olб %s, tudo bom com seu filho %s que tem %d anos?", "Gustavo", "Joгo", 4); } format(String, 62, "%s Se sim de um pulinho meu amigo %s!", String, "Gustavo"); return 1; }
Exemplo besta e inъtil mas da para entender *-*
|
Sim,intendi o seu exemplo,assim vocк 'Adiciona' uma String a outra String,seria a mesma coisa que Strcat(Alias,sei que й um exemplo,mais o 1°/2° format + 3° format daria mais que 64 cells ,nгo? ^^).