Conectar-se
Quem está conectado
23 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 20 Visitantes

gart30, Tedi Ripper, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : D-B
Data de inscrição : 08/08/2010
Número de Mensagens : 70
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.lzstargames.blogspot.com

renomear sessão em um ini

em Sex 04 Out 2013, 12:18
Olá, estou aqui pq estava criando um script com o nome ini_switch_section(ini,oldsec,newsec) que movesse os dados de uma sessão à outra do INI... tentei fazer isso de duas maneiras, a primeira usando file_text_*, mas não tenho como ler e escrever dados com essa função ao mesmo tempo. Então procurei uma dll que tinha a função ini_section_rename, mas quando essa função era executada o jogo travava e o uso da CPU ficava 90% surpreso2 
Eu preciso desse script para dois jogos: um é de Pokémon, esse script vai trocar a posição de alguém da equipe e em um RPG, onde vai ter como organizar os itens automaticamente.

Agradeço a ajuda
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1832
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: renomear sessão em um ini

em Sex 04 Out 2013, 13:08
Não seria mais fácil deletar a sessão em e criar uma nova com os valores da antiga?
avatar
Ranking : Nota C
Notas recebidas : D-B
Data de inscrição : 08/08/2010
Número de Mensagens : 70
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.lzstargames.blogspot.com

Re: renomear sessão em um ini

em Sex 04 Out 2013, 18:18
sim, eu estou pensando em fazer isso caso não haja função mais fácil... pois ambos os jogos serão grandes (uns 50mb ou mais) e eu queria "economizar" memória RAM e HD tmb encurtando o código (pois as sessões são enormes, e o código ficaria grande mesmo usando "for")

EDIT: achei a solução eu mesmo... pensei e cheguei ao código mais economico para trocar uma sessão por outra, eu fiz:
ini_write_real(section,key,ini_read_real(section,key,default))

Como dá pra ver, o código escreve o que já lê na hora. Criei duas sessões: TEMP1 e TEMP2 onde ficariam os valores da sessão atual e da sessão de destino, logo depois cada TEMP iria para a sessão oposta (TEMP1 iria pra sessão de destino e TEMP2 para a sessão inicial).
Mas para não ficar repetindo o ini_write mais de 120 vezes, usei a função "for" para trocar as sessões do ini_write e ini_read usando as mesmas keys.
Ficou tipo assim:
ini_write_real(sessão para onde escrever que muda conforme "for i", key, ini_read_real(sessão da qual vai ser escrita os dados na nova que muda conforme "for i", key, default))

No final de tudo usei ini_section_delete(section) nas duas sessões temporárias e deu tudo certo Happy 
Dúvida resolvida, já pode fechar o tópico!


Última edição por Lázaro Games em Sab 05 Out 2013, 17:21, editado 1 vez(es) (Razão : Encontrei a resposta sozinho)
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