Boa tarde pessoal queria saber qual é a função no script que alterar uma variável para uma string. pois no cronus usávamos [function implode] porem no rAthena eu não sei qual.
Alguém poderia me ajudar?
segue o script abaixo
Spoiler
//===== Script =======================================================================
//= (Jogo da Forca)
//===== By: ==================================================================================
//= by Candy
//===== Current Version: =====================================================================
//= um Simples jogo de Jogo da Forca
//===== Additional Comments: =================================================================
// 1.4 Traduzido por: Renato Guedes ( Thor )
// 1.5 Alterado o Nome do NPC para "Jogo da Forca"
//============================================================================================
prontera,154,204,4 script Jogo da Forca 935,{
//=== Configurations ======================================================================
set .@npc$ , "^0000FF[Jogo da Forca]^000000" ; // Nome do NPC.
set .@minlength , 4 ; // char no mínimo no mapa
set .@maxlength , 12 ; // não podemos ver mais de 12 personagens em um chatroom...
set .@color$ , "^792d5b" ; // A cor de colorise o texto °°
set .@rungame , 0 ; // M nível mínimo para configurar o NPC (padrão 0)
set .@logword , 0 ; // Log a palavra entra pelas pessoas? 0 = não 1 = sim (logmes + debugmes)
set .check_gotocount, 2048 ; // Limite de loop infinito.
set .autoevent , 1 ; // Por padrão todos os 30 minutos.
set .cutinposition , 2 ; // 0, 1 , 2 , 3 , 4 (Ver o doc)
//=========================================================================================
//=== Functions ============================================================================
function change_case ; // Função para alterar o caso de uma letra.
function array_search ; // Retorna um valor que é armazenar em um array.
function str_to_array ; // Alterar uma string para uma variável.
function implode ; // Alterar uma variável para uma string.
function load_cutin ;
//=========================================================================================
switch( ( ! .block && .@rungame > getgmlevel() ) ? 2 : .block )
{
case 0:
do
{
// Carregar as definições.
if ( ! .init )
donpcevent strnpcinfo(0) + "::OnInit" ;
//Inicializar o jogador/NPC..
set .block , 1 ; // Não bloquear o NPC.
set .@string$ , "" ; // init the var.
initnpctimer ; // Timer para depurar.
mes .@npc$ ;
mes "Insira uma palavra com " + .@color$ + .@minlength + "^000000 ate " + .@color$ + .@maxlength + "^000000 caracteres." ;
mes "( " +.@color$ + "\"0\"^000000 para sair )" ;
next ;
while( input( .@string$, .@minlength, .@maxlength ) || ! str_to_array( .@string$ , ".letter$" ) )
{
// "0" --> "exit".
if ( .@string$ == "0" )
{
close2;
set .block , 0 ;
cleararray .letter$[0] , "" , 128 ;
end ;
}
mes .@npc$ ;
mes "O tamanho da palavra estar incorreto ou existe um caractere invalido." ;
next ;
mes .@npc$ ;
mes "Insira uma palavra de " + .@color$ + .@minlength + "^000000 para " + .@color$ + .@maxlength + "^000000 caracteres" ;
next ;
}
mes .@npc$ ;
mes "Use \"" + .@color$ + .@string$ + "^000000\" ?" ;
next ;
set .init , 0 ;
} while ( select( " - Sim: - Não" ) == 2 ) ;
AutoSelect:
set .lettercount , getarraysize( .letter$ ) - 1 ; // Char número.
set .wordsearch$ , .@string$ ; // Salvar em um "." var.
if ( .@logword && playerattached() ) // Para evitar um erro, se é um autoevent (jogador não está em anexo)
{
logmes "|Jogo da Forca| " + strcharinfo(0)+ " digite uma palavra : " + .@string$ ;
debugmes "|Jogo da Forca| " + strcharinfo(0) + " digite um mote : " + .@string$ ;
}
for ( set .@i , 0 ; .@i < .lettercount ; set .@i , .@i + 1 ) // Criamos o " _ _ _ _" string.
{
set .letterhide$[ .@i ] , " _" ;
}
set .letterhide$[ 0 ], .letter$[ 0 ] ; // Mostramos a primeira letra.
set .letterhide$[ .lettercount ], .letter$[ .lettercount ] ; // Mostramos a última letra.
for ( set .@i , 0 ; .@i < .lettercount ; set .@i , .@i + 1 )
{
set .@j , ( array_search ( .letter$[ 0 ] , ".letter$" , .@i , .lettercount ) ) ;
if ( .@j + 1 )
{
set .letterhide$[ .@j ], .letter$[ .@j ] ;
set .@i , .@j ;
}
}
for ( set .@i , 0 ; .@i < .lettercount ; set .@i , .@i + 1 )
{
set .@j, ( array_search( .letter$[ .lettercount ] , ".letter$" , .@i , .lettercount ) ) ;
if ( .@j + 1 )
{
set .letterhide$[ .@j ], .letter$[ .@j ] ;
set .@i, .@j ;
}
}
set .wordfind$ , implode( "" , ".letterhide$" ) ;
initnpctimer ;
delwaitingroom ;
waitingroom .wordfind$ , 0 ; // Criar o Chat-Room
set .block , 3 ; // desbloquear o jogo.
if ( playerattached() )
close ;
else
end ;
case 1: // Alguém está a criação do NPC.
mes .@npc$ ;
mes "Alguem esta criando o jogo..." ;
mes "Aguarde." ;
close ;
case 2: // Ele não pode config o NPC.
mes .@npc$ ;
mes "Você não pode iniciar o jogo!" ;
close ;
case 3:
do
{
if ( .wordfind$ == "" )
{
close2;
cutin "" , 255 ;
end;
}
mes .@npc$ ;
mes .wordfind$ ; // Mostramos a palavra.
load_cutin() ;
mes "Letras já utilizadas: " + .@color$ + ( implode( " " , ".blacklist$" ) ) + "^000000." ; //Mostramos a lista.
next ;
if ( select( " - Digitar uma letra.: - Digitar a Palavra" ) - 1 )
{
// digite uma palavra.
mes .@npc$ ;
mes "Se você já sabe a palavra? então digite ela toda!" ;
next ;
input @string$ ;
if ( compare( "_|~key~|_" + @string$ + "_|~key~|_" , "_|~key~|_" + .wordsearch$ + "_|~key~|_" ) )
{
announce strcharinfo( 0 ) + " Encontrou a palavra: " + .wordsearch$ + " !", bc_blue | bc_map ;
donpcevent strnpcinfo( 0 ) + "::OnInit" ; //On Reset.
mes .@npc$ ;
mes "Parabéns !" ;
close2 ;
cutin "" , 255 ;
end ;
}
else
{
mes .@npc$ ;
mes "A palavra esta errada." ;
load_cutin( 1 ) ;
next ;
continue ;
}
}
// Input letter :
mes .@npc$ ;
mes "Escolha uma letra" ;
mes "(" +.@color$ + " 0^000000 para sair. )" ;
next ;
if ( input( @string$ , 1 , 1 ) )
{
mes .@npc$ ;
mes "Ops! digite só uma letra." ;
mes "Obrigado!" ;
next ;
continue ;
}
if ( @string$ == "0" )
{
close2 ;
cutin "" , 255 ;
end ;
}
set @string$ , change_case( @string$ ) ;
if ( @string$ == "0" ) // Se não for uma letrar (alfabeto aA-zZ)
{
mes .@npc$ ;
mes "Caracteres Proibido." ;
next ;
continue ;
}
else if ( array_search ( @string$ , ".blacklist$") + 1 ) // Letra já utilizado.
{
mes .@npc$ ;
mes "Esta letra é já foi dita (veja a lista)" ;
mes "Eescolha uma outra." ;
next ;
continue ;
}
set .blacklist$[ getarraysize( .blacklist$ ) ] , @string$ ; // Colocamos a letra na lista.
set @i , array_search( @string$, ".letter$") ;
if ( @i == -1 ) // A letra não está na palavra. .
{
heal - MaxHP / 5 , 0 ; //Vida divised por 5.
mes .@npc$ ;
mes "Não é possível encontrar a letra na palavra..." ;
load_cutin( 1 ) ;
next ;
continue ;
}
else
{
mes .@npc$ ;
mes "Letra está na palavra !" ;
for ( set @i , 0 ; @i < .lettercount ; set @i , @i + 1 )
{
set @j , ( array_search( @string$ , ".letter$" , @i , .lettercount ) ) ;
if ( @j + 1 )
{
set .letterhide$[ @j ], .letter$[ @j ] ;
set @i, @j ;
}
}
set .wordfind$ , implode( " " , ".letterhide$" ) ;
delwaitingroom ; // devemos atualizar o chat-room nome
waitingroom .wordfind$ , 0 ;
if ( array_search( " _" , ".letterhide$" ) == -1 ) //Se todas as letras são encontrar.
{
announce strcharinfo( 0 ) + " Descobriu a palavra: " + .wordsearch$ + " !", bc_blue | bc_map ;
donpcevent strnpcinfo( 0 ) + "::OnInit" ;
close2 ;
cutin "" , 255 ;
end ;
}
next ;
if ( select( " - Continuar: - Sair" ) - 1 )
{
close2 ;
cutin "" , 255 ;
end ;
}
}
} while( HP ) ;
// O jogador é mort x)
mes .@npc$ ;
mes "Ahhhh, Você Perdeu..." ;
announce "|Jogo da Forca| " + strcharinfo( 0 ) + " Perdeu! e acaba de ser morto" , bc_blue | bc_area ;
close2 ;
cutin "" , 255 ;
end ;
}
OnInit:
delwaitingroom ;
set .block , 0 ;
set .init , 1 ;
set .stat , 0 ;
cleararray .letter$[ 0 ] , "" , 128 ;
cleararray .blacklist$[ 0 ] , "" , 128 ;
cleararray .letterhide$[ 0 ] , "" , 128 ;
set .lettercount , 0 ;
set .wordfind$ , "" ;
set .wordsearch$ , "" ;
setarray .wordlist$[0], //Por favor, é só usar Aa-Zz personagens!
"eathena",
"bored",
"keyworld",
"kissme",
"mysevername",
"poring",
"lunatic",
"fabre",
"noidea";
end ;
OnMinute00:
OnMinute30:
if ( .autoevent )
{
set .@i , rand ( 0 , getarraysize( .wordlist$ ) - 1 ) ;
str_to_array( .wordlist$[.@i] , ".letter$" ) ;
set .@string$ , .wordlist$[.@i] ;
callsub AutoSelect;
}
//Debug
OnTimer120000:
if ( .block - 1 )
end ;
else
{
set .block , 0 ;
stopnpctimer ;
}
OnTimer600000:
donpcevent strnpcinfo(0) + "::OnInit" ;
stopnpctimer ;
end ;
//=== FUNCTIONS ===========================================================================
function load_cutin {
if ( getarg( 0 , 0 ) )
set .stat , .stat + 1 ;
cutin "hangman_" + .stat , .cutinposition ;
if ( .stat >= 10 )
{
announce "|Jogo da Forca| Ninguem encontrara a palavra! hahaha! " , bc_blue | bc_area ;
donpcevent strnpcinfo(0) + "::OnInit" ;
}
return ;
}
function change_case {
setarray .@char$[ 0 ],
"A" , "B" , "C" , "D" , "E" , "F" , "G",
"H" , "I" , "J" , "K" , "L" , "M" , "N" ,
"O" , "P" , "Q" , "R" , "S" , "T" , "U" ,
"V" , "W" , "X" , "Y" , "Z" ;
for( set .@i , 0 ; .@i < 26 ; set .@i, .@i + 1 )
{
if ( compare( getarg( 0 ) , .@char$[ .@i ] ) )
{
return .@char$[ .@i ] ;
}
}
return "0" ;
}
function array_search {
for ( set .@i , getarg(2,0) ; .@i < getarg( 3, getarraysize( getd( getarg(1) ) ) ) ; set .@i , .@i + 1 )
{
if ( getd( getarg( 1 ) + "[" + .@i + "]" ) == getarg( 0 ) )
{
return .@i ;
}
}
return -1 ;
}
function str_to_array {
if ( getstrlen( getarg(0) ) >= 110 )
{
return 0 ;
}
if ( atoi( getd( getarg(1) ) ) )
{
cleararray getd( getarg(1) + "[ 0 ]" ) , 0 , 128 ;
}
else
{
cleararray getd( getarg(1) + "[ 0 ]" ) , "" , 128 ;
}
setarray .@char$[ 0 ],
"A" , "B" , "C" , "D" , "E" , "F" , "G",
"H" , "I" , "J" , "K" , "L" , "M" , "N" ,
"O" , "P" , "Q" , "R" , "S" , "T" , "U" ,
"V" , "W" , "X" , "Y" , "Z" ;
set .@j , 0 ;
set .@str_temp$, "_|~key~|_" + getarg(0) + "_|~key~|_" ;
while( ! compare ( "_|~key~|_" + .@str$ + "_|~key~|_" , .@str_temp$ ) )
{
set .@j , .@j + 1 ;
for ( set .@i , 0 ; .@i <= getarraysize(.@char$) ; set .@i , .@i + 1 )
{
if ( compare( .@str_temp$ , "_|~key~|_" + .@str$ + .@char$[ .@i ] ) )
{
set .@str$ , .@str$ + .@char$[ .@i ] ;
setd getarg(1) + "[" + getarraysize( getd( getarg(1) ) ) + "]" , .@char$[ .@i ] ;
break;
}
}
// Caracteres não encontrado.
if ( .@i == getarraysize( .@char$ ) )
return 0 ;
if ( .@j >= .check_gotocount / getarraysize(.@char$) - 1 )
{
sleep2( 1 ) ;
set .@j , 0 ;
}
}
return 1 ;
}
function implode {
set .@str_temp$ , "" ;
for ( set .@i , 0 ; .@i < getarraysize( getd( getarg(1) ) ) ; set .@i , .@i + 1 )
{
set .@str_temp$ , .@str_temp$ + getarg( 0 , "" ) + getd( getarg( 1 ) + "[" + .@i + "]" ) ;
}
return .@str_temp$;
}
}
Question
Kassio Felix
Boa tarde pessoal queria saber qual é a função no script que alterar uma variável para uma string. pois no cronus usávamos [function implode] porem no rAthena eu não sei qual.
Alguém poderia me ajudar?
segue o script abaixo
//===== Script ======================================================================= //= (Jogo da Forca) //===== By: ================================================================================== //= by Candy //===== Current Version: ===================================================================== //= um Simples jogo de Jogo da Forca //===== Additional Comments: ================================================================= // 1.4 Traduzido por: Renato Guedes ( Thor ) // 1.5 Alterado o Nome do NPC para "Jogo da Forca" //============================================================================================ prontera,154,204,4 script Jogo da Forca 935,{ //=== Configurations ====================================================================== set .@npc$ , "^0000FF[Jogo da Forca]^000000" ; // Nome do NPC. set .@minlength , 4 ; // char no mínimo no mapa set .@maxlength , 12 ; // não podemos ver mais de 12 personagens em um chatroom... set .@color$ , "^792d5b" ; // A cor de colorise o texto °° set .@rungame , 0 ; // M nível mínimo para configurar o NPC (padrão 0) set .@logword , 0 ; // Log a palavra entra pelas pessoas? 0 = não 1 = sim (logmes + debugmes) set .check_gotocount, 2048 ; // Limite de loop infinito. set .autoevent , 1 ; // Por padrão todos os 30 minutos. set .cutinposition , 2 ; // 0, 1 , 2 , 3 , 4 (Ver o doc) //========================================================================================= //=== Functions ============================================================================ function change_case ; // Função para alterar o caso de uma letra. function array_search ; // Retorna um valor que é armazenar em um array. function str_to_array ; // Alterar uma string para uma variável. function implode ; // Alterar uma variável para uma string. function load_cutin ; //========================================================================================= switch( ( ! .block && .@rungame > getgmlevel() ) ? 2 : .block ) { case 0: do { // Carregar as definições. if ( ! .init ) donpcevent strnpcinfo(0) + "::OnInit" ; //Inicializar o jogador/NPC.. set .block , 1 ; // Não bloquear o NPC. set .@string$ , "" ; // init the var. initnpctimer ; // Timer para depurar. mes .@npc$ ; mes "Insira uma palavra com " + .@color$ + .@minlength + "^000000 ate " + .@color$ + .@maxlength + "^000000 caracteres." ; mes "( " +.@color$ + "\"0\"^000000 para sair )" ; next ; while( input( .@string$, .@minlength, .@maxlength ) || ! str_to_array( .@string$ , ".letter$" ) ) { // "0" --> "exit". if ( .@string$ == "0" ) { close2; set .block , 0 ; cleararray .letter$[0] , "" , 128 ; end ; } mes .@npc$ ; mes "O tamanho da palavra estar incorreto ou existe um caractere invalido." ; next ; mes .@npc$ ; mes "Insira uma palavra de " + .@color$ + .@minlength + "^000000 para " + .@color$ + .@maxlength + "^000000 caracteres" ; next ; } mes .@npc$ ; mes "Use \"" + .@color$ + .@string$ + "^000000\" ?" ; next ; set .init , 0 ; } while ( select( " - Sim: - Não" ) == 2 ) ; AutoSelect: set .lettercount , getarraysize( .letter$ ) - 1 ; // Char número. set .wordsearch$ , .@string$ ; // Salvar em um "." var. if ( .@logword && playerattached() ) // Para evitar um erro, se é um autoevent (jogador não está em anexo) { logmes "|Jogo da Forca| " + strcharinfo(0)+ " digite uma palavra : " + .@string$ ; debugmes "|Jogo da Forca| " + strcharinfo(0) + " digite um mote : " + .@string$ ; } for ( set .@i , 0 ; .@i < .lettercount ; set .@i , .@i + 1 ) // Criamos o " _ _ _ _" string. { set .letterhide$[ .@i ] , " _" ; } set .letterhide$[ 0 ], .letter$[ 0 ] ; // Mostramos a primeira letra. set .letterhide$[ .lettercount ], .letter$[ .lettercount ] ; // Mostramos a última letra. for ( set .@i , 0 ; .@i < .lettercount ; set .@i , .@i + 1 ) { set .@j , ( array_search ( .letter$[ 0 ] , ".letter$" , .@i , .lettercount ) ) ; if ( .@j + 1 ) { set .letterhide$[ .@j ], .letter$[ .@j ] ; set .@i , .@j ; } } for ( set .@i , 0 ; .@i < .lettercount ; set .@i , .@i + 1 ) { set .@j, ( array_search( .letter$[ .lettercount ] , ".letter$" , .@i , .lettercount ) ) ; if ( .@j + 1 ) { set .letterhide$[ .@j ], .letter$[ .@j ] ; set .@i, .@j ; } } set .wordfind$ , implode( "" , ".letterhide$" ) ; initnpctimer ; delwaitingroom ; waitingroom .wordfind$ , 0 ; // Criar o Chat-Room set .block , 3 ; // desbloquear o jogo. if ( playerattached() ) close ; else end ; case 1: // Alguém está a criação do NPC. mes .@npc$ ; mes "Alguem esta criando o jogo..." ; mes "Aguarde." ; close ; case 2: // Ele não pode config o NPC. mes .@npc$ ; mes "Você não pode iniciar o jogo!" ; close ; case 3: do { if ( .wordfind$ == "" ) { close2; cutin "" , 255 ; end; } mes .@npc$ ; mes .wordfind$ ; // Mostramos a palavra. load_cutin() ; mes "Letras já utilizadas: " + .@color$ + ( implode( " " , ".blacklist$" ) ) + "^000000." ; //Mostramos a lista. next ; if ( select( " - Digitar uma letra.: - Digitar a Palavra" ) - 1 ) { // digite uma palavra. mes .@npc$ ; mes "Se você já sabe a palavra? então digite ela toda!" ; next ; input @string$ ; if ( compare( "_|~key~|_" + @string$ + "_|~key~|_" , "_|~key~|_" + .wordsearch$ + "_|~key~|_" ) ) { announce strcharinfo( 0 ) + " Encontrou a palavra: " + .wordsearch$ + " !", bc_blue | bc_map ; donpcevent strnpcinfo( 0 ) + "::OnInit" ; //On Reset. mes .@npc$ ; mes "Parabéns !" ; close2 ; cutin "" , 255 ; end ; } else { mes .@npc$ ; mes "A palavra esta errada." ; load_cutin( 1 ) ; next ; continue ; } } // Input letter : mes .@npc$ ; mes "Escolha uma letra" ; mes "(" +.@color$ + " 0^000000 para sair. )" ; next ; if ( input( @string$ , 1 , 1 ) ) { mes .@npc$ ; mes "Ops! digite só uma letra." ; mes "Obrigado!" ; next ; continue ; } if ( @string$ == "0" ) { close2 ; cutin "" , 255 ; end ; } set @string$ , change_case( @string$ ) ; if ( @string$ == "0" ) // Se não for uma letrar (alfabeto aA-zZ) { mes .@npc$ ; mes "Caracteres Proibido." ; next ; continue ; } else if ( array_search ( @string$ , ".blacklist$") + 1 ) // Letra já utilizado. { mes .@npc$ ; mes "Esta letra é já foi dita (veja a lista)" ; mes "Eescolha uma outra." ; next ; continue ; } set .blacklist$[ getarraysize( .blacklist$ ) ] , @string$ ; // Colocamos a letra na lista. set @i , array_search( @string$, ".letter$") ; if ( @i == -1 ) // A letra não está na palavra. . { heal - MaxHP / 5 , 0 ; //Vida divised por 5. mes .@npc$ ; mes "Não é possível encontrar a letra na palavra..." ; load_cutin( 1 ) ; next ; continue ; } else { mes .@npc$ ; mes "Letra está na palavra !" ; for ( set @i , 0 ; @i < .lettercount ; set @i , @i + 1 ) { set @j , ( array_search( @string$ , ".letter$" , @i , .lettercount ) ) ; if ( @j + 1 ) { set .letterhide$[ @j ], .letter$[ @j ] ; set @i, @j ; } } set .wordfind$ , implode( " " , ".letterhide$" ) ; delwaitingroom ; // devemos atualizar o chat-room nome waitingroom .wordfind$ , 0 ; if ( array_search( " _" , ".letterhide$" ) == -1 ) //Se todas as letras são encontrar. { announce strcharinfo( 0 ) + " Descobriu a palavra: " + .wordsearch$ + " !", bc_blue | bc_map ; donpcevent strnpcinfo( 0 ) + "::OnInit" ; close2 ; cutin "" , 255 ; end ; } next ; if ( select( " - Continuar: - Sair" ) - 1 ) { close2 ; cutin "" , 255 ; end ; } } } while( HP ) ; // O jogador é mort x) mes .@npc$ ; mes "Ahhhh, Você Perdeu..." ; announce "|Jogo da Forca| " + strcharinfo( 0 ) + " Perdeu! e acaba de ser morto" , bc_blue | bc_area ; close2 ; cutin "" , 255 ; end ; } OnInit: delwaitingroom ; set .block , 0 ; set .init , 1 ; set .stat , 0 ; cleararray .letter$[ 0 ] , "" , 128 ; cleararray .blacklist$[ 0 ] , "" , 128 ; cleararray .letterhide$[ 0 ] , "" , 128 ; set .lettercount , 0 ; set .wordfind$ , "" ; set .wordsearch$ , "" ; setarray .wordlist$[0], //Por favor, é só usar Aa-Zz personagens! "eathena", "bored", "keyworld", "kissme", "mysevername", "poring", "lunatic", "fabre", "noidea"; end ; OnMinute00: OnMinute30: if ( .autoevent ) { set .@i , rand ( 0 , getarraysize( .wordlist$ ) - 1 ) ; str_to_array( .wordlist$[.@i] , ".letter$" ) ; set .@string$ , .wordlist$[.@i] ; callsub AutoSelect; } //Debug OnTimer120000: if ( .block - 1 ) end ; else { set .block , 0 ; stopnpctimer ; } OnTimer600000: donpcevent strnpcinfo(0) + "::OnInit" ; stopnpctimer ; end ; //=== FUNCTIONS =========================================================================== function load_cutin { if ( getarg( 0 , 0 ) ) set .stat , .stat + 1 ; cutin "hangman_" + .stat , .cutinposition ; if ( .stat >= 10 ) { announce "|Jogo da Forca| Ninguem encontrara a palavra! hahaha! " , bc_blue | bc_area ; donpcevent strnpcinfo(0) + "::OnInit" ; } return ; } function change_case { setarray .@char$[ 0 ], "A" , "B" , "C" , "D" , "E" , "F" , "G", "H" , "I" , "J" , "K" , "L" , "M" , "N" , "O" , "P" , "Q" , "R" , "S" , "T" , "U" , "V" , "W" , "X" , "Y" , "Z" ; for( set .@i , 0 ; .@i < 26 ; set .@i, .@i + 1 ) { if ( compare( getarg( 0 ) , .@char$[ .@i ] ) ) { return .@char$[ .@i ] ; } } return "0" ; } function array_search { for ( set .@i , getarg(2,0) ; .@i < getarg( 3, getarraysize( getd( getarg(1) ) ) ) ; set .@i , .@i + 1 ) { if ( getd( getarg( 1 ) + "[" + .@i + "]" ) == getarg( 0 ) ) { return .@i ; } } return -1 ; } function str_to_array { if ( getstrlen( getarg(0) ) >= 110 ) { return 0 ; } if ( atoi( getd( getarg(1) ) ) ) { cleararray getd( getarg(1) + "[ 0 ]" ) , 0 , 128 ; } else { cleararray getd( getarg(1) + "[ 0 ]" ) , "" , 128 ; } setarray .@char$[ 0 ], "A" , "B" , "C" , "D" , "E" , "F" , "G", "H" , "I" , "J" , "K" , "L" , "M" , "N" , "O" , "P" , "Q" , "R" , "S" , "T" , "U" , "V" , "W" , "X" , "Y" , "Z" ; set .@j , 0 ; set .@str_temp$, "_|~key~|_" + getarg(0) + "_|~key~|_" ; while( ! compare ( "_|~key~|_" + .@str$ + "_|~key~|_" , .@str_temp$ ) ) { set .@j , .@j + 1 ; for ( set .@i , 0 ; .@i <= getarraysize(.@char$) ; set .@i , .@i + 1 ) { if ( compare( .@str_temp$ , "_|~key~|_" + .@str$ + .@char$[ .@i ] ) ) { set .@str$ , .@str$ + .@char$[ .@i ] ; setd getarg(1) + "[" + getarraysize( getd( getarg(1) ) ) + "]" , .@char$[ .@i ] ; break; } } // Caracteres não encontrado. if ( .@i == getarraysize( .@char$ ) ) return 0 ; if ( .@j >= .check_gotocount / getarraysize(.@char$) - 1 ) { sleep2( 1 ) ; set .@j , 0 ; } } return 1 ; } function implode { set .@str_temp$ , "" ; for ( set .@i , 0 ; .@i < getarraysize( getd( getarg(1) ) ) ; set .@i , .@i + 1 ) { set .@str_temp$ , .@str_temp$ + getarg( 0 , "" ) + getd( getarg( 1 ) + "[" + .@i + "]" ) ; } return .@str_temp$; } }
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.