OK論壇

 找回密碼
 註冊
查看: 1261|回復: 9

使用某技能後幾秒內加成數值

 關閉 [複製鏈接]
  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

    發表於 2014-8-28 16:54:37 | 顯示全部樓層 |閱讀模式
    EA
    私服版號: SeAr1.10.132
    問題內容: 腳本問題
    本帖最後由 z0202520 於 2014-8-31 11:16 AM 編輯

    如題~~ 我想要做出一個小系統
    判斷身上若有某物品時,施放某個指定技能後
    會在幾秒內獲得效果。

    小弟大概知道的是
    利用 OnPCUseSkillEvent 的 @useskill_id 來判斷施放哪些技能
    然後 status_calc() 進入屬性運算,並在屬性運算後加成能力。

    但是比較不清楚的是..
    如何在設定時間內獲得,超過設定時間後即解除這效果呢?


    回復

    使用道具 舉報

  • TA的每日心情
    無聊
    2012-8-3 06:04 PM
  • 簽到天數: 108 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2014-8-29 01:09:11 | 顯示全部樓層
    我覺得用另外一種方法去寫應該會比較容易....

    ----------------------------------------------------------

    SEAR 的 item type 12 是護身符
    (就是帶在身上就有功能的道具那個)

    然後用autobonus去寫...
    就是像潘貝勒克卡片那樣的東西
    使用某某技能、多少機率、執行什麼樣的腳本、多少時間....
    這樣。


    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2014-8-13 07:23 AM
  • 簽到天數: 109 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2014-8-29 13:00:30 | 顯示全部樓層
    用itembonus阿...

    itembonus 持續時間,"{<腳本代碼>}";

    別被樓上的誤導
    道具類型12只有要錢的才有!
    明明是抄來的卻要錢,很怪吧...
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2014-8-29 20:18:48 | 顯示全部樓層
    cvcvcv 發表於 2014-8-29 01:09 AM
    我覺得用另外一種方法去寫應該會比較容易....

    ------------------------------------------------------ ...

    謝謝您提供的方法...

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2014-8-29 20:19:19 | 顯示全部樓層
    sense 發表於 2014-8-29 01:00 PM
    用itembonus阿...

    itembonus 持續時間,"{}";

    可以在腳本上直接使用這個語法嗎?
    他不是說明須使用消耗品時才能觸發?
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2012-8-3 06:04 PM
  • 簽到天數: 108 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2014-8-29 20:33:05 | 顯示全部樓層
    本帖最後由 cvcvcv 於 2014-8-29 09:13 PM 編輯

    嗯...
    樓上是對的
    我忘記SEAR type 12是付費功能了....

    ----------------------------------------------
    but...
    另一方面itembonus
    我記得是作用於消耗品的裡面...
    你如果是要寫成拿著就有效果的話

    看來還是要寫成腳本(就是你一開始講的方法)
    然後中間加入物品判斷式跟autobonus就可以了....
    (這是錯的)
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2012-8-3 06:04 PM
  • 簽到天數: 108 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2014-8-29 21:12:41 | 顯示全部樓層
    本帖最後由 cvcvcv 於 2014-8-29 09:14 PM 編輯
    1. -        script        Skill        -1,{
    2.         
    3. OnPCUseSkillEventt:
    4.         if (@useskill_id == 142 ) {
    5.                 if(countitem(4001)){
    6.                         itembonus <持續時間>,狀態編號(或{<腳本>}
    7.                         end;
    8.                 }
    9.         }
    10. }
    複製代碼
    我搞懂S的意思了
    這才是對的....
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2014-8-13 07:23 AM
  • 簽到天數: 109 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2014-8-29 21:21:33 | 顯示全部樓層
    本帖最後由 sense 於 2014-8-30 11:57 AM 編輯
    z0202520 發表於 2014-8-29 08:19 PM
    可以在腳本上直接使用這個語法嗎?
    他不是說明須使用消耗品時才能觸發?

    那你可以試著用sc_start..

    先在 db/const.txt 定義一個常數
    1. SC_EXTERN_BONUS        580
    複製代碼
    不好意思,我不太會寫腳本
    但大概就長這樣↓

    1. -        script        Extern_Bonus        -1,{

    2. OnInit:
    3.         setarray .extern_skill,skillid1, skillid2, skillid3 ... ;
    4.         end;

    5. OnPCUseSkillEvent:

    6.         for (.@i = 0; .@i < getarraysize(.extern_skill); .@i++)
    7.         {
    8.                 if (.extern_skill[.@i] == @useskill_id )
    9.                 {
    10.                         sc_start SC_EXTERN_BONUS,<時間>,@useskill_id;
    11.                         stat_calc();
    12.                 }
    13.         }
    14.         end;

    15. OnPCStatCalcEvent:

    16.         if (sc_check(SC_EXTERN_BONUS))
    17.         {
    18.                 switch(@sc_val1)
    19.                 {
    20.                 case skillid:
    21.                         bonus bStr,10;
    22.                         break;
    23.                 }
    24.         }
    25.         end;
    26. }
    複製代碼
    補充:
    也要設個SCEND標籤這樣結束才能停止BONUS腳本
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2014-8-31 11:16:15 | 顯示全部樓層
    sense 發表於 2014-8-29 09:21 PM
    那你可以試著用sc_start..

    先在 db/const.txt 定義一個常數不好意思,我不太會寫腳本

    謝謝你,這樣我懂了!

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-3 02:46 PM
  • 簽到天數: 360 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2014-8-31 11:16:34 | 顯示全部樓層
    cvcvcv 發表於 2014-8-29 09:12 PM
    我搞懂S的意思了
    這才是對的....

    OK,感謝你提出解答與幫忙。
    回復 支持 反對

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 註冊

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-3-28 10:08 PM , Processed in 0.059913 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表