Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Duas dúvidas (Script/Global e INI)
5 participantes
Página 1 de 1
Duas dúvidas (Script/Global e INI)
1 - A primeira dúvida é que se seria melhor que eu usar variáveis globais, eu usar script por exemplo:
obj_A - script_execute(scr_controle)
obj_B - script_execute(scr_controle)
obj_Controle - //esse objeto muda o script controle de acordo com as configurações
assim ao invés de usar no obj_A e obj_B global.controle
2 - Segunda duvida é sobre o uso de INI , é bem fácil de ser editado mas eu quero aprender a usar xD
o seguinte como faço pra mandar ela guardar informação da posição de um objeto mesmo que ele tenha várias instancias na room
(uma especie de save) mas só guarda a posição das instancias de um certo objeto na room!
obj_A - script_execute(scr_controle)
obj_B - script_execute(scr_controle)
obj_Controle - //esse objeto muda o script controle de acordo com as configurações
assim ao invés de usar no obj_A e obj_B global.controle
2 - Segunda duvida é sobre o uso de INI , é bem fácil de ser editado mas eu quero aprender a usar xD
o seguinte como faço pra mandar ela guardar informação da posição de um objeto mesmo que ele tenha várias instancias na room
(uma especie de save) mas só guarda a posição das instancias de um certo objeto na room!
Re: Duas dúvidas (Script/Global e INI)
Amigo, não entendi nada da sua primeira pergunta... Está bem difícil de entender.
Referente aos ini's, recomendo meus tutoriais:
Arquivos ini (Parte 1)
Arquivos ini (parte 2)
Arquivos ini (Parte 3)
Para fazer o save do jeito que você quer, você terá que criar um script que percorrerá por todos os objetos na room, pegar os dados de cada um (nome, x,y, variaveis, etc) e então salvar no ini. Já te adianto que isso é um pouco complicado de fazer, mas vale a pena.
Referente aos ini's, recomendo meus tutoriais:
Arquivos ini (Parte 1)
Arquivos ini (parte 2)
Arquivos ini (Parte 3)
Para fazer o save do jeito que você quer, você terá que criar um script que percorrerá por todos os objetos na room, pegar os dados de cada um (nome, x,y, variaveis, etc) e então salvar no ini. Já te adianto que isso é um pouco complicado de fazer, mas vale a pena.
Re: Duas dúvidas (Script/Global e INI)
a primeira duvida precisa de legenda pq ta muito dificil mesmo de entender...
a segunda dúvida é mais simples do q parece...
nos objetos que você quer salvar ponha isso no create:
scr_loadgame:
a segunda dúvida é mais simples do q parece...
nos objetos que você quer salvar ponha isso no create:
- Código:
save=1;
- Código:
ini_open('save.ini')//pode mudar se quiser o nome da ini
i=0;
with(all){
if variable_local_exists('save'){
obj_quesalva.i+=1;
ini_write_real(string(obj_quesalva.i),'id',id);
ini_write_real(string(obj_quesalva.i),'x',x);
ini_write_real(string(obj_quesalva.i),'y',y);
}}
ini_write_real('save','n',i);
ini_close();
scr_loadgame:
- Código:
ini_open('save.ini');
n=ini_read_real('save','n',0);
for(a=0;a<n;a++){
idd=ini_read_real(string(a),'id',0);
xx=ini_read_real(string(a),'x',0);
yy=ini_read_real(string(a),'y',0);
idd.x=xx;
idd.y=yy;
}
makgamer- Games Ranking :
Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- Unity
- Java
- C#
- Javascript
- RPG Maker
- C ou C++
- Outros
Re: Duas dúvidas (Script/Global e INI)
Te garanto que seu código não vai funcionar.
Primeiro que não devemos salvar o ID, mas sim, o nome do objeto, uma vez que o ID é a identificação da instância, e não do objeto. Salve um ID e tente dar um instance_create usando ele.
Segundo, usando with(all), não teremos um controle da ordem (e também da lógica) que o script vai salvar os dados no ini, sem falar do risco de perder dados no processo. O ideal é usar um for encadeado (para x e y) que percorre toda a room pegando os dados dos objetos e salvando em uma key com o "i" do for. Esse processo é mais simples se todos os objetos estiverem em uma grade e não existir objetos sobrepostos, caso contrário, vai dar mais dor de cabeça.
Sei disso pois aprendi apanhando, ou seja, fiz um sistema desse...
Primeiro que não devemos salvar o ID, mas sim, o nome do objeto, uma vez que o ID é a identificação da instância, e não do objeto. Salve um ID e tente dar um instance_create usando ele.
Segundo, usando with(all), não teremos um controle da ordem (e também da lógica) que o script vai salvar os dados no ini, sem falar do risco de perder dados no processo. O ideal é usar um for encadeado (para x e y) que percorre toda a room pegando os dados dos objetos e salvando em uma key com o "i" do for. Esse processo é mais simples se todos os objetos estiverem em uma grade e não existir objetos sobrepostos, caso contrário, vai dar mais dor de cabeça.
Sei disso pois aprendi apanhando, ou seja, fiz um sistema desse...
Re: Duas dúvidas (Script/Global e INI)
é verdade não havia pensado nisso :/ bem então nem adianta tentar usar esse code... eu não sei bem pois nunca tentei fazer um code desse, sempre usei o bom e velho save_game kkk mas de qualquer forma obrigado por corrigir o erro =D
edit: ao invez de depender do id talvez fosse possivel criar no create deles, uma identificação em variavel, assim o código anterior pudesse ser aplicado quem sabe... iria dar uma dor de cabeça pensar nisso mas talvez desse certo você mesmo criar uma identificação, mais ou menos assim:
se o objeto 'a' tem a identificação 14, colocaria algo assim no create:
edit: ao invez de depender do id talvez fosse possivel criar no create deles, uma identificação em variavel, assim o código anterior pudesse ser aplicado quem sabe... iria dar uma dor de cabeça pensar nisso mas talvez desse certo você mesmo criar uma identificação, mais ou menos assim:
se o objeto 'a' tem a identificação 14, colocaria algo assim no create:
- Código:
idd=14+instance_exists('obj_a');
makgamer- Games Ranking :
Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- Unity
- Java
- C#
- Javascript
- RPG Maker
- C ou C++
- Outros
Re: Duas dúvidas (Script/Global e INI)
"Se está muito fácil, desconfie."
Acredito que o "save" que ele está tentando fazer trata-se de uma "room editor in-game"... Não faria sentido salvar todas as informações da room apenas para fazer um save, pois para isso só é necessário salvar as informações relevantes do jogo, como a fase em que parou, vida, pontuação, etc...
Acredito que o "save" que ele está tentando fazer trata-se de uma "room editor in-game"... Não faria sentido salvar todas as informações da room apenas para fazer um save, pois para isso só é necessário salvar as informações relevantes do jogo, como a fase em que parou, vida, pontuação, etc...
Re: Duas dúvidas (Script/Global e INI)
Willy, na verdade seria bom ter um id, mais não o id de instancia, alguma variável que identificasse ESSA INSTANCIA, vamos que por exemplo cada objeto tenha um valor diferente.. na hora de ler, ele vai saber o valor por esse id..
e se ele estiver fazendo um "room editor in-game", também seria bom guardar a quantidade de objetos na room, na hora de criar ele usaria um for.. e o id automaticamente poderia ser encaixado ali.
for(i=0; i<('quantidade de objetos'); i+=1){
}
@Off: se tiver criando um "room editor in-game" como o willy disse, te aconselho a estudar as funções file_... também! elas ajudam muito no manuzeio do arquivo, apesar de não saber se essas funções existem no GMS :s
e se ele estiver fazendo um "room editor in-game", também seria bom guardar a quantidade de objetos na room, na hora de criar ele usaria um for.. e o id automaticamente poderia ser encaixado ali.
for(i=0; i<('quantidade de objetos'); i+=1){
}
@Off: se tiver criando um "room editor in-game" como o willy disse, te aconselho a estudar as funções file_... também! elas ajudam muito no manuzeio do arquivo, apesar de não saber se essas funções existem no GMS :s
Re: Duas dúvidas (Script/Global e INI)
O identificador do "ID real" da instância é o nome da mesma... Obtemos isso com a função object_get_name(). Sem o nome do objeto, não terá como fazer um script que monte a room (load) por não termos um objeto especificado para ser criado.
Recentemente eu fiz um sistema desse, mas não está no meu PC... Vou caça-lo, e, se eu encontrar, dou uma polida e compartilho com vocês!
Recentemente eu fiz um sistema desse, mas não está no meu PC... Vou caça-lo, e, se eu encontrar, dou uma polida e compartilho com vocês!
Re: Duas dúvidas (Script/Global e INI)
eu quis dizer salvar o nome e o id (o id criado, não o indentificador global de instancia '-' ) kk
eu usei em um sistema de inventario ini, mais nem sei onde ta salvo :p
eu usei em um sistema de inventario ini, mais nem sei onde ta salvo :p
Re: Duas dúvidas (Script/Global e INI)
Opa nunca vi um topico tão movimentando (que eu criei) fico feliz ver o pessoal ajudando assim kkkkkk
então quanto a primeira pergunta é simples vou reformula-la: qual é melhor eu usar variáveis globais ou eu usar um script que seja carregado por várias instancias que irão usá-lo, (lembrando que eu nun sei se dar pra editar scripts em tempo real ou seja dentro de uma ação mudar uma valor de uma var do script)
quanto a segunda pergunta: sim eu quero criar um editor-in game e eu queria salvar os dados de onde o jogador pois os itens então eu queria usar ini vou ler os tutos do willy e ver se consigo, vlw ae todo mundo que comentou xDDDDDD
então quanto a primeira pergunta é simples vou reformula-la: qual é melhor eu usar variáveis globais ou eu usar um script que seja carregado por várias instancias que irão usá-lo, (lembrando que eu nun sei se dar pra editar scripts em tempo real ou seja dentro de uma ação mudar uma valor de uma var do script)
quanto a segunda pergunta: sim eu quero criar um editor-in game e eu queria salvar os dados de onde o jogador pois os itens então eu queria usar ini vou ler os tutos do willy e ver se consigo, vlw ae todo mundo que comentou xDDDDDD
Re: Duas dúvidas (Script/Global e INI)
primeira pergunta: ainda não entendi. Vamos ao ponto, qual o resultado que você quer? Entendi que é alguma coisa relativo ao evento create de muitas instâncias (do mesmo objeto?), mas não entendi O QUE você quer fazer.
Quanto ao INI de salvar/carregar, ninguém está se lembrando da constante object_index? É o número que representa o OBJETO, não a instância. Como se fosse o NOME do objeto, mas sem ser uma string. Assim,
Quanto ao INI de salvar/carregar, ninguém está se lembrando da constante object_index? É o número que representa o OBJETO, não a instância. Como se fosse o NOME do objeto, mas sem ser uma string. Assim,
- Código:
nome := object_index;
instance_create(x + sprite_width, y, nome);
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Duas dúvidas (Script/Global e INI)
acho que intendi a primeira pergunta, bom, EU aprendi que sempre é bom iniciar todas as variável globais de uma vez só no inicio do jogo, apesar de nunca colocar em pratica, e sim, tem como usar um script para modificar o valor de uma variável global(e também uma local), mais te aconselho usar só se for algo que necessite um bloco de códigos, afinal, se for um valor já descoberto, pra que o script?
pra retornar o valor pelo script:
no script deve existir a função return + oque deve ser retornado
e pra alterar a variavel global:
ou seja, global.variavel_que_voce_quer=1000
flwz
pra retornar o valor pelo script:
no script deve existir a função return + oque deve ser retornado
- Código:
//nome do script: Return
return 100*10
e pra alterar a variavel global:
- Código:
global.variavel_que_voce_quer=Return()
ou seja, global.variavel_que_voce_quer=1000
flwz
Re: Duas dúvidas (Script/Global e INI)
Acho que entendi... Você quer criar um script para declarar varias variáveis locais que outros objetos tem em comum. Se esse for o caso, você pode fazer isso ou criar um objeto pai e declarar os outros objetos como parent desse objeto. Dessa forma, todas as variáveis do pai estarão neles também.
Isso depende muito da sua necessidade e também da forma que achar mais prático.
Isso depende muito da sua necessidade e também da forma que achar mais prático.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos