Ciao, vi anticipo che non uso GM: Studio 2, ma il primo. Sto cercando di creare un nemico che attacca sparando a distanza, ma ho un problema. Il nemico in questione, dopo una certa distanza dal giocatore dovrebbe fermarsi e sparare. A fermarsi si ferma, ma non spara; ansi, spara quando ritorna a seguire il giocatore. Dove ho sbagliato? Vi mostro alcuni screenshot degli script
IMAGINE 1: https://imgur.com/a/AtGnoFZ
IMAGINE 2: https://imgur.com/a/8ighTxq
IMAGINE 3: https://imgur.com/a/X883vnx
IMAGINE 4: https://imgur.com/a/d9HCkYD
Problema con nemico che attacca a distanza
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Problema con nemico che attacca a distanza
L'ignoranza è la via per l'autodistruzione
Re: Problema con nemico che attacca a distanza
Non uso il D&D quindi non sono sicuro, ma credo che il problema stia nel fatto che quando il goblin si ferma l'alarm viene impostato a 10 a ogni step e quindi non arriva mai a 0. Infatti come hai detto tu quando poi si sposta spara perchè l'alarm non viene più settato a 10, quindi arriva a zero e spara
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Problema con nemico che attacca a distanza
Cosa mi consigli di fare?
L'ignoranza è la via per l'autodistruzione
Re: Problema con nemico che attacca a distanza
Dichiari una variabile con il nome che vuoi ("shot" per dirne una). Se il goblin è fermo e la variabile shot è a 0 metti l'alarm a 10 e lo shot a 1. Quando nell'alarm fai partire il colpo rimetti shot a 0.
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Problema con nemico che attacca a distanza
Ciao, puoi se il problema é quello descritto da Pat, ti basta semplicemente fare un controllo IF prima di settare l'allarme e vedere ere se é uguale a - 1, perche quando un alarm é spento diventa -1,quindi chiedendogli di controllare se é uguale a - 1 ti assicuri che diventi 10 soltanto se non é ancora attivo
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Problema con nemico che attacca a distanza
Potete aiutarmi con uno script?
L'ignoranza è la via per l'autodistruzione
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Problema con nemico che attacca a distanza
Oki, ti riporto quello che hai messo tu col D&D in forma di codice, cosi ci fai anche pratica.
Ho aggiunto quello che ti suggerivo e spostato la condizione "if canmove = false" come else della prima condizione, cosi è tutto piu pulito.
è piu chiaro ora?
Se poi volessi aggiungere che il nemico deve fermarsi quando spara ti basta settare "speed = 0" quando vai troppo vicino a obj_viking.
Perche la funzione "move_toward_point()" senza fartelo vedere aumenta questa variabile per far muovere l'oggetto, quindi devi riportarla a 0 per fermarlo.
Ho aggiunto quello che ti suggerivo e spostato la condizione "if canmove = false" come else della prima condizione, cosi è tutto piu pulito.
Codice: Seleziona tutto
if canmove = true
{
move_toward_point(obj_viking.x, obj_viking.y, 4)
}
else
{
direction = random(360)
speed = 4
}
if distance_to_object(obj_viking) < 100
{
canmove = false
if alarm[0] = -1
{
alarm[0] = 10
}
}
else
{
canmove = true
}
Se poi volessi aggiungere che il nemico deve fermarsi quando spara ti basta settare "speed = 0" quando vai troppo vicino a obj_viking.
Perche la funzione "move_toward_point()" senza fartelo vedere aumenta questa variabile per far muovere l'oggetto, quindi devi riportarla a 0 per fermarlo.
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Problema con nemico che attacca a distanza
Ho aggiustato alcune cose riguardo questo script, ora il nemico si comporta come dovrebbe. E come fare per fare un modo che il nemico smette di sparare quando insegue il giocatore? Abbiate un pò di pazienza, ma sono alle prime armi con la programmazioneSimsure ha scritto:Oki, ti riporto quello che hai messo tu col D&D in forma di codice, cosi ci fai anche pratica.
Ho aggiunto quello che ti suggerivo e spostato la condizione "if canmove = false" come else della prima condizione, cosi è tutto piu pulito.
è piu chiaro ora?Codice: Seleziona tutto
if canmove = true { move_toward_point(obj_viking.x, obj_viking.y, 4) } else { direction = random(360) speed = 4 } if distance_to_object(obj_viking) < 100 { canmove = false if alarm[0] = -1 { alarm[0] = 10 } } else { canmove = true }
Se poi volessi aggiungere che il nemico deve fermarsi quando spara ti basta settare "speed = 0" quando vai troppo vicino a obj_viking.
Perche la funzione "move_toward_point()" senza fartelo vedere aumenta questa variabile per far muovere l'oggetto, quindi devi riportarla a 0 per fermarlo.
L'ignoranza è la via per l'autodistruzione
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Problema con nemico che attacca a distanza
Nessun problema, ci siam passati tutti, la cosa principale è capire il modo giusto di pensare quando si programma.
Secondo il codice che ti ho passato il nemico smette gia di sparare.
Ciò che attiva lo sparare è quando l'allarm arriva a zero, l'unico momento in cui l'alarm viene attivato è quando "distance_to_object(obj_viking) < 100".
Quando la distanza è maggiore ed inizia ad inseguirlo non è possibile che spari perche l'alarm resta spento, forse hai aggiunto qualcosa tu che continua a riaccendere l'alarm?
In ogni caso ho ti metti un avatar qui sul forum o non ti parlo piu
Secondo il codice che ti ho passato il nemico smette gia di sparare.
Ciò che attiva lo sparare è quando l'allarm arriva a zero, l'unico momento in cui l'alarm viene attivato è quando "distance_to_object(obj_viking) < 100".
Quando la distanza è maggiore ed inizia ad inseguirlo non è possibile che spari perche l'alarm resta spento, forse hai aggiunto qualcosa tu che continua a riaccendere l'alarm?
In ogni caso ho ti metti un avatar qui sul forum o non ti parlo piu
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Problema con nemico che attacca a distanza
CattivoSimsure ha scritto:In ogni caso ho ti metti un avatar qui sul forum o non ti parlo piu
L'ignoranza è la via per l'autodistruzione
Chi c’è in linea
Visitano il forum: Nessuno e 36 ospiti