- 累计送礼:
 - 0 个
 
 - 累计收礼:
 - 0 个
 
 TA的每日心情  | 开心 2025-10-18 22:41 | 
|---|
 
  签到天数: 165 天 连续签到: 1 天 [LV.7]常住居民III 
  
管理员 
    
    
        - VIP
 
        - 6 
 
     
    
        - 卡币
 
        - 14829 
 
     
    
        - OK点
 
        - 16 
 
     
    
    - 推广点
 
    - 0 
 
     
	
    - 同能卷
 
    - 0 
 
     
  
	- 积分
 - 17954
 
 
  
 
  
 | 
 
先说一下所谓的"灵感",是几个月前玩的“杀戮之心EXA”,突发奇想,就做了个这个鸡肋到不行的 
游戏(姑且也算....),Bug不少...
 因为技术原因和时间原因,还有许多没有弄好(比如这个版本的事件几乎没有区别, 
打算:比如带的子弹允许多一点,血就少一点,移动速度慢一点),所以请大家帮忙优化和完美这个系统
当然,这个有两个版本,”标准版“以及”附加版“
 
不过,我”故意“留了个”设定BUG“,运用这个BUG,比较容易赢,不过怎么运用BUG在”附加版“上的事件上有
 
翠花,上截图! 
标准版
 
附加版
 
这个游戏是给“事件”赋予“生命”,让它们互相搏斗,只用原脚本和事件几乎不能完成, 
所以动手加了几个小方法
 
在这,基本命令有“射击” “攻击” “防御” 
标准版全方法如下: - #==============================================================================# ■ Game_AI#------------------------------------------------------------------------------#  该版本的 AI 模块,AI只是噱头而已,哈哈#===============================================================================begin方法诠释  注:有些方法 我填的是 @event_id  这是己事件的ID,是在事件脚本上填的  如在“设置事件移动路线”的脚本栏用,请使用 @id  Scene_Map    $scene.defend(@event_id)  命令自身进行防御    $scene.event_shoot(@event_id,angle,show_text=true)  命令自身进行射击  angle 方向 单位:度   show_text 是否显示攻击信息    $scene.text_show(text,@event_id)  显示文章text(比如说些废话)    $scene.event_atk(@event_id,show_text=true)  命令自身向正前方进行物理攻击  show_text 是否显示攻击信息    Game_Character  # 在“设置事件移动路线”的脚本栏用,已把“跳跃”和谐了    turn_to(direction)  朝向direction方向    tomove(x,y)  自动移动 By OCTSJimmy  寻路算法 By whbm  在x,y坐标是可通行的情况下,向x,y移动    jump_new(direction,foot)  foot在1,2之间  在目标坐标是可通行情况下,朝direction方向跳跃foot步    Game_AI  ※ 标准版    Game_AI.check_self_hp(@event_id)  返回自身HP    Game_AI.check_near_event(@event_id)  返回离自身事件最近敌人编号(返回值范围 1,2,3)  Game_AI.check_self_ammo(@event_id)  返回自身所剩弹药数    Game_AI.check_event_screen_xy(which,who)  返回目标事件屏幕坐标  which : 阵营   0:甲方  1:乙方  who   : 编号   范围     1,2,3    Game_AI.check_enemy(@event_id,direction=0)  检查四方向直线上是否有敌人  direction 不填时(或填0) 是检查面向直线上  direction : 上 下 左 右 : 8 2 4 6 (参考小键盘)  返回值 true 或 false    Game_AI.check_enemy_forward(@event_id,direction=0)  检查四方向身前是否有敌人  direction 不填时(或填0) 是检查面前 填-1时,是任何1面(身前)有敌人            就返回朝向(2486),没有时返回0  direction : 上 下 左 右 : 8 2 4 6 (参考小键盘)  返回值 true 或 false    Game_AI.check_friend(@event_id[,direction])  检查四方向直线上是否有同伴  参考 check_enemy    Game_AI.check_fire(which,who)  检查屏幕上指定目标发射子弹的残留数(目前屏幕上有多少子弹是XX发射的)  which : 阵营   0:甲方  1:乙方  who   : 编号   范围     1,2,3  返回子弹数目 返回值大于等于0    Game_AI.check_atk(which,who)  检查指定目标是否正在攻击  which : 阵营   0:甲方  1:乙方  who   : 编号   范围     1,2,3  返回子弹数目 返回值大于等于0    Game_AI.check_event_id(which,who)  返回指定目标的事件编号 用于捕捉x,y坐标 如 $game_map.events[id].x  which : 阵营   0:甲方  1:乙方  who   : 编号   范围     1,2,3    Game_AI.check_event_angle(@event_id,enemy,who)  返回目标事件与己事件角度  一般用于事件射击($scene.event_shoot)  enemy : 敌人  0 : 自己  1 : 敌人  who   : 编号    1,2,3    Game_AI.move_possible?(@event_id,direction,foot)  检查自事件周围是否可通行  direction 方向 8方向8246 7913  foot 距离  如Game_AI.move_possible?(@event_id,7,2)就是返回自身事件左上2格是否  可通行,一般用于是否可跳跃    Game_AI.check_event_defend(@event_id,enemy,who)  检查目标事件是否正在防御  enemy : 0:己  1:敌  who   :   编号    Game_AI.check_event_hp(@event_id,enemy,who)  检查目标事件HP  enemy : 0:己  1:敌  who   : 编号                返回目标事件HP    ※ 附加版   略=end 复制代码
 
  复制代码
在地图上,有双方各3个事件,在事件名称为"甲1XX"“甲2XX"甲3XX"”乙1XX“"乙2XX""乙3XX" 
其中XX是你决定的名字
 
在事件第一页上要总共等待100帧,然后A开关打开(随便什么)执行你的事件
 
附加版较标准而言只是多了几个比较实用的方法(真的只有几个...) 
比如:检查距离敌目标事件之间有没有同伴,   以防误伤(本来 返回目标事件与己事件角度 是附加版里面的...)
 
到了这,这么设计”AI“呢?我给一个智商很低”例子“
 
这样的AI没问题? 废话,智商很低... 
怎么设计出智商较高的AI,这就要看你了!!
 
注意:游戏里面不要”作弊“,比如给自己无偿加血 
好像没什么了 
附:标准版
 
   附加版
 
             本帖来自P1论坛作者沙漠点灰,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=169132  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。  |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 
		
		
		 
 
 |