Hello everyone. I had hoped not to turn to this thread anymore, but i could really use some tips right about now. I have recently downloaded an AI patch for one of my chars, which is great and challenging, but it has a huge problem, like the title of this topic says: it begins to auto-play all the times when he is on player 2 side, or even if i select him as player 1 and wait for him to play his intro. Is there a trigger, a var/fvar or a command, something in the *.cns files that i can edit and help me solve this auto-play problem and make him only use the AI in arcade mode/watch mode/survival? It's not a problem for P1 side because i just skip the intro and retain the control over the char, but when i go in vs mode to test some changes i'm implying to it, i get an AI vs AI fight and it is becoming really disturbing.Thank you for your attention.
MC2 said, July 30, 2010, 04:50:22 pmMugen 1.0 has instant AI activation. And also makes use of the difficulty setting in optionsWhat a dope feature[ s ]Anyways your problem involves either re-coding or removing the AI entirely, cos, the only time ""properly"" coded AI should trigger in Arcade / Survival / Team / VS modes [ when player 1 ] is by pressing ctrl+1 [ for player 1 ], ctrl+2 [ for player 2 ], ctrl+3 [ ok I think you get the idea ]If you wanna attempt to fix the problem yourself, posting the varset for the AI's activation and maybe a line or 2 of AI changestates would help me guide you to fixing it
2OS said, July 30, 2010, 05:22:57 pmAnyways your problem involves either re-coding or removing the AI entirely, cos, the only time ""properly"" coded AI should trigger in Arcade / Survival / Team / VS modes [ when player 1 ] is by pressing ctrl+1 [ for player 1 ], ctrl+2 [ for player 2 ], ctrl+3 [ ok I think you get the idea ]If you wanna attempt to fix the problem yourself, posting the varset for the AI's activation and maybe a line or 2 of AI changestates would help me guide you to fixing itHere it is:;AI;---------------------------------------------------------------------------[Statedef -3];AIƒXƒCƒbƒ`[State -3, AI]Type = VarSetTriggerAll=!ishelperTriggerAll = ((Var(38) < 1) && (RoundState != 3))TriggerAll = var(38) < 1Trigger1 = Command = "AI_00" || Command = "AI_01" || Command = "AI_02" || Command = "AI_03" || Command = "AI_04"Trigger2 = Command = "AI_05" || Command = "AI_06" || Command = "AI_07" || Command = "AI_08" || Command = "AI_09"Trigger3 = Command = "AI_10" || Command = "AI_11" || Command = "AI_12" || Command = "AI_13" || Command = "AI_14"Trigger4 = Command = "AI_15" || Command = "AI_16" || Command = "AI_17" || Command = "AI_18" || Command = "AI_19"Trigger5 = Command = "AI_20" || Command = "AI_21" || Command = "AI_22" || Command = "AI_23" || Command = "AI_24"Trigger6 = Command = "AI_25" || Command = "AI_26" || Command = "AI_27" || Command = "AI_28" || Command = "AI_29"Trigger7 = Command = "AI_30" || Command = "AI_31" || Command = "AI_32" || Command = "AI_33" || Command = "AI_34"Trigger8 = Command = "AI_35" || Command = "AI_36" || Command = "AI_37" || Command = "AI_38" || Command = "AI_39"Trigger9 = Command = "AI_40" || Command = "AI_41" || Command = "AI_42" || Command = "AI_43" || Command = "AI_44"Trigger9 = Command = "AI_45" || Command = "AI_46" || Command = "AI_47" || Command = "AI_48" || Command = "AI_49"Trigger9 = Command = "AI_50"Trigger10 = var(38) < 1Trigger10 = NumHelper(10000+ID)Trigger10 = Helper(10000+ID),var(38) > 0Trigger11 = var(38) = 0Trigger11 = RoundState = 2IgnoreHitPause = 1V = 38Value = 4 ;AILv1`5‚Ü‚ÅÝ’è‰Â”\iŒ»Ý‚Í4‚Ü‚Åj[State -3];ƒfƒoƒbƒN‰ðœtype = Varsettrigger1 = var(38) > 0 && var(25) > 0var(25) = 0;“–gƒXƒCƒbƒ`[State -3, AI]Type = VarSetTriggerAll = Time = 1Trigger1 = Time = 1V = 33Value = 1 ;‚±‚±‚ÅÝ’è;---------------------------------------------------------------------------;0‚Å–³Žg—p;1‚ÅŽ©•ªƒ‰ƒCƒt‚ª‘ŠŽèƒ‰ƒCƒt‚æ‚è’á‚¢ŽžŽg—p;---------------------------------------------------------------------------[State -3]Type = VarSetTrigger1 = WinTrigger1 = !fvar(39)Fv = 39Value = 1IgnoreHitPause = 1;ƒ‰ƒEƒ“ƒhI—¹ŒãAAIƒXƒCƒbƒ`OFF[State -3, AI]Type = VarSetTriggerAll = Var(38) = [1,4]Trigger1 = Win = 1Trigger2 = Lose = 1Trigger3 = DrawGame = 1Trigger4 = RoundState = 4V = 38Value = -Var(38)IgnoreHitPause = 1;‚Qƒ‰ƒEƒ“ƒh–ÚŠJŽnŒãAAIƒXƒCƒbƒ`ON[State -3, AI]Type = VarSetTrigger1 = Var(38) = [-4,-1]Trigger1 = RoundState = 2V = 38Value = -Var(38)IgnoreHitPause = 1;ƒgƒŠƒK[EnemyNear‚Ì”»•ÊØ‚è‘Ö‚¦—p[State -3, AI]Type = VarSetTrigger1 = NumEnemy = 1Trigger2 = NumEnemy = 2Trigger2 = EnemyNear,Life > 0V = 53Value = 0IgnoreHitPause = 1SuperMoveTime = 9999PauseMoveTime = 9999;ƒgƒŠƒK[EnemyNear‚Ì”»•ÊØ‚è‘Ö‚¦—p[State -3, AI]Type = VarSetTrigger1 = NumEnemy > 1Trigger1 = EnemyNear,Life = 0V = 53Value = 1 ;simulí—p‚ÉEnemyNear‚ÌØ‚è‘Ö‚¦‚ð‚³‚¹‚鈗‚Å‚· ;EnemyNear(Var(53))‚Æ‹Lq‚·‚邱‚ƂŎ©“®”»•Ê‚µ‚Ü‚·IgnoreHitPause = 1SuperMoveTime = 9999PauseMoveTime = 9999;s“®•ªŠò[State -3, AI]Type = VarRandomTriggerAll = Var(38) = [1,9]TriggerAll = StateNo != 120Trigger1 = Time = 1Trigger2 = Time %60= 1Trigger2 = MoveType = ITrigger3 = Time %10= 1Trigger3 = MoveType != IV = 54Range = 0,99 ;AI‚ð‘g‚ñ‚¾ŒãA‚±‚̈—‚ð‚ ‚é’ö“x—‰ð‚µ‚½‚ç ;ƒgƒŠƒK[“™‚ð•ÏX‚µ‚Ă݂ĉº‚³‚¢A‚±‚ꂾ‚¯‚Å‚àŒ€“I‚ÉAI‚Ì“®‚«‚ª•Ï‚í‚è‚Ü‚·IgnoreHitPause = 1SuperMoveTime = 9999PauseMoveTime = 9999;ŠJ–‹s“®‘O—p[State -2]Type = VarSetTriggerAll = RoundState = 0Trigger1 = FVar(28) = 0FV = 28Value = 1[State -2]Type = VarSetTrigger1 = FVar(28) = 1Trigger1 = RoundState = 2FV = 28Value = 2[State -2, AI]Type = ChangeStateValue = 8700TriggerAll = Var(38) = 4TriggerAll = FVar(28) = 2TriggerAll = Var(24) = [4,6]triggerall = var(48) >= 33 || var(26) >= 2Trigger1 = CtrlTrigger1 = StateNo = 0[State -2]Type = VarSetTriggerAll = FVar(28) = 2 || FVar(28) = -1TriggerAll = RoundState = 2Trigger1 = CtrlTrigger2 = MoveType != ITrigger3 = StateNo = 8700FV = 28Value = 0;Trigger3ˆÈ~‚ÉAI‚É‚â‚点‚és“®‚ÌStateNo‚ð’ljÁ;—á‚Ìê‡ATrigger3 = StateNo = 105‚ð’ljÁThat segment of code covers all of AI's VarSets. I've looked at it a couple of times before deciding to post it here, but i have no clue on what to change/add/fix.
QuoteTrigger11 = var(38) = 0Trigger11 = RoundState = 2Probably that. Var(38) is initialised to 0 unless you set otherwise in state 5900. Therefore trigger11 is kicking in and instantly turning on AI.Whoever coded this didn't test it and the character itself probably isn't worth having as a result.
Cyanide said, July 31, 2010, 12:00:24 amQuoteTrigger11 = var(38) = 0Trigger11 = RoundState = 2Probably that. Var(38) is initialised to 0 unless you set otherwise in state 5900. Therefore trigger11 is kicking in and instantly turning on AI.Whoever coded this didn't test it and the character itself probably isn't worth having as a result.In addition to all that bullshit isn't even necessary for an AI, all that code JUST for it's SETTING and it DOESN'T EVEN WORK RIGHTAnd no I think you mean the patch isn't worth having, not the whole char e_e
Missed that, yeah, just re-extract the original, trash the patch. It probably breaks all the rules the character has like when it can cancel and how much power it actually takes to do things.
Cyanide said, July 31, 2010, 08:29:13 amMissed that, yeah, just re-extract the original, trash the patch. It probably breaks all the rules the character has like when it can cancel and how much power it actually takes to do things.Very well put. Indeed it reacts somehow unnatural, he has infinite priorities on almost every attack while the char at it's origin did not have (priorities were changed from "2, miss" to "8, hit").I suppose i'll have to remove it having read the explanations above.Those two triggers were the key. I've gotten rid of them and now it behaves as it should. Thank you for your help&time!