游戏王ygocore吧 关注:243,825贴子:2,901,782

【资源相关】请问您今天要来点【某Zis的超AI作弊模式v2】吗?

只看楼主收藏回复

【内容简介】
-YGOPro 英文版/繁体版 使用的 AI-Cheating 模式 增强版 v2 代码提供
-基于 YGOPro 英文版 1033.0 v2.1 的AI代码
-大体上,AI 变得 比较(非常) 难
【AI科普】
-YGOPro 英文版/繁体版 第二个选项即为 AI
-ADS 日文版 老板本有AI 而新版本没有,倒数第三个选项可以打 “不存在” 的 AI,YGOCore 原版 没有AI
-YGOPro 英文版/繁体版 使用的AI和主机是同样的原理,但强制不能保存录像
-在进入 选卡组 界面是可以选择 AI 脚本,ai.lua 为正常AI,ai-exodialib 为很会但只会打老I 的AI,ai-template 为测试ai用,一般忽略之,ai-cheating即为作弊AI
-原本的作弊AI每次抽卡可以多抽1张卡,并且恢复1000LP
-特别的,作弊AI可以在使用心崩的时候直接看到我方手牌并作出合适选择
【功能介绍】
-本 增强版 提供/修改 了以下增强内容:
-去掉了每次 AI 作弊模式开始烦人的两句话(挡屏),增加了一些温馨提示
-在双方任意第一次抽卡阶段我方会选择AI作弊强度,0 1 2 3 4 或 255。0 1 2 3 4 强度逐渐上升,255 会进入 DEBUG 模式,然后重新选择 0 1 2 3 4 为难度,具体不做介绍
-默认的 AI 强度为 1,选 3 以上的强度无疑是作死
-AI 不会因为规则抽卡而抽死,AI 卡组卡不够抽的场合会回收墓地所有卡并多抽 作弊强度 的卡
-AI 每回合的通招次数额外增加 作弊强度 的数量
-AI 手牌上限额外增加 作弊强度×2 的数量
-如果 AI 作弊强度 超过2,AI 的卡组会发生一定的变化
-每次 AI 抽卡阶段,AI 额外抽 作弊强度×2 的卡,回复 作弊强度×1000 的LP,对我方造成 (作弊强度-1)×500 的规则烧血
-每次 我方 抽卡阶段,AI 抽 作弊强度 的卡
-根据 作弊强度, AI 会在强度超过 1 的场合开始印卡。卡可能印在 手牌/墓地/卡组 中。强度越高印的的卡越可怕
-每次 我方 抽卡阶段,如果 AI LP 低于我方的一半,且 作弊强度 超过1, AI 会进行额外的印卡
【代码内容】
function Duel.SafeDraw(tp,n)
local c=Duel.GetMatchingGroupCount(nil,tp,LOCATION_DECK,0,nil)
if c<n then Duel.Draw(tp,c,REASON_RULE) else Duel.Draw(tp,n,REASON_RULE) end
end
function EnableCheats()
AICheatLevel=255
AIDebug=false
local e1=Effect.GlobalEffect()
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PHASE+PHASE_DRAW)
e1:SetCountLimit(1)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
if AICheatLevel==255
then AI.Chat("===== SELECT AI CHEATING LEVEL, WARNING: DON'T SELECT 3 OR ABOVE =====")
AICheatLevel=Duel.AnnounceNumber(1-player_ai,1,0,2,3,4,255)
if AICheatLevel==255
then AIDebug=true
AI.Chat("===== AI DEBUG MODE ON, SELECT AI CHEATING LEVEL AGAIN ==============")
AICheatLevel=Duel.AnnounceNumber(1-player_ai,1,0,2,3,4)
AI.Chat("===== IN DEBUG MODE, YOU CAN: CLEAN CARDS, BECOME AI ================")
end
local e1=Effect.GlobalEffect()
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SET_SUMMON_COUNT_LIMIT)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetValue(AICheatLevel+1)
Duel.RegisterEffect(e1,0)
local e2=Effect.GlobalEffect()
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_HAND_LIMIT)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetValue(6+AICheatLevel*2)
Duel.RegisterEffect(e2,0)
if AICheatLevel>2
then AI.Chat("===== I WARNNED YOU NOT TO SELECT 3 OR ABOVE =========================")
local T=Duel.GetMatchingGroup(nil,player_ai,LOCATION_DECK,0,nil)
local A=Group.CreateGroup()
local B=Group.CreateGroup()
local N
c=T:GetFirst()
while c
do N=c:GetCode()
if N==97077563 then A:AddCard(c)
B:AddCard(Duel.CreateToken(player_ai,83764718))
elseif N==5318639 then A:AddCard(c)
B:AddCard(Duel.CreateToken(player_ai,19613556))
elseif N==32807846 then B:AddCard(Duel.CreateToken(player_ai,32807846))
elseif N==81439173 then B:AddCard(Duel.CreateToekn(player_ai,81439173))
end
c=T:GetNext()
end
Duel.Remove(A,POS_FACEDOWN,REASON_RULE)
Duel.SendtoDeck(B,nil,2,REASOM_RULE)
end
end
if AIDebug and Duel.GetMatchingGroupCount(nil,player_ai,255-32,0,nil)>80
then AI.Chat("===== YOU MIGHT WANT TO DO SOME CLEANING ... ===================DEBUG=")
if Duel.SelectYesNo(1-player_ai,Duel.GetDecktopGroup(player_ai,1))==true
then Duel.Remove(Duel.SelectMatchingCard(1-player_ai,nil,player_ai,255-32,0,nil),POS_FACEDOWN,REASON_RULE) end
end
if AIDebug then AI.Chat("===== DO YOU WANT TO BE THE AI? NON-AI HAVE THE CHANCE =========DEBUG=")
if Duel.SelectYesNo(1-player_ai,Duel.GetDecktopGroup(player_ai,1))==true then player_ai=1-player_ai end end
if Duel.GetTurnPlayer()==player_ai
then if Duel.GetMatchingGroupCount(nil,player_ai,LOCATION_DECK,0,nil)<AICheatLevel*2
then Duel.SendtoDeck(Duel.GetMatchingGroup(nil,player_ai,LOCATION_GRAVE,0,nil),nil,2,REASON_RULE)
Duel.SafeDraw(player_ai,AICheatLevel,REASON_RULE)
end
Duel.SafeDraw(player_ai,AICheatLevel*2,REASON_RULE)
Duel.Recover(player_ai,AICheatLevel*1000,REASON_RULE)
Duel.Damage(1-player_ai,(AICheatLevel-1)*500,REASON_RULE)
local G=Group.CreateGroup()
if AICheatLevel>1 then G:AddCard(Duel.CreateToken(player_ai,5318639)) end
if AICheatLevel>2 then G:AddCard(Duel.CreateToken(player_ai,27243130)) end
if AICheatLevel>3 then G:AddCard(Duel.CreateToken(player_ai,97169186)) end
Duel.SendtoHand(G,player_ai,REASON_RULE)
else Duel.SafeDraw(player_ai,AICheatLevel,REASON_RULE)
local G=Group.CreateGroup()
if AICheatLevel>1 then G:AddCard(Duel.CreateToken(player_ai,54512827)) end
if AICheatLevel>2 then G:AddCard(Duel.CreateToken(player_ai,81907872)) end
if AICheatLevel>3 then G:AddCard(Duel.CreateToken(player_ai,15721123)) end
if AICheatLevel>4 then G:AddCard(Duel.CreateToken(player_ai,44330098)) end
Duel.SendtoHand(G,player_ai,REASON_RULE)
G=Group.CreateGroup()
if AICheatLevel>1 then G:AddCard(Duel.CreateToken(player_ai,1833916)) end
if AICheatLevel>2 then G:AddCard(Duel.CreateToken(player_ai,2830693)) end
if AICheatLevel>3 then G:AddCard(Duel.CreateToken(player_ai,9411399)) end
Duel.SendtoGrave(G,REASON_RULE)
G=Group.CreateGroup()
if AICheatLevel>3 then G:AddCard(Duel.CreateToekn(player_ai,9411399)) end
Duel.SendtoDeck(G,player_ai,2,REASON_RULE)
if Duel.GetLP(player_ai)<Duel.GetLP(1-player_ai)/2
then Duel.SafeDraw(player_ai,AICheatLevel*2)
G=Group.CreateGroup()
if AICheatLevel>1 then G:AddCard(Duel.CreateToken(player_ai,1315120)) end
if AICheatLevel>2 then G:AddCard(Duel.CreateToken(player_ai,17626381)) end
if AICheatLevel>3 then G:AddCard(Duel.CreateToken(player_ai,98045062)) end
Duel.SendtoHand(G,player_ai,REASON_RULE)
end
end end)
Duel.RegisterEffect(e1,0)
end
【使用方法】
-将代码内容替换ai/decks/FireFist.lua 里面的 function EnableCheats()
-function EnableCheats 从此标题开始,到这个标题下方第一个end 结束,请不要多或少删除内容,否则 AI 模式将完全无法使用
【注意事项】
-因为AI改动第一条并不在代码范围内,请手动将 ai/al-cheating.lua 里面的 ai.chat 行删除来去掉烦人话
-请不要想着和AI打持久战,会身心疲惫最后还输掉的
-作弊等级为 1 的场合和原 AI 作弊模式差不多,作弊等级为 0 的场合和没作弊差不多


IP属地:江苏1楼2014-05-11 01:05回复
    这么弄,fun卡组还能愉快的玩耍么→_→


    IP属地:广东来自手机贴吧2楼2014-05-11 01:22
    收起回复
      这玩意简直无情……卡组用完居然又洗回去了……
         归去,也无风雨也无晴。
         --来自助手版贴吧客户端


      来自Android客户端3楼2014-05-11 01:23
      收起回复
        简直无情
           ‖反吧的超有病游戏‖
           BiliBili 京ICP证12450号


        IP属地:河北来自Android客户端4楼2014-05-11 06:27
        回复
          好bt的ai


          IP属地:广东来自Android客户端5楼2014-05-11 08:08
          回复
            置顶Ai版最近更新的5级Ai脚本就是楼主的弱化版了,但依然觉得有点BT,有这脚本后已经不用Ai卡组,用什么卡组都很强的样子


            IP属地:广东来自Android客户端7楼2014-05-11 08:18
            收起回复
              简直无情


              IP属地:浙江来自Android客户端8楼2014-05-11 08:23
              回复
                何等丧心病狂


                IP属地:北京9楼2014-05-11 08:26
                回复
                  这代码会让AI有近乎无限的血和卡组,本质上会比现冥还强。就这一点来说,果然踏上了MUGEN论外的套路。


                  IP属地:广东来自Android客户端10楼2014-05-11 08:37
                  收起回复
                    开挂的AI简直无情


                    IP属地:广东来自Android客户端11楼2014-05-11 08:50
                    回复
                      用动画卡+无禁限才能把lv3的ai碾过去...


                      IP属地:天津来自Android客户端12楼2014-05-11 09:07
                      收起回复
                        作弊有意义吗,,,


                        IP属地:宁夏13楼2014-05-11 10:54
                        收起回复
                          召唤断路器,帝王斗鸡场均卡beat可以一试
                             --白色葬礼,黑色回忆,埋藏在心底最深处的那个秘密,永远不抛弃。繁落桜,聚,散;人之心,合,离。


                          IP属地:江苏来自Android客户端15楼2014-05-11 12:36
                          收起回复
                            以前用卡牌堆砌AI实力,现在用规则堆砌AI实力


                            IP属地:广东16楼2014-05-11 13:16
                            收起回复
                              表示打ai看到有个v3v2什么的,点了一下,开局被吓尿了。一通亏卡后墓地出现卡组没有的带菌,手牌也增加了,吓得我立马投降了。其实说真的,置顶的音效版ai自带的竞技卡组【齿轮齿轮】真的就很好了,最近新下载的好像还加强了,知道伤判圣枪,魔族链也会用了,每回合都会盖卡(最新的齿轮齿轮ai最初不知道加强了,打得我想哭,甚至想把坑撕了,各种真坑假坑,被坑得不敢动了,怪兽都出得很小心,组个坑斗被它坑死了)。齿轮的赚卡也能为其提供强度。就是不知道怎么的机甲要塞不知道手跳了,如果它能做到手跳,那我不知道死了多少回了。齿轮巨人和冰箱人太烦。


                              IP属地:重庆17楼2014-05-11 13:20
                              收起回复