Onde esta o erro?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Onde esta o erro?

Mensagem por Witen em Ter 19 Mar 2013, 16:35

Este é um script que cria uma sala para o usuário e armazena os dados da sala, é guarda o nome da sala no arquivo que guarda os dados do player só que esta ocorrendo algo de errado

'Script que cria a room é armazena seu nome no aquivo do player':
var String,_newPth,Nome,Pass,Dono,Dscp,Pare,Grup,Type;
String = argument1
Nome = Find_String(String,'(',')') //Nome da sala
Pass = Find_String(String,'[',']') //Senha da sala
Dono = Find_String(String,'{','}') //Nome do proprietario da sala
Dscp = Find_String(String,'/','\') //Descrição da sala
Pare = Find_String(String,'-|','|-')//Exibirparede (true,false)
Grup = Find_String(String,'|*','*|')//Crupo(X, se não existir)
Type = Find_String(String,'/|','|\')//Tipo da sala

_newPth = working_directory+'\Rooms\['+Dono+']'+string_lower(Nome)+'.ini'

if (!file_exists(_newPth)){New_Date = file_text_open_write(_newPth);
Room_Data(Nome,Pass,0,Type,Dscp,Pare,Grup);//Carregar String_Date_Room com Data da nova sala

clearbuffer()
writebyte(MSG_ACCOUNT_CREATE)
writebyte(1)
send_client('self')
file_text_write_string(New_Date,String_Date_Room)file_text_close(New_Date)
var Part1,Part2,Part3,RNSala,NSala,SPFile,StringFile,size,write_file;RNSala = 0;StringFile = 0;
SP = "
"
Ender = working_directory+'\Accounts\'+'[Player]'+string(Dono)+'.ini'
NSala = iniReadReal (Ender,'Rooms','NSala',0)+1
Part2 = '[Rooms]'+SP+'NSala='+string(NSala)+SP;
repeat(NSala-1){RNSala+=1;Part2+=string(RNSala)+'Salas'+SP}
Part2 += string(NSala)+'Sala='+string(Nome);
File = file_text_open_read(Ender);
StringFile += file_text_read_string(File);
file_text_readln(File);
Part1 = string_copy(StringFile,0,string_pos('/*',StringFile))
Part3 = string_copy(StringFile,string_pos('*/',StringFile),string_length(StringFile))
file_text_close(File);
write_file = file_text_open_write(Ender);
file_text_write_string(write_file,Part1+SP+Part2+SP+Part3);
file_text_writeln(write_file);
file_text_close(write_file);
}else{
clearbuffer()
writebyte(MSG_ACCOUNT_CREATE)
writebyte(2)
send_client('self')
}
Creio que o problema é abrir o arquivo do player por inteiro '-' poia vi que el só le a primeira linha '-'

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Onde esta o erro?

Mensagem por Crovux em Qua 20 Mar 2013, 14:58

bom, da mensagem de erro? pelo que entendi não armazena a localização do player e tals... se for isto pode ter diversos motivos sendo que é um jogo multiplayer(pelo menos nos códigos parece)... Normalmente se é erro no código da mensagem de erro e seria bom você postar a mensagem, mas caso não der não sei como ajudar... Tente rever todos os códigos usados pra salvar !

Crovux

Número de Mensagens : 169
Idade : 20
Data de inscrição : 07/01/2012
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Onde esta o erro?

Mensagem por Witen em Qua 20 Mar 2013, 20:45

Já tentei...

Esse texto pode se usar o File_text_open é iniRead mas quando e para salvar um dado usando IniWrite apaga todo o resto do texto então tive a ideia de adaptar...
você ver que nos script ele pega 3 partes do arquivo (Part1,Part2,Part3) ate ai tudo bem mas quando coloco o script para rodar só salva a parte 2 que é a parte da INI assim creio que o problema e como eu tinha citado antes:
[quote='Witen']Creio que o problema é abrir o arquivo do player por inteiro '-' poia vi que el só le a primeira linha '-'[/quote]
Sendo assim esta parte não funciona:
Código:
Part1 = string_copy(StringFile,0,string_pos('/*',StringFile))
Part3 = string_copy(StringFile,string_pos('*/',StringFile),string_length(StringFile))
Por que string_copy só vai copiar os a string definida que existe...
Bom já dei a possível causa do problema...
Mas porque a o script não consegue ler o arquivo todo???

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Onde esta o erro?

Mensagem por Conteúdo patrocinado Hoje à(s) 10:34


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum