我自己改的SMA档案怪怪的....

Home Home
引用 | 编辑 lv077633741
2011-08-14 15:00
楼主
推文 x0

图 1.


我从http://bbs-mychat.com/reads.php?tid=806698&keyword=%E5%AE%98%E9%9A%8E
这里所下载来的SMA档案 结果经过我修改一些字之后
不知道为什么官阶都升不上去....
比如我原本是新兵正好要升二等兵 杀死5人之后便可升到二等兵
结果我杀超过5人 我的等级还在新兵 没有升到二等兵= =
请问各位大大 这是什么问题.....
还是SMA被我改坏了.....= =

本帖包含附件
档名: zip kill_2_level.zip   (2022-06-09 14:18 / 3 KB)   下载次数:8


献花 x0
引用 | 编辑 文♂
2011-08-14 17:04
1楼
  
可不可以说一下你改了怎么 表情

献花 x0
引用 | 编辑 lv077633741
2011-08-14 17:13
2楼
  
我改了文字跟血量数值
也新增一些那个原本插件没有的官阶
比如说下士再来就是中士 但是他没有中士 而直接跳到上士
所以我便在下士与上士的中间 添加了一个中士
再来我修改升级之后的血量 每升一级就增加5滴血量
我的设定是从0级一直到27级 所以最高血量是285= =

献花 x0
引用 | 编辑 lv077633741
2011-08-15 12:58
3楼
  
还有....
再问各位大大
if (xp[killer] <= 49)
else if ( (xp[killer] > 49)
以上这2个是代表什么??

献花 x0
引用 | 编辑 弑血
2011-08-16 13:51
4楼
  
原来你的军官插件 是使用小夜的:

if (xp[killer] <= 49) == 杀人的积点,应该就是EXP吧,小于等于49
else if ( (xp[killer] > 49) == EXP, 大于49
如果是加上了else的话 上面的条件 不符合的话 在会往下面的去执行
换句话说 也就是:

你的经验直小于49,就不能升官
else
如果大于49,就能升官

应该就是这样判断的 表情

献花 x0
引用 | 编辑 lv077633741
2011-08-16 16:33
5楼
  
   else if ( (xp[killer] > 1249) && (xp[killer] <1150) )
   {
    level[killer] = 25
    show_hudmessage(killer," 国防部: %d / 1150 ^n 军阶: %d ^n 恭喜您晋升为特级士官长,血值: 260" , xp[killer] , level[killer] )
   }
   else if ( (xp[killer] > 1299) && (xp[killer] <1170) )
   {
    level[killer] = 26
    show_hudmessage(killer," 国防部: %d / 1170 ^n 军阶: %d ^n 恭喜您晋升为值星士官长,血值: 262" , xp[killer] , level[killer] )
   }
可是我xp[killer] > 改这样照样不行欸!!
我原本是特级士官长
结果又显示"(已超过1150以上)/1150"= =
都升不了下一个阶级= =
还是我后面的的设定都只能用每升一级就加50
而不能调成50以外的其他数字吗??

献花 x0
引用 | 编辑 弑血
2011-08-16 17:14
6楼
  
下面是引用 lv077633741 于 2011-08-16 16:33 发表的 : 到引言文
   else if ( (xp[killer] > 1249) && (xp[killer] <1150) )
   {
    level[killer] = 25
    show_hudmessage(killer," 国防部: %d / 1150 ^n 军阶: %d ^n 恭喜您晋升为特级士官长,血值: 260" , xp[killer] , level[killer] )
   }
.......


你应该要改成: 

   else if ( (xp[killer] > 1249) && (xp[killer] <1350) )
   {
    level[killer] = 25
    show_hudmessage(killer," 国防部: %d / 1150 ^n 军阶: %d ^n 恭喜您晋升为特级士官长,血值: 260" , xp[killer] , level[killer] )
   }
   else if ( (xp[killer] > 1349) && (xp[killer] <1450) )

后面的数要跟下一个的前数 - 1 差距 不能太大

献花 x0
引用 | 编辑 弑血
2011-08-16 17:18
7楼
  
下面是引用 s8720419 于 2011-08-16 17:14 发表的 : 到引言文


你应该要改成: 

   else if ( (xp[killer] > 1249) && (xp[killer] <1350) )
   {
    level[killer] = 25
    show_hudmessage(killer," 国防部: %d / 1150 ^n 军阶: %d ^n 恭喜您晋升为特级士官长,血值: 260" , xp[killer] , level[killer] )
   }
   else if ( (xp[killer] > 1349) && (xp[killer] <1450) )

后面的数要跟下一个的前数 - 1 差距 不能太大, 以此类推.....
因为if() 都是往下一行一行来推算,如果像你刚刚那样到你那边,就断掉了 =.=
他就不会显示表情


献花 x0
引用 | 编辑 lv077633741
2011-08-16 18:21
8楼
  
那上面的 "else if ( (xp[killer] > 1249) && (xp[killer] <1350) )"
跟下面的 "show_hudmessage(killer," 国防部: %d / 1150 ^n 军阶: "
中的1350跟1150有差吗?? 如果调成一样的话可不可以以??
因为我是照原本的SMA修改的
我看原本的SMA那里是 "else if ( (xp[killer] > XXX这个不用理他) && (xp[killer] <比如这里是255) )"
下面的是 ""show_hudmessage(killer," 国防部: %d / 255 ^n 军阶: "

献花 x0
引用 | 编辑 弑血
2011-08-16 18:54
9楼
  
下面是引用 lv077633741 于 2011-08-16 18:21 发表的 : 到引言文
那上面的 "else if ( (xp[killer] > 1249) && (xp[killer] <1350) )"
跟下面的 "show_hudmessage(killer," 国防部: %d / 1150 ^n 军阶: "
中的1350跟1150有差吗?? 如果调成一样的话可不可以以??
因为我是照原本的SMA修改的
我看原本的SMA那里是 "else if ( (xp[killer] > XXX这个不用理他) && (xp[killer] <比如这里是255) )"
下面的是 ""show_hudmessage(killer," 国防部: %d / 255 ^n 军阶: "


这个是显示他的字体
show_hudmessage(killer," 国防部: %d / 255 ^n 军阶")
就像是这样子:
show_hudmessage(killer," 国防部: %d / 255 ^n 军阶",  xp[killer] )
中间的" "内的 中文设定跟他的xp[killer] 变数
改中文没差,但是%d是对应后面的xp[killer] 变数  , 不可以少!

讲的连我都有点表情

献花 x0
引用 | 编辑 lv077633741
2011-08-16 19:02
10楼
  
不好意思= ="
我是编译SMA的超超超级新手= =
对基本的东西也没了解多少 大部分的是看了没有懂
不然就是一直失败= =
抱歉 再问一个问题.......
 else if ( (xp[killer] > 1249) && (xp[killer] <1350) )  (特级士官长)
 else if ( (xp[killer] > 1349) && (xp[killer] <1450) ) (值星士官长)
如果我把他改成(下面)
 else if ( (xp[killer] > 1249) && (xp[killer] <1350) )  (特级士官长)
 else if ( (xp[killer] > 1349) && (xp[killer] <1370) ) (值星士官长)
这样的话行吗?? 因为改到最后 怕经验值太高 玩了将近一小时 连一半的阶级都不到= =
所以想说让经验值变得更低.....   还是只能调+50或+100的吗??

献花 x0
引用 | 编辑 弑血
2011-08-17 13:29
11楼
  
可以调整呀
只是看你会不会计算.
我举例:
else if ( (xp[killer] > 1249) && (xp[killer] <1350) )  (特级士官长)
else if ( (xp[killer] > 1349) && (xp[killer] <1370) ) (值星士官长)

你也可以改成
else if ( (xp[killer] > 100) && (xp[killer] <120) )  (特级士官长)
else if ( (xp[killer] > 119) && (xp[killer] <160) ) (值星士官长)
else if ( (xp[killer] > 159) && (xp[killer] <200) ) (XXX)
以此类推...
就是你的前面的变数直要跟后面的变数直有对应到
大约是这样.. 重点是看标点符号 < > = 这些都是值的重要变化

献花 x0
引用 | 编辑 lv077633741
2011-08-17 18:21
12楼
  
哦~~!!
原来是如此.......  真的是一语点破我这个梦中人啊....
真的是太太太感谢大大了....
我原本还以为想说这种问题应该没人会回答了 便渐渐的开始放弃希望....(SMA档也考虑要删掉 但是毕竟我花了
一个钟头改这个SMA档 舍不得删除= =) 
没想到 终究仍可挽回.....
真的是太感谢你了!!!!

献花 x0
引用 | 编辑 弑血
2011-08-18 01:47
13楼
  
毕竟我还是学插件的新手
多少也会点基础
帮帮不会的人,也挺好的 表情

献花 x0