luckgaoan 发表于 2012-3-1 16:37:13

解密8:官渡36回合脚本及顾问修改

本帖最后由 luckgaoan 于 2012-3-1 18:21 编辑

本帖只为新手制作。目的是让新手看懂。
我以将一年12回合改成36回合guandu36.txt为例说明。
第一步: -----------------------设置触发器
打开alexander\data   export_descr_advice.txt
找到;===============================================================
;== 12 Turns-per-Year Mod Start AdviceThread
;===============================================================

;------------------------------------------
AdviceThread 12tpy_Thread
    GameArea Campaign

    Item 12tpy_Text_01
      Uninhibitable
      Verbosity0
      Threshold1
      MaxRepeats0
      RepeatInterval1
      Attitude Normal
      Presentation Default
      Title 12tpy_Text_01_Title
      Scriptscripts\show_me\script_12tpy_dates.txt
      Text 12tpy_Text_01_Text1这就是12回合脚本的触发器了;===============================================================
;== guandu36 Turns-per-Year Mod Start AdviceThread
;===============================================================

;------------------------------------------
AdviceThread 12tpy_Thread
    GameArea Campaign

    Item 12tpy_Text_01
      Uninhibitable
      Verbosity0
      Threshold1
      MaxRepeats0
      RepeatInterval1
      Attitude Normal
      Presentation Default
      Title 12tpy_Text_01_Title
      Scriptscripts\show_me\guandu_36.txt
      Text 12tpy_Text_01_Text1将其改为36回合脚本的路径
第二步:
在lexander\data\scripts\show_me 内新建一名为guandu_36.txt的文件script

while I_TurnNumber < 2483
select_ui_element advisor_dismiss_button
simulate_mouse_click lclick_down
simulate_mouse_click lclick_up

suspend_unscripted_advice true

脚本内容

if I_TurnNumber < 2483
select_ui_element advisor_dismiss_button
simulate_mouse_click lclick_down
simulate_mouse_click lclick_up
end_if

end_while

end_script内容
        console_command date 194
        console_command season summer
        declare_counter Season_Year_Turn0_Thread
        while I_TurnNumber = 0
                monitor_conditions I_CompareCounter Season_Year_Turn0_Thread = 0
                        if I_CompareCounter Season_Year_Turn0_Thread = 0
                                advance_advice_thread Season_Year_Turn0_Thread
                                inc_counter Season_Year_Turn0_Thread 1
                        end_if
                end_monitor
        suspend_unscripted_advice true
        end_while

……………………直到第35个


        console_command date 196
        console_command season winter
        declare_counter Season_Year_Turn35_Thread
        while I_TurnNumber = 35
                monitor_conditions I_CompareCounter Season_Year_Turn35_Thread = 0
                        if I_CompareCounter Season_Year_Turn35_Thread = 0
                                advance_advice_thread Season_Year_Turn35_Thread
                                wait 1
                                select_ui_element advisor_portrait_button
                                simulate_mouse_click lclick_down
                                simulate_mouse_click lclick_up
                                inc_counter Season_Year_Turn35_Thread 1
                        end_if
                end_monitor
        suspend_unscripted_advice true
        end_while

复制过去。只需将第11,23 个的winter改为summer
因为原版是12回合,又是从0开始,所以最后一年是第35个。
这是第一年194年的脚本,可以一直写下去,但不能太多,否则会很卡

顾问的话
打开alexander\data\text    export_advice.txt{Season_Year_Turn0_Text_01_Title}        東漢獻帝建安四年請激活f1腳本
{Season_Year_Turn0_Text_01_Text1}        主公,現在是公元一九九年一月上旬。\n\n歡迎來到luckgaoan製作的官渡之戰\nluckgaoan祝您遊戲愉快转一个有趣的帖子
世上最先进的一年N回脚本(全通吃版!)
引用编程的一句行话,“最精简的就是最好的”。 本设计适用于:罗马、蛮族BI、ALX、中2、王国、以及所有国内外MOD.......一率通吃。

“这个系统虽然只有短短的几行字,但是对罗马系列的影响非常大,只有搞系统脚本制作的人才能体会得到。通常全战的系统脚本文件数据在1.5~1.7M就开始卡了,超过1.7M的如果玩到后期兵多就让人等到烦,所以设计人有时不得不反复筛选只保留更重要的系统以保证游戏运行速度。而这个简单精致的新系统为你节省出了大量的空间和资源,让你能够使用更多的系统了。”
精简版1年N回合系统例:
declare_counter dates
set_counter dates 0
      monitor_event FactionTurnStart FactionIsLocal
      console_command season summer
      inc_counter dates 1
                if I_CompareCounter dates = 4
      console_command season winter
      set_counter dates 0
      end_if
      end_monitor
;-----------------------------------------M2↑
   while I_TurnNumber >= 0
   suspend_unscripted_advice true
   end_while

说明:这段文字中的4代表一年四回合,你想要多少回合就把它改多少,简单方便。中2系列的用虚线以上部分就够了,罗马系列的还要有下面三行。将此数据复制到脚本文件末尾即可。
      如果是有大型脚本系统设计的中2MOD如魔戒,最好是复制去开头(为了避开某些剧情系统存在的屏蔽脚本内存运算的设计),就是script的下面。如果发现人家原本就设计有另种回合脚本(一般在末尾)就要删掉,因为系统运行是以后面的为准。

后话:我把这个拿去替换掉三国的1年12回合脚本,脚本容量从1.3M被压缩到 1K !!!要知道系统脚本是每回合都必须从头读取一遍的东西,容量大小直接影响到游戏的运行速度。因此,以前老外那些论文似的长篇设计通通可以扔进垃圾堆了哈哈。
这个系统对罗马系列影响最大,能为有大型脚本系统的罗马MOD节省宝贵的运行资源,对中2的运行没什么影响,比中2魔戒老外设计的那种回合系统先进的地方就是改回合方便,它那个估计连看得懂的人都没几个,更别说改了。
里发一下我研究并稍微改进的一年四回合脚本
script
while I_TurnNumber >= 0
select_ui_element advisor_dismiss_button
simulate_mouse_click lclick_down
simulate_mouse_click lclick_up
suspend_unscripted_advice true

declare_counter dates
      monitor_event FactionTurnStart FactionIsLocal
      console_command season summer
      inc_counter dates 1
                if I_CompareCounter dates = 4
                        console_command season winter
                  set_counter dates 0
                end_if
      end_monitor

   while I_TurnNumber >= 0
    suspend_unscripted_advice true
   end_while

if I_TurnNumber >= 0
select_ui_element advisor_dismiss_button
simulate_mouse_click lclick_down
simulate_mouse_click lclick_up
end_if
end_while
end_script


用这种方法就没顾问了

我命由我不由天 发表于 2012-3-1 16:45:24

第一个,留名:lol

华佗 发表于 2012-3-1 16:59:46

先坐板凳位,等上学习课。:loveliness:

czf007 发表于 2012-3-1 17:35:15

等上学习课。

626983 发表于 2012-3-1 17:37:50

满怀期待点开帖子,竟然发现编辑中三个字,叫我情何以堪:lol

freefen 发表于 2012-3-1 18:50:40

luck 还是宝刀未老 依然给力

freefen 发表于 2012-3-1 18:51:21

luck v依然宝刀未老

ansirandy 发表于 2012-3-4 22:50:13

茄子的脚本不止没顾问 头一年只有6个月。。。。。会引起武将头像和技能混乱 不然我早作了。。。:(

曾宝 发表于 2012-3-27 14:23:47

ansirandy 发表于 2012-3-4 22:50 static/image/common/back.gif
茄子的脚本不止没顾问 头一年只有6个月。。。。。会引起武将头像和技能混乱 不然我早作了。。。:( ...

{:soso__14040694544857304584_3:} 会引起武将头像和技能混乱 不会吧?那通吃个毛儿啊!不就乱套了。

ansirandy 发表于 2012-3-27 16:12:14

曾宝 发表于 2012-3-27 14:23 static/image/common/back.gif
会引起武将头像和技能混乱 不会吧?那通吃个毛儿啊!不就乱套了。 ...

通吃三国意外不需要头像定位的MOD 所以还是很强大的 关键是不占用脚本的空间

曾宝 发表于 2012-3-27 20:15:11

ansirandy 发表于 2012-3-27 16:12 static/image/common/back.gif
通吃三国意外不需要头像定位的MOD 所以还是很强大的 关键是不占用脚本的空间 ...

你这么说我晓得了。不过是“以外”吧?搞的我纠结了半天。{:soso__16984349925490629196_1:}

lyj103786903 发表于 2012-5-2 15:05:27

你最上面的一些修改地方应该用红字标明,否则不知所云,特别是新手(比如我)

吕氏一族 发表于 2012-12-30 21:38:59

要是有投降脚本就好了。

huanghongshui88 发表于 2013-1-19 20:47:14

学习了。。。。。。。。。。。。。。{:soso_e100:}

huanghongshui88 发表于 2013-1-19 20:48:35

在回一次,,给点金币啊!!!!!!!!!!
页: [1]
查看完整版本: 解密8:官渡36回合脚本及顾问修改