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 [email protected]$ , "^0000FF[Jogo da Forca]^000000" ; // Nome do NPC.
set [email protected] , 4 ; // char no mínimo no mapa
set [email protected] , 12 ; // não podemos ver mais de 12 personagens em um chatroom...
set [email protected]$ , "^792d5b" ; // A cor de colorise o texto °°
set [email protected] , 0 ; // M nível mínimo para configurar o NPC (padrão 0)
set [email protected] , 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 && [email protected] > 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 [email protected]$ , "" ; // init the var.
initnpctimer ; // Timer para depurar.
mes [email protected]$ ;
mes "Insira uma palavra com " + [email protected]$ + [email protected] + "^000000 ate " + [email protected]$ + [email protected] + "^000000 caracteres." ;
mes "( " [email protected]$ + "\"0\"^000000 para sair )" ;
next ;
while( input( [email protected]$, [email protected], [email protected] ) || ! str_to_array( [email protected]$ , ".letter$" ) )
{
// "0" --> "exit".
if ( [email protected]$ == "0" )
{
close2;
set .block , 0 ;
cleararray .letter$[0] , "" , 128 ;
end ;
}
mes [email protected]$ ;
mes "O tamanho da palavra estar incorreto ou existe um caractere invalido." ;
next ;
mes [email protected]$ ;
mes "Insira uma palavra de " + [email protected]$ + [email protected] + "^000000 para " + [email protected]$ + [email protected] + "^000000 caracteres" ;
next ;
}
mes [email protected]$ ;
mes "Use \"" + [email protected]$ + [email protected]$ + "^000000\" ?" ;
next ;
set .init , 0 ;
} while ( select( " - Sim: - Não" ) == 2 ) ;
AutoSelect:
set .lettercount , getarraysize( .letter$ ) - 1 ; // Char número.
set .wordsearch$ , [email protected]$ ; // Salvar em um "." var.
if ( [email protected] && playerattached() ) // Para evitar um erro, se é um autoevent (jogador não está em anexo)
{
logmes "|Jogo da Forca| " + strcharinfo(0)+ " digite uma palavra : " + [email protected]$ ;
debugmes "|Jogo da Forca| " + strcharinfo(0) + " digite um mote : " + [email protected]$ ;
}
for ( set [email protected] , 0 ; [email protected] < .lettercount ; set [email protected] , [email protected] + 1 ) // Criamos o " _ _ _ _" string.
{
set .letterhide$[ [email protected] ] , " _" ;
}
set .letterhide$[ 0 ], .letter$[ 0 ] ; // Mostramos a primeira letra.
set .letterhide$[ .lettercount ], .letter$[ .lettercount ] ; // Mostramos a última letra.
for ( set [email protected] , 0 ; [email protected] < .lettercount ; set [email protected] , [email protected] + 1 )
{
set [email protected] , ( array_search ( .letter$[ 0 ] , ".letter$" , [email protected] , .lettercount ) ) ;
if ( [email protected] + 1 )
{
set .letterhide$[ [email protected] ], .letter$[ [email protected] ] ;
set [email protected] , [email protected] ;
}
}
for ( set [email protected] , 0 ; [email protected] < .lettercount ; set [email protected] , [email protected] + 1 )
{
set [email protected], ( array_search( .letter$[ .lettercount ] , ".letter$" , [email protected] , .lettercount ) ) ;
if ( [email protected] + 1 )
{
set .letterhide$[ [email protected] ], .letter$[ [email protected] ] ;
set [email protected], [email protected] ;
}
}
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 [email protected]$ ;
mes "Alguem esta criando o jogo..." ;
mes "Aguarde." ;
close ;
case 2: // Ele não pode config o NPC.
mes [email protected]$ ;
mes "Você não pode iniciar o jogo!" ;
close ;
case 3:
do
{
if ( .wordfind$ == "" )
{
close2;
cutin "" , 255 ;
end;
}
mes [email protected]$ ;
mes .wordfind$ ; // Mostramos a palavra.
load_cutin() ;
mes "Letras já utilizadas: " + [email protected]$ + ( implode( " " , ".blacklist$" ) ) + "^000000." ; //Mostramos a lista.
next ;
if ( select( " - Digitar uma letra.: - Digitar a Palavra" ) - 1 )
{
// digite uma palavra.
mes [email protected]$ ;
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 [email protected]$ ;
mes "Parabéns !" ;
close2 ;
cutin "" , 255 ;
end ;
}
else
{
mes [email protected]$ ;
mes "A palavra esta errada." ;
load_cutin( 1 ) ;
next ;
continue ;
}
}
// Input letter :
mes [email protected]$ ;
mes "Escolha uma letra" ;
mes "(" [email protected]$ + " 0^000000 para sair. )" ;
next ;
if ( input( @string$ , 1 , 1 ) )
{
mes [email protected]$ ;
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 [email protected]$ ;
mes "Caracteres Proibido." ;
next ;
continue ;
}
else if ( array_search ( @string$ , ".blacklist$") + 1 ) // Letra já utilizado.
{
mes [email protected]$ ;
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 [email protected]$ ;
mes "Não é possível encontrar a letra na palavra..." ;
load_cutin( 1 ) ;
next ;
continue ;
}
else
{
mes [email protected]$ ;
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 [email protected]$ ;
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 [email protected] , rand ( 0 , getarraysize( .wordlist$ ) - 1 ) ;
str_to_array( .wordlist$[[email protected]] , ".letter$" ) ;
set [email protected]$ , .wordlist$[[email protected]] ;
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 [email protected]$[ 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 [email protected] , 0 ; [email protected] < 26 ; set [email protected], [email protected] + 1 )
{
if ( compare( getarg( 0 ) , [email protected]$[ [email protected] ] ) )
{
return [email protected]$[ [email protected] ] ;
}
}
return "0" ;
}
function array_search {
for ( set [email protected] , getarg(2,0) ; [email protected] < getarg( 3, getarraysize( getd( getarg(1) ) ) ) ; set [email protected] , [email protected] + 1 )
{
if ( getd( getarg( 1 ) + "[" + [email protected] + "]" ) == getarg( 0 ) )
{
return [email protected] ;
}
}
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 [email protected]$[ 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 [email protected] , 0 ;
set [email protected]_temp$, "_|~key~|_" + getarg(0) + "_|~key~|_" ;
while( ! compare ( "_|~key~|_" + [email protected]$ + "_|~key~|_" , [email protected]_temp$ ) )
{
set [email protected] , [email protected] + 1 ;
for ( set [email protected] , 0 ; [email protected] <= getarraysize([email protected]$) ; set [email protected] , [email protected] + 1 )
{
if ( compare( [email protected]_temp$ , "_|~key~|_" + [email protected]$ + [email protected]$[ [email protected] ] ) )
{
set [email protected]$ , [email protected]$ + [email protected]$[ [email protected] ] ;
setd getarg(1) + "[" + getarraysize( getd( getarg(1) ) ) + "]" , [email protected]$[ [email protected] ] ;
break;
}
}
// Caracteres não encontrado.
if ( [email protected] == getarraysize( [email protected]$ ) )
return 0 ;
if ( [email protected] >= .check_gotocount / getarraysize([email protected]$) - 1 )
{
sleep2( 1 ) ;
set [email protected] , 0 ;
}
}
return 1 ;
}
function implode {
set [email protected]_temp$ , "" ;
for ( set [email protected] , 0 ; [email protected] < getarraysize( getd( getarg(1) ) ) ; set [email protected] , [email protected] + 1 )
{
set [email protected]_temp$ , [email protected]_temp$ + getarg( 0 , "" ) + getd( getarg( 1 ) + "[" + [email protected] + "]" ) ;
}
return [email protected]_temp$;
}
}
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 [email protected]$ , "^0000FF[Jogo da Forca]^000000" ; // Nome do NPC. set [email protected] , 4 ; // char no mínimo no mapa set [email protected] , 12 ; // não podemos ver mais de 12 personagens em um chatroom... set [email protected]$ , "^792d5b" ; // A cor de colorise o texto °° set [email protected] , 0 ; // M nível mínimo para configurar o NPC (padrão 0) set [email protected] , 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 && [email protected] > 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 [email protected]$ , "" ; // init the var. initnpctimer ; // Timer para depurar. mes [email protected]$ ; mes "Insira uma palavra com " + [email protected]$ + [email protected] + "^000000 ate " + [email protected]$ + [email protected] + "^000000 caracteres." ; mes "( " [email protected]$ + "\"0\"^000000 para sair )" ; next ; while( input( [email protected]$, [email protected], [email protected] ) || ! str_to_array( [email protected]$ , ".letter$" ) ) { // "0" --> "exit". if ( [email protected]$ == "0" ) { close2; set .block , 0 ; cleararray .letter$[0] , "" , 128 ; end ; } mes [email protected]$ ; mes "O tamanho da palavra estar incorreto ou existe um caractere invalido." ; next ; mes [email protected]$ ; mes "Insira uma palavra de " + [email protected]$ + [email protected] + "^000000 para " + [email protected]$ + [email protected] + "^000000 caracteres" ; next ; } mes [email protected]$ ; mes "Use \"" + [email protected]$ + [email protected]$ + "^000000\" ?" ; next ; set .init , 0 ; } while ( select( " - Sim: - Não" ) == 2 ) ; AutoSelect: set .lettercount , getarraysize( .letter$ ) - 1 ; // Char número. set .wordsearch$ , [email protected]$ ; // Salvar em um "." var. if ( [email protected] && playerattached() ) // Para evitar um erro, se é um autoevent (jogador não está em anexo) { logmes "|Jogo da Forca| " + strcharinfo(0)+ " digite uma palavra : " + [email protected]$ ; debugmes "|Jogo da Forca| " + strcharinfo(0) + " digite um mote : " + [email protected]$ ; } for ( set [email protected] , 0 ; [email protected] < .lettercount ; set [email protected] , [email protected] + 1 ) // Criamos o " _ _ _ _" string. { set .letterhide$[ [email protected] ] , " _" ; } set .letterhide$[ 0 ], .letter$[ 0 ] ; // Mostramos a primeira letra. set .letterhide$[ .lettercount ], .letter$[ .lettercount ] ; // Mostramos a última letra. for ( set [email protected] , 0 ; [email protected] < .lettercount ; set [email protected] , [email protected] + 1 ) { set [email protected] , ( array_search ( .letter$[ 0 ] , ".letter$" , [email protected] , .lettercount ) ) ; if ( [email protected] + 1 ) { set .letterhide$[ [email protected] ], .letter$[ [email protected] ] ; set [email protected] , [email protected] ; } } for ( set [email protected] , 0 ; [email protected] < .lettercount ; set [email protected] , [email protected] + 1 ) { set [email protected], ( array_search( .letter$[ .lettercount ] , ".letter$" , [email protected] , .lettercount ) ) ; if ( [email protected] + 1 ) { set .letterhide$[ [email protected] ], .letter$[ [email protected] ] ; set [email protected], [email protected] ; } } 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 [email protected]$ ; mes "Alguem esta criando o jogo..." ; mes "Aguarde." ; close ; case 2: // Ele não pode config o NPC. mes [email protected]$ ; mes "Você não pode iniciar o jogo!" ; close ; case 3: do { if ( .wordfind$ == "" ) { close2; cutin "" , 255 ; end; } mes [email protected]$ ; mes .wordfind$ ; // Mostramos a palavra. load_cutin() ; mes "Letras já utilizadas: " + [email protected]$ + ( implode( " " , ".blacklist$" ) ) + "^000000." ; //Mostramos a lista. next ; if ( select( " - Digitar uma letra.: - Digitar a Palavra" ) - 1 ) { // digite uma palavra. mes [email protected]$ ; 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 [email protected]$ ; mes "Parabéns !" ; close2 ; cutin "" , 255 ; end ; } else { mes [email protected]$ ; mes "A palavra esta errada." ; load_cutin( 1 ) ; next ; continue ; } } // Input letter : mes [email protected]$ ; mes "Escolha uma letra" ; mes "(" [email protected]$ + " 0^000000 para sair. )" ; next ; if ( input( @string$ , 1 , 1 ) ) { mes [email protected]$ ; 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 [email protected]$ ; mes "Caracteres Proibido." ; next ; continue ; } else if ( array_search ( @string$ , ".blacklist$") + 1 ) // Letra já utilizado. { mes [email protected]$ ; 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 [email protected]$ ; mes "Não é possível encontrar a letra na palavra..." ; load_cutin( 1 ) ; next ; continue ; } else { mes [email protected]$ ; 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 [email protected]$ ; 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 [email protected] , rand ( 0 , getarraysize( .wordlist$ ) - 1 ) ; str_to_array( .wordlist$[[email protected]] , ".letter$" ) ; set [email protected]$ , .wordlist$[[email protected]] ; 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 [email protected]$[ 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 [email protected] , 0 ; [email protected] < 26 ; set [email protected], [email protected] + 1 ) { if ( compare( getarg( 0 ) , [email protected]$[ [email protected] ] ) ) { return [email protected]$[ [email protected] ] ; } } return "0" ; } function array_search { for ( set [email protected] , getarg(2,0) ; [email protected] < getarg( 3, getarraysize( getd( getarg(1) ) ) ) ; set [email protected] , [email protected] + 1 ) { if ( getd( getarg( 1 ) + "[" + [email protected] + "]" ) == getarg( 0 ) ) { return [email protected] ; } } 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 [email protected]$[ 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 [email protected] , 0 ; set [email protected]_temp$, "_|~key~|_" + getarg(0) + "_|~key~|_" ; while( ! compare ( "_|~key~|_" + [email protected]$ + "_|~key~|_" , [email protected]_temp$ ) ) { set [email protected] , [email protected] + 1 ; for ( set [email protected] , 0 ; [email protected] <= getarraysize([email protected]$) ; set [email protected] , [email protected] + 1 ) { if ( compare( [email protected]_temp$ , "_|~key~|_" + [email protected]$ + [email protected]$[ [email protected] ] ) ) { set [email protected]$ , [email protected]$ + [email protected]$[ [email protected] ] ; setd getarg(1) + "[" + getarraysize( getd( getarg(1) ) ) + "]" , [email protected]$[ [email protected] ] ; break; } } // Caracteres não encontrado. if ( [email protected] == getarraysize( [email protected]$ ) ) return 0 ; if ( [email protected] >= .check_gotocount / getarraysize([email protected]$) - 1 ) { sleep2( 1 ) ; set [email protected] , 0 ; } } return 1 ; } function implode { set [email protected]_temp$ , "" ; for ( set [email protected] , 0 ; [email protected] < getarraysize( getd( getarg(1) ) ) ; set [email protected] , [email protected] + 1 ) { set [email protected]_temp$ , [email protected]_temp$ + getarg( 0 , "" ) + getd( getarg( 1 ) + "[" + [email protected] + "]" ) ; } return [email protected]_temp$; } }
Link to comment
Share on other sites