CPU problem
#1
Inviato 01 July 2008 - 20:59
#2
Inviato 01 July 2008 - 21:34
demongorne, su Jul 1 2008, 21:59, detto:
penso che dovresti aggiunge le nuove mosse anche nell'IA del personaggio, altrimenti nessuno dice al char che può eseguire quelle mosse, quando è il computer che lo manovra
#3
Inviato 02 July 2008 - 08:25
[command]
name = "Max_ryoku_rambu"
command = ~D,DB,D,DF,c+b
time = 25
[command]
name = "Max haoshookoken"
command = ~F, B, DB, D, DF, F, z+y
time = 25
[command]
name = "shinryuken"
command = ~D,DF,F,DF,F,z
time = 15
[command]
name = "Final Ryuken"
command = ~D,DF,F,DF,F,c
time = 15
#4
Inviato 02 July 2008 - 08:59
forse sbaglio xchè non sono molto esperto di programmazione ma quello che hai scritto tu sono le righe per il comando,cioè come si esegue la mossa che vuoi fare
#5
Inviato 02 July 2008 - 09:02
[command]
name = "CPU53"
command = D, D , F , F , D , F , F
time = 1
[command]
name = "CPU54"
command = D, D , F , F , D , F , F
time = 1
[command]
name = "CPU55"
command = D, D , B , D , D , F
time = 1
[command]
name = "CPU56"
command = F, B, D,B, D, D, F, F
time = 1
e nello state -1 dell'AI ho aggiunto
trigger53 = command = "CPU53"
trigger54 = command = "CPU54"
trigger55 = command = "CPU55"
trigger56 = command = "CPU56"
inoltre ho aggiunto negli state dei comandi delle hyper questa variabile
triggerall = var(59) != 1
a queto punto nn so proprio xkè nn funziona :mellow:
#6
Inviato 02 July 2008 - 11:05
dunque. nel file. CMD ci sono i comandi di ATTIVAZIONE dell'AI, che è rappresentato da una variabile (solitamente la (59) ).
Quando la variabile è attiva, il char legge dei comandi che vengono dati con il triggern = var(59) = 1, e sono una sorta di scorciatoie (in determinate soluzioni, portano direttamente alla tecnica senza passare x i comandi).
Ora... nel cmd vanno messe combinazioni di tasti (quelle riguardanti l'AI, non tutte), IMPOSSIBILI da fare per un giocatore umano. questo perché, nel qual caso si attivasse l'AI mentre giochi tu, perderesti il controllo del personaggio parzialmente o totalmente.
infine, questi comandi vanno inseriti come trigger in un varset, posizionato (solitamente) in fondo al CMD. con tutti trigger numerati, una cosa del genere:
[state -1,attivazione AI]
type = varset
trigger1 = command = "CPU1"
trigger2 = command = "CPU2"
trigger3 = com.....
trigge........
....
...
v = 59
Value = 1
questo comando attiva la variabile dell'AI.
Ora, la restante (e più importante) parte dell'AI si programma nel file cns, più precisamente nello statedef -2.
qui, vanno inseriti i CHANGESTATE, che portino il char a fare quella determinata tecnica. inutile dire che devi aggiungere ai trigger un random (un range, tipo [0,50]) in modo tale che sia casuale, e che l'AI sembri quanto + varia possibile.
Altri trigger possono esservi qui, come il p2bodydist, power, life, p2life, e tante altre.
FOndamentale, però, dev'esserci il:
Triggerall = var(59) = 1
ora aggiungi la tua tecnica in questo modo all'AI preesistente, e vedi che il pc non la "schiferà" + XD e la userà :)
Saluti
Squall
#7
Inviato 02 July 2008 - 11:20
[State -1, AI]
trigger53 = command = "CPU53"
trigger54 = command = "CPU54"
trigger55 = command = "CPU55"
trigger56 = command = "CPU56"
var(59) = 1
AI command
[command]
name = "CPU53"
command = D, D , F , F , D , F , F
time = 1
[command]
name = "CPU54"
command = D, D , F , F , D , F , F
time = 1
[command]
name = "CPU55"
command = D, D , B , D , D , F
time = 1
[command]
name = "CPU56"
command = F, B, D,B, D, D, F, F
time = 1
ChangeState
;Max_ryoku_rambu
[State -1, 3030]
type = ChangeState
value = 3030
trigger1 = (statetype = s) && ctrl
triggerall = command = "Max_ryoku_rambu"
triggerall = power>=2000
triggerall = life<=300
triggerall = var(59) != 1
----------------------------------------------------------------------------------------
;Max hohshookoken
[State -1, 3020]
type = ChangeState
value = 3020
triggerall = command = "Max haoshookoken"
trigger1 = (statetype = s) && ctrl
triggerall = power>= 2000
triggerall = life<=350
trigger2 = stateno = 3000
trigger2 = movecontact
triggerall = var(59) != 1
--------------------------------------------------------------------------------------
;Final ryuken
[State -1, 3015]
type = ChangeState
value = 3015
triggerall = Power>= 2000
triggerall = life<= 300
triggerall = command = "Final Ryuken"
trigger1 = (statetype = s) && ctrl
trigger2 = stateno = 1100
trigger2 = movecontact
triggerall = var(59) != 1
-----------------------------------------------------------------------------------------
;shinryuken
[State -1, 3010]
type = ChangeState
value = 3010
triggerall = Power>= 1000
triggerall = command = "shinryuken"
trigger1 = (statetype = s) && ctrl
trigger2 = stateno = 1100
trigger2 = movecontact
triggerall = var(59) != 1
#8
Inviato 02 July 2008 - 12:09
inoltre, mettendo nel cmd il triggerall = var(59) != 1, NEGHI la possibilità che il pc possa fare la combinazione di tasti e fare la tecnica autonomamente... rileggi il mio post :)
Saluti
Squall
#9
Inviato 02 July 2008 - 12:18
#10
Inviato 02 July 2008 - 12:21
STATEDEF -2.
lì sotto ci dev'essere l'AI. in caso contrario questo probabilmente non è programmata...
Saluti
Squall
#11
Inviato 02 July 2008 - 12:32
#12
Inviato 02 July 2008 - 14:08
Saluti
Squall
#13
Inviato 02 July 2008 - 14:15
ho aggiunto questo ma nn so se è corretto :unsure:
[State hyper_1, ChangeState]
type = ChangeState
trigger1 = command = "shinryuken"
value = 3010
ctrl = 0
#14
Inviato 02 July 2008 - 15:35
Saluti
Squall
#16
Inviato 02 July 2008 - 17:51
Saluti
Squall
#17
Inviato 02 July 2008 - 18:27
[State 0, ChangeState]
type = ChangeState
TriggerAll = roundstate = 2
value = 3010
triggerall = (var(59)!=1)&&(statetype= S)&&(ctrl)&&(random=[0,81])
trigger1 = (P2bodydist X>=100)&& (power>=1000)
xò ikn tal modo avviene ke come il p1 ssi carica di 1 powerbar scatta automaticamente la mossa senza ke io prema niente :unsure:
#18
Inviato 02 July 2008 - 19:31
VAR(59) != 1 VUOL DIRE CON L'AI DISATTIVATA.
il trigger corretto è : var(59) = 1
Saluti
Squall

Aiuto










