我自己改的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