Colpire un nemico causale

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
MagicFool64
Membro
Messaggi: 77
Iscritto il: 17/12/2018, 22:26
Uso: GM:Studio 1.4 Pro
Contatta:

Colpire un nemico causale

Messaggio da MagicFool64 »

Inizio con il dire che non uso GM: Studio 2, e scusate se forse sto chiedendo la pappa già pronta

Vorrei create un effetto casuale che colpisce un nemico a caso nella schermata. Non so se mi spiego, ma è tipo un attacco che colpisce un nemico casuale nella schermata, una cosa del tipo: dopo un lasso di tempo casuale, o a comando del giocatore, viene evocato un fulmine che compisce un nemico casuale nella schermata. Quindi verrebbe evocato un object che si posiziona su un nemico a caso. Qualcuna sa come aiutarmi con uno script?
L'ignoranza è la via per l'autodistruzione

Avatar utente
Alv
Membro
Messaggi: 133
Iscritto il: 14/11/2014, 22:33
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Sicilia
Contatta:

Re: Colpire un nemico causale

Messaggio da Alv »

Dunque...

La funzione instance_number(tipo_oggetto) ti dà il numero di oggetti di quel tipo presenti nella room.

Codice: Seleziona tutto

count=instance_number(tipo_oggetto);
Per scegliere un oggetto a caso, basta generare un intero casuale:

Codice: Seleziona tutto

n=irandom(count-1);
A questo punto, è possibile ottenere l'id dell'oggetto numero n.

Codice: Seleziona tutto

nnn=instance_find(tipo_oggetto,n);
L'id si usa per accedere all'oggetto e a tutte le sue variabili. Quindi se vuoi creare un fulmine ti basta fare:

Codice: Seleziona tutto

instance_create(nnn.x,nnn.y,Fulmine);
Uso GMStudio 1: non so dirti se con Studio 2 ci sono altre funzioni per ottenere più velocemente lo stesso effetto.
Ultima modifica di Alv il 08/01/2021, 19:52, modificato 4 volte in totale.

Avatar utente
MagicFool64
Membro
Messaggi: 77
Iscritto il: 17/12/2018, 22:26
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Colpire un nemico causale

Messaggio da MagicFool64 »

Alv ha scritto:Dunque...

La funzione instance_number(Oggetto) ti dà il numero di oggetti di quel tipo presenti nella room.

Codice: Seleziona tutto

count=instance_number(Oggetto);
Per scegliere un oggetto a caso, basta generare un intero casuale:

Codice: Seleziona tutto

n=irandom(count-1);
A questo punto è possibile ottenere l'id dell'oggetto numero n.

Codice: Seleziona tutto

nnn=instance_find(Oggetto,n);
L'id si usa per accedere all'oggetto e a tutte le sue variabili. Quindi se vuoi creare un fulmine ti basta fare:

Codice: Seleziona tutto

instance_create(nnn.x,nnn.y,Fulmine);
Uso GMStudio 1, non so dirti se con Studio 2 ci sono altre funzioni per ottenere più velocemente lo stesso effetto.
Thank you
L'ignoranza è la via per l'autodistruzione

Avatar utente
MagicFool64
Membro
Messaggi: 77
Iscritto il: 17/12/2018, 22:26
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Colpire un nemico causale

Messaggio da MagicFool64 »

Ma tutti questi script in quale object li devo mettere?
L'ignoranza è la via per l'autodistruzione

Avatar utente
Simsure
Membro
Messaggi: 223
Iscritto il: 13/09/2013, 21:54
Specialità: Programmazione
Uso: GM:Studio 2
Località: dietro di te...
Contatta:

Re: Colpire un nemico causale

Messaggio da Simsure »

Dove vuoi tu.
Però evita di metterlo nei nemici, altrimenti ogni nemico ripeterà la stessa azione.
Quando deve avvenire questo attacco? in base a questo scegli in che evento metterlo.
Nel create per esempio avverrà solo una volta quando l'oggetto in questione viene creato
Immagine
Spoiler
Immagine

Avatar utente
MagicFool64
Membro
Messaggi: 77
Iscritto il: 17/12/2018, 22:26
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Colpire un nemico causale

Messaggio da MagicFool64 »

Simsure ha scritto:Dove vuoi tu.
Però evita di metterlo nei nemici, altrimenti ogni nemico ripeterà la stessa azione.
Quando deve avvenire questo attacco? in base a questo scegli in che evento metterlo.
Nel create per esempio avverrà solo una volta quando l'oggetto in questione viene creato
Ok
L'ignoranza è la via per l'autodistruzione

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 147 ospiti