Qualcuno conosce uno script per i nemici che attaccano a distanza? Intendo i nemici che inseguono il giocatore, e appena raggiunta una certa distanza da lui si fermano. Mentre sono fermi fermi sparano con gli archi, facendo una pause di 5 secondi dopo ogni sparo. Quando il giocatore si allontana, questi nemici lo inseguono di nuovo.
Qualcuno sa aiutarmi?
Nemici che si fermano e sparano al giocare
- HenrikUp
- Membro super
- Messaggi: 584
- Iscritto il: 04/07/2011, 10:50
- Specialità: Programmatore
- Uso: GM:Studio 1.4 Standard
- Località: SudItalia
- Contatta:
Re: Nemici che si fermano e sparano al giocare
inanzitutto spiega,il gioco e' di sopra tipo top down shooter o 2d ?
Ma cmq e' qualcosa del genere :
Ma cmq e' qualcosa del genere :
Codice: Seleziona tutto
if distance_to_object(Player) < 900 && distance_to_object(Player) >= 150 {
//qui metti un'azione che faccia inseguire il giocatore al nemico per esempio se il gioco utilizza la fisica integrata di Gm Studio dovresti usare una cosa del genere :
mp_potential_step_object(Player.x,Player.y,2.6,Obj_blocco //blocco da evitare);
idx = lengthdir_x(2.6,direction);
idy = lengthdir_y(2.6,direction);
phy_speed_x = idx
phy_speed_y = idy
//qui metti una variabile che allerti il nemico e gli faccia fare altre azioni se allerta e' uguale a 1 per esempio avere image_speed = 1 e quindi correre ah ma ricordati prima di inizializzarla nel create.
allerta = 1 }
if distance_to_object(Player) < 150 {
phy_speed_x = 0
phy_speed_y = 0
if possosparare = 1 { //se la variabile possosparare e' a 1 spara ricordati di inizializzarla nel create pero stavolta deve iniziare a 1
possosparare = 0
alarm[0] = 5 //dopo 5 secondi va in questo alarm poi in questo alarm te metti che la variabile posso sparare si resetta a 1
instance_create(x,y,freccia) //fai che crei una freccia o una cosa del genere
}}
- Wolfrost
- Membro super
- Messaggi: 692
- Iscritto il: 03/08/2014, 13:08
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Pro
- Località: Una galassia lontana lontana...
- Contatta:
Re: Nemici che si fermano e sparano al giocare
HenrikUp ha scritto:inanzitutto spiega,il gioco e' di sopra tipo top down shooter o 2d ?
Ma cmq e' qualcosa del genere :
Codice: Seleziona tutto
if distance_to_object(Player) < 900 && distance_to_object(Player) >= 150 { //qui metti un'azione che faccia inseguire il giocatore al nemico per esempio se il gioco utilizza la fisica integrata di Gm Studio dovresti usare una cosa del genere : mp_potential_step_object(Player.x,Player.y,2.6,Obj_blocco //blocco da evitare); idx = lengthdir_x(2.6,direction); idy = lengthdir_y(2.6,direction); phy_speed_x = idx phy_speed_y = idy //qui metti una variabile che allerti il nemico e gli faccia fare altre azioni se allerta e' uguale a 1 per esempio avere image_speed = 1 e quindi correre ah ma ricordati prima di inizializzarla nel create. allerta = 1 } if distance_to_object(Player) < 150 { phy_speed_x = 0 phy_speed_y = 0 if possosparare = 1 { //se la variabile possosparare e' a 1 spara ricordati di inizializzarla nel create pero stavolta deve iniziare a 1 possosparare = 0 alarm[0] = 5 //dopo 5 secondi va in questo alarm poi in questo alarm te metti che la variabile posso sparare si resetta a 1 instance_create(x,y,freccia) //fai che crei una freccia o una cosa del genere }}
Codice: Seleziona tutto
alarm[0] = 5
Inoltre il tuo sistema è troppo confusionario, inoltre utilizza metodi con la fisica built-in di Game Maker che personalmente non userei mai per il tipo di gioco che personalmente vuole fare lui. E, come se non bastasse, gli stai offrendo la "pappa pronta" pure mal realizzata
-
- Membro
- Messaggi: 189
- Iscritto il: 25/10/2013, 14:43
- Specialità: Artista
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Nemici che si fermano e sparano al giocare
Posso avere una spiegazione più semplice? Anche perchè questo script non mi funziona bene.
Comunque sì, è un Top Down Shooter 2D. In'oltre si basa sulla sopravvivenza in arena, dove il giocatore deve uccidere i nemici che lo attaccano.
Comunque sì, è un Top Down Shooter 2D. In'oltre si basa sulla sopravvivenza in arena, dove il giocatore deve uccidere i nemici che lo attaccano.
- doom13
- Moderatore
- Messaggi: 2093
- Iscritto il: 31/08/2012, 15:40
- Specialità: Programmazione
- Uso: GM:Studio 2
- Contatta:
Re: Nemici che si fermano e sparano al giocare
Se guardi sul manuale ci sono tutte le funzioni che ti servono, c'è quella per controllare la distanza, quella per seguire il giocatore, ecc
(point_distance oppure distance_to_object, mp_potential_step, queste sono alcune, vedi tu quali fanno più al tuo caso).
Con quelle funzioni ti semplifichi la vita ma potrebbero non soddisfarti pienamente.
Fai una ricerca sul manuale, fai qualche prova. Se proprio non sai da dove cominciare, ti diamo un paio di mani.
(point_distance oppure distance_to_object, mp_potential_step, queste sono alcune, vedi tu quali fanno più al tuo caso).
Con quelle funzioni ti semplifichi la vita ma potrebbero non soddisfarti pienamente.
Fai una ricerca sul manuale, fai qualche prova. Se proprio non sai da dove cominciare, ti diamo un paio di mani.
Spoiler
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"
- HenrikUp
- Membro super
- Messaggi: 584
- Iscritto il: 04/07/2011, 10:50
- Specialità: Programmatore
- Uso: GM:Studio 1.4 Standard
- Località: SudItalia
- Contatta:
Re: Nemici che si fermano e sparano al giocare
Wolfrost lui non ha specificato il gioco che voleva creare percio ho tirato a indovinare.
Per l'errore dei 5 secondi scusate la distrazione dovevo mettere 150(se la room speed e 30) oppure il tuo code e cmq
io non ho mai detto che lui doveva copiare il mio script io ho semplicemente detto che se il gioco era di sopra e c'era la fisica integrata poteva usare tutta quella roba
se no avrebbe dovuto usare solo queste cose (era per fargli capire il meccanismo ma ora che ci penso non ha molto senso dargli anche i codici della fisica integrata)
codice semplificato :
PS : Dove c''e scritto codice che vuoi tu per muoverti e codice che lo ferma cerca sul manuale e poi sostituisci i due commenti con il code che piu ti aggrada
Per l'errore dei 5 secondi scusate la distrazione dovevo mettere 150(se la room speed e 30) oppure il tuo code e cmq
io non ho mai detto che lui doveva copiare il mio script io ho semplicemente detto che se il gioco era di sopra e c'era la fisica integrata poteva usare tutta quella roba
se no avrebbe dovuto usare solo queste cose (era per fargli capire il meccanismo ma ora che ci penso non ha molto senso dargli anche i codici della fisica integrata)
codice semplificato :
Codice: Seleziona tutto
if distance_to_object(Player) < 900 && distance_to_object(Player) >= 150 {
//codice che vuoi tu per muoverti
//qui metti una variabile che allerti il nemico e gli faccia fare altre azioni se allerta e' uguale a 1 per esempio avere image_speed = 1 e quindi correre ah ma ricordati prima di inizializzarla nel create.
allerta = 1 }
if distance_to_object(Player) < 150 {
//codice che lo ferma
if possosparare = 1 { //se la variabile possosparare e' a 1 spara ricordati di inizializzarla nel create pero stavolta deve iniziare a 1
possosparare = 0
alarm[0] = 150 //dopo 5 secondi va in questo alarm poi in questo alarm te metti che la variabile posso sparare si resetta a 1
instance_create(x,y,freccia) //fai che crei una freccia o una cosa del genere
}}
Re: Nemici che si fermano e sparano al giocare
Imparate a indentare il codice
ecco un tool automatico: http://jsbeautifier.org/L'indentazione (o indentatura) è l'inserimento di una certa quantità di spazio vuoto all'inizio di una riga di testo. In tipografia il termine corretto è rientro. Nell'ambito della programmazione, l'indentazione è una convenzione utilizzata per esprimere al meglio la struttura di un codice.
Si tratta di un requisito non obbligatorio per molti linguaggi di programmazione e viene spesso messo in secondo piano. Tuttavia, è fondamentale per incrementare la leggibilità del codice, in particolare delle strutture di controllo come le condizioni o i loop.
-
- Membro
- Messaggi: 189
- Iscritto il: 25/10/2013, 14:43
- Specialità: Artista
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Nemici che si fermano e sparano al giocare
Sono riuscito a risolvere il problema, grazie
Chi c’è in linea
Visitano il forum: Nessuno e 38 ospiti