Problema danno Nemico

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
nicolacandian
Newbie
Messaggi: 40
Iscritto il: 14/03/2014, 12:28
Specialità: niente
Uso: GameMaker 8.1
Contatta:

Problema danno Nemico

Messaggio da nicolacandian »

Salve allora vi spiego, io ho creato due oggetti nemici (nemico0 e nemico1) e ho fatto si che se avviene un contatto con l'oggetto giocatore l'oggetto giocatore perde 5 di vita, il problema avviene quando i due nemici (nemico0 e nemico1) contemporaneamente colpiscono il giocatore,la vita invece di diminuire di 10 diminuisce di 5 per volta. Come posso Fare? In fine un ultimo dubbio io vorrei che tra i due nemici ci fosse un distacco di 100 pixel sia in X che in Y, come posso fare?

Potete aiutarmi grazie

Avatar utente
Slime
Membro attivo
Messaggi: 367
Iscritto il: 23/12/2013, 20:21
Specialità: Esistere
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Problema danno Nemico

Messaggio da Slime »

1 - Non capisco bene dove stia il problema. Immagino che tu, per "vita", intenda una variabile che funge da vita.
Se tu nell'evento collisione del giocatore con nemico0 e in quello con nemico1 diminuisci questa variabile di 5, questo dovrebbe accadere anche quando i due eventi sono contemporanei. Quindi -5-5 = -10
Probabilmente hai sbagliato qualcosa oppure non ci hai detto tutte le informazioni.

2 - Cosa intendi dire? Spiegati meglio perdiana! Hai ben inserire qui numero caratteri disponibili caratteri per spiegarci bene cosa vuoi ottenere, usali! A meno che un tirannosauro-creeper non ti stia inseguendo, hai tutto il tempo che vuoi per esprimerti comediocomanda.
Huzzah!

Immagine

Le Tartarughe Spaziali

nicolacandian
Newbie
Messaggi: 40
Iscritto il: 14/03/2014, 12:28
Specialità: niente
Uso: GameMaker 8.1
Contatta:

Re: Problema danno Nemico

Messaggio da nicolacandian »

Allora e un po difficile visto che uso per programmare si le icone che i script(=con meno conoscenza):

Danno nemico0 e nemico1 al giocatore (lo script e ugale)
Spoiler
Ho creato nel giocatore un alarmo (alarm[0]) con uno script con il seguente codice:
global.inv = false

Poi ho creato un evento collisione tra il giocatore e il nemico0 con uno script con il seguente codice:

if !global.inv //se il giocatore è vulnerabile....
{
global.VitaGiocatore -= 10 //...diminusci l'energia e rendi...
global.textvita -= 10 //...Il testo della vita diminuisce di 1
global.inv = true //...il giocatore diventa invulnerabile...
alarm[0] = 10 //...per 17/30 di secondo
}


Ho creato una seconda collisione tra il giocatore e il nemico1 con lo stesso script di nemico0.

Poi ho fatto si che i due nemici seguissero il giocatore.

In fine ho creato una barra della vita del giocatore con le seguenti cose:
un create con uno script con queste due variabili

global.textvita = 100
global.VitaGiocatore = 100


e un draw con il script seguente:

draw_healthbar(view_xview,view_yview,view_xview+200,view_yview+50,global.VitaGiocatore,c_red,c_yellow,c_lime,0,true,true)
draw_set_font(font_soldi)
draw_text(view_xview+60,view_yview,global.textvita)


e poi ho creato un front_soldi che sarebbe il carattere di testo.

penso che sia tutto
Mi scuso per la domanda prima che non era completa

BotaniciTraffici
Membro attivo
Messaggi: 348
Iscritto il: 31/01/2014, 12:38
Specialità: Programmazione
Uso: GM:Studio 1.4 Master
Contatta:

Re: Problema danno Nemico

Messaggio da BotaniciTraffici »

Sai che puoi (dovresti) eliminare global.text_vita ovunque tu l'abbia usato?

Per scrivere la vita ti basta questo:

Codice: Seleziona tutto

draw_text(view_xview+60,view_yview,string(global.Vita_Giocatore));
al posto del tuo

Codice: Seleziona tutto

draw_text(view_xview+60,view_yview,global.textvita)
Per il problema del 5 e del 10 sinceramente non ho capito

Avatar utente
Slime
Membro attivo
Messaggi: 367
Iscritto il: 23/12/2013, 20:21
Specialità: Esistere
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Problema danno Nemico

Messaggio da Slime »

Penso di aver capito il problema.
Forse accade questo:

Personaggio collide con nemico0 -> inv è falso quindi:
-diminuisco vita di 5
-setto inv a true
Personaggio collide con nemico1 -> inv è vero (l'hai settato così su) quindi non eseguo azioni
Fine

Quindi se le due collisioni avvengono contemporaneamente una di esse non eseguirà il codice.
Secondo me comunque non è nemmeno un problema, in tutti i giochi che ho giocato dove è presente l'invulnerabilità dopo aver perso vita, se il personaggio tocca contemporaneamente due nemici, verrà colpito solo da uno di questi 2.

Se vuoi una soluzione ce l'avrei, basta che lo dici.
Huzzah!

Immagine

Le Tartarughe Spaziali

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Problema danno Nemico

Messaggio da gameplay_extreme »

si, è normale: se un nemico ti colpisce diventi invelnerabile quindi il secondo nemico non può colpirti (almeno non subito)...anche a me non sembra un gran problema (cioè mi sembra logico così...)
Ultima modifica di gameplay_extreme il 21/03/2014, 20:15, modificato 1 volta in totale.
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

nicolacandian
Newbie
Messaggi: 40
Iscritto il: 14/03/2014, 12:28
Specialità: niente
Uso: GameMaker 8.1
Contatta:

Re: Problema danno Nemico

Messaggio da nicolacandian »

Slime per favore mi puoi scrivere la soluzione? grazie.

Poi se non disturbo avrei ancora due problemi.

Il primo e che il quando il giocatore viene colpito da esempio nemico0 e muovo il giocatore in direzione di nemico0 allora in quel momento il giocatore viene sovrapposto da nemico0.

Il secondo e quello che vorrei (sempre se possibile) che il nemico0 fosse lontano da nemico1 di 50 pixel sia in Y che in X.

Spero di non chiedere troppo.

Grazie per la vostra pazienza

Avatar utente
Slime
Membro attivo
Messaggi: 367
Iscritto il: 23/12/2013, 20:21
Specialità: Esistere
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Problema danno Nemico

Messaggio da Slime »

Per la prima domanda, guarda depth sul manuale.
Per la seconda, ti ho già risposto: CHE DIAMINE VUOL DIRE?!

Ora ti sto preparando la soluzione
Huzzah!

Immagine

Le Tartarughe Spaziali

Avatar utente
Slime
Membro attivo
Messaggi: 367
Iscritto il: 23/12/2013, 20:21
Specialità: Esistere
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Problema danno Nemico

Messaggio da Slime »

Ecco ciò che ho pensato:
Hai bisogno di 2 variabili, una per la vita a inizio step e una per la vita reale (che poi sarà quella normale che userai per i controlli e le assegnazioni), che io chiamerò rispettivamente healthBegin e health

Step
In Step accadranno tutte le modificazioni della vita (anche le collisioni le consideriamo in questa parte)

End Step

Codice: Seleziona tutto

if (health < healthBegin) {
    healthBegin = health;    
    inv = true;
    alarm[0] = 10;
}//Se la vita è minore della vita che avevamo a inizio step (quindi vuol dire che il personaggio è stato danneggiato e la sua vita è calata), attivo l'invulnerabilità
Alarm[0]

Codice: Seleziona tutto

inv = false;
PRO: l'invulnerabilità avverrà ogni volta che alla fine dello Step il personaggio ha perso vita, non è necessario inserirla a mano ogni volta che un nemico colpirà
CONTRO: l'invulnerabilità avverrà ogni volta che alla fine dello Step il personaggio ha perso vita, si attiverà anche se il personaggio non verrà colpito dal nemico (ad es. danno da caduta) e potrebbe essere non voluto

Il codice non è da copia incolla. E' solo per farti capire come ti potresti organizzare, l'unica variabile in più è quella della vita ad inizio step, nella collisione devi solo danneggiare (non attivare l'invulnerabilità e l'alarm) e l'alarm rimane invariato.

Spero di esserti stato utile :cappa: se hai bisogno di aiuto con il codice chiedi pure ;)
Huzzah!

Immagine

Le Tartarughe Spaziali

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Problema danno Nemico

Messaggio da gameplay_extreme »

ora che ci penso io invece, a volte, ho avuto il problema opposto: se 2 nemici collidevano contemporanemente con il pg, tornava si all' ultimo checkpoint ma perdeva 2 vite! Ho poi risolto con il sistema dell' "invulnerabilità temporanea" (che è lo stesso sistema che ho proposto a te)
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

nicolacandian
Newbie
Messaggi: 40
Iscritto il: 14/03/2014, 12:28
Specialità: niente
Uso: GameMaker 8.1
Contatta:

Re: Problema danno Nemico

Messaggio da nicolacandian »

Ok adesso funziona grazie a tutti vi meritate questo :first:

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 41 ospiti