Conectar-se
Quem está conectado
31 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 31 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 23/05/2012
Número de Mensagens : 515
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 36

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.wibix.webs.com

Onde esta o erro?

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 '-'
avatar
Data de inscrição : 07/01/2012
Número de Mensagens : 169
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6
Ver perfil do usuário

Re: Onde esta o erro?

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 !
avatar
Ranking : Sem avaliações
Data de inscrição : 23/05/2012
Número de Mensagens : 515
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 36

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.wibix.webs.com

Re: Onde esta o erro?

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???
Conteúdo patrocinado

Re: Onde esta o erro?

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum