设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1911|回复: 3
打印 上一主题 下一主题

[已经解决] 求个魔塔的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2011-12-30
帖子
182
跳转到指定楼层
1
发表于 2012-5-8 19:52:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是可以给怪物加一个属性,第一回合不攻击。

Lv1.梦旅人

梦石
0
星屑
49
在线时间
186 小时
注册时间
2012-5-8
帖子
987
2
发表于 2012-5-10 22:41:20 | 只看该作者
这个在数据库里可以完成。
看什么看,没看过大坑啊!
-------------------------炫翼-----------------------------
剧情:4%
地图:2%
系统:7%
优化:3%
脚本:25%
--------------------------炫翼----------------------------

      工作室


广告位招租....  
回复

使用道具 举报

Lv2.观梦者

仙木精灵

梦石
0
星屑
651
在线时间
215 小时
注册时间
2012-4-16
帖子
502
3
发表于 2012-5-11 12:41:22 | 只看该作者
本帖最后由 春风莉露 于 2012-5-11 12:44 编辑

喔喔
请在战斗事件里设置即可。

楼主的题目跟问题不同呀
附加:
魔塔式的战斗.rar (197.42 KB, 下载次数: 425)
回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3165
在线时间
3616 小时
注册时间
2009-4-4
帖子
4154

开拓者

4
发表于 2012-5-11 13:23:50 | 只看该作者
看你的样板啊……这是原脚本
  1. #==============================================================================
  2. # ■ Enemy_property
  3. #------------------------------------------------------------------------------
  4. #  确定怪物的属性及伤害等。
  5. #==============================================================================
  6. class Enemy_property
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化状态
  9.   #--------------------------------------------------------------------------
  10.   def initialize(enemyid)
  11.     @enemyid=enemyid
  12.     cal_enemy#计算怪物各种能力
  13.   end
  14.   
  15.   #--------------------------------------------------------------------------
  16.   # ● 计算怪物的各种能力等
  17.   #--------------------------------------------------------------------------
  18.   def cal_enemy
  19.     #获得怪物的两种属性
  20.     @p1=$data_enemies[@enemyid].name.split(':')[1].to_i
  21.     @p1=0 if @p1==nil
  22.     @p2=$data_enemies[@enemyid].name.split(':')[2].to_i
  23.     @p2=0 if @p1==@p2
  24.     @p2=0 if @p2==nil#从数据库怪物id中得到两个属性,没有则属性为0
  25.     if (@p2<@p1 and @p2!=0) or (@p1==0 and @p2!=0)
  26.       @p2+=@p1
  27.       @p1=@p2-@p1
  28.       @p2=@p2-@p1
  29.     end#将较小的数放在p1中,较大的放在p2
  30.     @p3=$data_enemies[@enemyid].name.split(':')[3].to_s
  31.     @p4=$data_enemies[@enemyid].name.split(':')[4].to_i
  32.     @p5=$data_enemies[@enemyid].name.split(':')[5].to_i
  33.     @p6=$data_enemies[@enemyid].name.split(':')[6].to_i
  34.     if @p5<10
  35.       @p5="00"[email protected]_s
  36.     else
  37.       if @p5<100
  38.         @p5="0"[email protected]_s
  39.       else
  40.         @[email protected]_s
  41.       end
  42.     end
  43.         
  44.     @orbatk=$game_variables[44]#攻击魔杖
  45.     @orbdef=$game_variables[45]#防御魔杖
  46.     @orbhp=$game_variables[46]#生命魔杖
  47.     @orbatktimes=$game_variables[47]#连击魔杖
  48.     @orbmdef=$game_variables[42]#魔防魔杖
  49.    
  50.     @first=0#没有先攻的情况下@first=0
  51.     @vampire=0#吸血量
  52.     @magicatk=0#魔攻
  53.     @turnatk=1#连击
  54.     @edam=0#爆击量
  55.     @epdef=0#坚固下的防御
  56.     @reatk=0#反弹伤害
  57.     @purge=0#净化效果
  58.     @blow=0#自爆伤害
  59.     @hate=0#仇恨伤害
  60.     @xixixi=0#攻击伤害
  61.     @pong=0#重击伤害
  62.    
  63.    
  64.     @mhp=$game_actors[$game_variables[1]+1].hp#基础勇生命
  65.     @ma=$game_actors[$game_variables[1]+1].str#基础勇攻
  66.     @md=$game_actors[$game_variables[1]+1].dex#基础勇防
  67.     @mmd=$game_actors[$game_variables[1]+1].int#基础勇魔防
  68.    
  69.     if @p1==4 or @p2==4#吸血属性
  70.       @vampire=($game_actors[$game_variables[1]+1].hp*$game_variables[53]).to_i
  71.     end
  72.     if @p1==8 or @p2==8#坚固
  73.       if $data_enemies[@enemyid].pdef<@ma
  74.         @epdef=(@ma-$game_variables[54]).to_i
  75.       end#只有怪物基础防御小于勇士攻击后才使它的防御等于勇士攻击-1
  76.     end
  77.     if @p1==16 or @p2==16#先 攻
  78.       @first=$game_variables[55]
  79.     end
  80.     if @p1==7 or @p2==7#攻 坚
  81.       @xixixi=(@md+$game_variables[126]).to_i
  82.     end
  83.     if @p1==9993 or @p2==9993#重 击
  84.       @pong=(@md*2).to_i
  85.     end
  86.     if @p1==64 or @p2==64#魔 攻
  87.       @magicatk=@md*$game_variables[57]
  88.       @magicatk*=2 if $game_switches[59]
  89.     end
  90.     if @p1==128 or @p2==128#连击
  91.       @turnatk=$data_enemies[@enemyid].eva#从怪物的回避修正中获得连击数
  92.     end
  93.     if @p1==512 or @p2==512#爆 击
  94.       @edam=(@md*$game_variables[58]).to_i
  95.     end
  96.     if @p1==4096 or @p2==4096#模 仿
  97.       $data_enemies[@enemyid].atk=(@ma*$game_variables[60]).to_i
  98.       $data_enemies[@enemyid].pdef=(@md*$game_variables[60]).to_i
  99.     end
  100.     if @p1==9900 or @p2==9900#反 击
  101.       @reatk=(@ma*$game_variables[70]).to_i
  102.     end
  103.     if @p1==9920 or @p2==9920#净 化
  104.       @purge=(@mmd*$game_variables[104]).to_i
  105.     end
  106.     if @p1==9960 or @p2==9960#仇 恨
  107.       @hate=($game_variables[111]).to_i
  108.     end
  109.     @ea=$data_enemies[@enemyid].atk#怪攻
  110.     @ed=[$data_enemies[@enemyid].pdef, @epdef].max#怪防
  111.     @ehp=$data_enemies[@enemyid].maxhp+@vampire#怪物的生命+吸血得到的生命
  112.    
  113.     @ma=($game_actors[$game_variables[1]+1].str*@orbatk).to_i#修正勇攻
  114.     @md=($game_actors[$game_variables[1]+1].dex*@orbdef).to_i#修正勇防
  115.     if $game_switches[Playerdate_magicdef]
  116.       @mmd=($game_actors[$game_variables[1]+1].int*@orbmdef).to_i#修正勇魔防
  117.     else
  118.       @mmd=0#未开启魔防下魔防=0
  119.       @purge=0
  120.     end
  121.    
  122.    
  123.     if @p1==9940 or @p2==9940#自 爆
  124.       @blow=1
  125.     end
  126.    
  127.     if $game_party.item_number($game_variables[114])>0
  128.       @blow=0
  129.     end
  130.     if @p1==7 or @p2==7
  131.       $data_enemies[@enemyid].atk=(@xixixi).to_i
  132.     else
  133.       @xixixi=($data_enemies[@enemyid].atk).to_i
  134.     end
  135.    
  136.     if @ma-@ed>0   #勇士的攻击>怪物的防御
  137.       
  138.       if @md-@magicatk>=@ea+@reatk#如果勇士的防御大于怪物的攻击+反弹的伤害
  139.         @edamage=0
  140.         @edamage=@vampire+@edam+@purge+@pong-@mmd
  141.         #吸血、爆击、净化怪物的伤害等于吸血量+爆击量+净化量+重击-勇士魔防
  142.       else
  143.         @eatimes=(@ehp/((@ma-@ed)*@orbatktimes).to_i).to_i#怪物的攻击次数
  144.         @eatimes-=1 if @eatimes==@ehp*1.0/((@ma-@ed)*@orbatktimes).to_i
  145.         #整数的情况下怪物的攻击次数要-1
  146.         @eatimes+=@first  #先攻的怪物要加先攻次数
  147.         @eatimes=0 if @eatimes<0#不能攻击的怪物攻击次数=0
  148.         @edamage=((@ea-@md+@reatk+@magicatk)*@turnatk*@eatimes).to_i+@vampire+@edam+@purge-@mmd
  149.       end
  150.      
  151.       @edamage=0 if @edamage<=0#伤害小于0则等于0
  152.       @edamage+=@hate#仇恨的伤害无视主角防御和魔防
  153.       if @edamage<=@mhp-1 and @blow!=0
  154.         @edamage=@mhp-1
  155.       end#伤害小于勇士生命且具有自爆属性,则伤害为生命-1
  156.       @nowin=0
  157.     else#勇士的攻击<怪物的防御
  158.       if @ma-@ed>=0
  159.         @edamage=(@ea*@ehp).to_i
  160.         @eatimes=(@ehp).to_i
  161.       else
  162.         @edamage=999999#伤害等于次大
  163.         @nowin=1
  164.       end
  165.     end
  166.    
  167.     if @p1==2048 or @p2==2048#怪物拥有无敌属性
  168.       if $game_party.item_number($game_variables[71])<1#未持有反无敌的物品
  169.         @edamage=9999999#伤害等于最大
  170.         @nowin=2
  171.       end
  172.     end
  173.   end
  174.   #--------------------------------------------------------------------------
  175.   # ● 返回怪物的伤害类型
  176.   #--------------------------------------------------------------------------
  177.   def got_nowin
  178.     return @nowin
  179.     #0代表可以对怪物造成伤害,1代表无法伤害,2代表怪物无敌
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ● 返回怪物的伤害
  183.   #--------------------------------------------------------------------------
  184.   def got_damage
  185.     return @edamage
  186.   end
  187.   #--------------------------------------------------------------------------
  188.   # ● 返回怪物的攻击
  189.   #--------------------------------------------------------------------------
  190.   def got_ea
  191.     return @ea
  192.   end
  193.   #--------------------------------------------------------------------------
  194.   # ● 返回怪物的防御
  195.   #--------------------------------------------------------------------------
  196.   def got_ed
  197.     return @ed
  198.   end
  199.   #--------------------------------------------------------------------------
  200.   # ● 返回怪物的第一属性
  201.   #--------------------------------------------------------------------------
  202.   def got_p1
  203.     return @p1
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   # ● 返回怪物的第二属性
  207.   #--------------------------------------------------------------------------
  208.   def got_p2
  209.     return @p2
  210.   end
  211.   #--------------------------------------------------------------------------
  212.   # ● 返回怪物再生后的图形(文件名,再生专用)
  213.   #--------------------------------------------------------------------------
  214.   def got_p3
  215.     return @p3
  216.   end
  217.   #--------------------------------------------------------------------------
  218.   # ● 返回怪物再生后的方向(再生专用)
  219.   #--------------------------------------------------------------------------
  220.   def got_p4
  221.     return @p4
  222.   end
  223.   #--------------------------------------------------------------------------
  224.   # ● 返回怪物再生后的怪物编号(再生专用)
  225.   #--------------------------------------------------------------------------
  226.   def got_p5
  227.     return @p5
  228.   end
  229.   #--------------------------------------------------------------------------
  230.   # ● 返回怪物再生后的怪物色相(再生专用)
  231.   #--------------------------------------------------------------------------
  232.   def got_p6
  233.     return @p6
  234.   end
  235. end
复制代码
然后@eatimes-=1 if @eatimes==@ehp*1.0/((@ma-@ed)*@orbatktimes).to_i下面加一行,(144行)
@eatimes-=1 if @p1==属性编号 or @p2 == 属性编号

另外,魔塔样板7602那个属性脚本有些特别,需要注意,但是像这样子改就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-4 14:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表