cms1314258 发表于 2022-5-8 16:50:10

地图里面怎么用汉字

比如汉字提示,我定义一个string赋汉字就加载不了{:4_99:}

こはね 发表于 2022-5-8 18:03:38

只能调用srtingtabley的文字
比如我制作的某些地图的触发程序是需要使用酋长单位的,单一亚洲王朝是无法加载成功的,会卡住无法开局,然后我在开局聊天输出了下面的文字

        <String _locID="68440" symbol="cStringRequiresXpackContent">%s -- 需要“帝国时代 III: 战争酋长”资料片</String>


        rmCreateTrigger("Message2        active        runImmediately{"+"trChatSendSpoofed(0,\"{68440}\");trChatSendSpoofed(0,\"<color=0,1,0>If you don't have the WarChiefs"+" Content, please press the Alt + F4 key.\");xsDisableSelf();}/*");
        rmCreateTrigger("*/rule        _Message2End");





%s -- 需要“帝国时代 III: 战争酋长”资料片
If you don't have the WarChiefs Content, please press the Alt + F4 key.

cms1314258 发表于 2022-5-8 19:22:26

青天小羽 发表于 2022-5-8 18:03
只能调用srtingtabley的文字
比如我制作的某些地图的触发程序是需要使用酋长单位的,单一亚洲王朝是无法加 ...

谢谢!我们可以用rmGetPlayerCiv()和rmGetPlayerName()获得玩家的一些信息,还能获得其他信息吗?哪里能查到这些函数的列表呀?

こはね 发表于 2022-5-8 19:42:23

cms1314258 发表于 2022-5-8 19:22
谢谢!我们可以用rmGetPlayerCiv()和rmGetPlayerName()获得玩家的一些信息,还能获得其他信息吗?哪里能 ...


return7无法获取是错误的,只能说是我以前犯傻,不怎么懂语法,直接当成string字符输出了





こはね 发表于 2022-5-8 20:25:50





      oxy("rule _Debug46 active runImmediately { ");
      oxy("if((trTime()-cActivationTime) >= 2.00000000){");
      oxy("xsSetContextPlayer(0);");
      for(i=0;<8)
      {
                oxy("trChatSendSpoofed(0,\"Player:"+i+"rmGetPlayerCiv:"+rmGetPlayerCiv(i)+"\");");
                oxy("trChatSendSpoofed(0,\"Player:"+i+"rmGetPlayerCulture:"+rmGetPlayerCulture(i)+"\");");
                oxy("trChatSendSpoofed(0,\"Player:"+i+"rmGetPlayerTeam:"+rmGetPlayerTeam(i)+"\");");
                oxy("trChatSendSpoofed(0,\"Player:"+i+"rmGetHomeCityLevel:"+rmGetHomeCityLevel(i)+"\");");
                oxy("trChatSendSpoofed(0,\"Player:"+i+"rmGetNumberFairLocs:"+rmGetNumberFairLocs(i)+"\");");

      }
      for(i=0;<=3)
      {
                oxy("trChatSendSpoofed(0,\"Team:"+i+"rmGetNumberPlayersOnTeam:"+rmGetNumberPlayersOnTeam(i)+"\");");
      }
      oxy("trChatSendSpoofed(0,\"rmGetHighHomeCityLevel:"+rmGetHighHomeCityLevel()+"\");");
      oxy("trChatSendSpoofed(0,\"rmGetAverageHomeCityLevel:"+rmGetAverageHomeCityLevel()+"\");");
      oxy("trChatSendSpoofed(0,\"rmGetIsRelicCapture:"+rmGetIsRelicCapture()+"\");");
      oxy("trChatSendSpoofed(0,\"rmGetLowHomeCityLevel:"+rmGetLowHomeCityLevel()+"\");");

      oxy("trChatSendSpoofed(0,\"rmGetMapXSize:"+rmGetMapXSize()+"\");");
      oxy("trChatSendSpoofed(0,\"rmGetMapZSize:"+rmGetMapZSize()+"\");");
      oxy("trChatSendSpoofed(0,\"rmGetNomadStart:"+rmGetNomadStart()+"\");");
      oxy("trChatSendSpoofed(0,\"rmGetSeaLevel:"+rmGetSeaLevel()+"\");");
      oxy("xsDisableRule(\"_Debug46\");");
      oxyZ("}} /*");






       rule _Debug46 active runImmediately {
       if((trTime()-cActivationTime) >= 2.00000000){
       xsSetContextPlayer(0);
       trChatSendSpoofed(0,"Player:0rmGetPlayerName:大自然");
       trChatSendSpoofed(0,"Player:0rmGetPlayerCiv:0");
       trChatSendSpoofed(0,"Player:0rmGetPlayerCulture:-1");
       trChatSendSpoofed(0,"Player:0rmGetPlayerTeam:-1");
       trChatSendSpoofed(0,"Player:0rmGetHomeCityLevel:10");
       trChatSendSpoofed(0,"Player:0rmGetNumberFairLocs:0");
       trChatSendSpoofed(0,"Player:1rmGetPlayerName:1");
       trChatSendSpoofed(0,"Player:1rmGetPlayerCiv:20");
       trChatSendSpoofed(0,"Player:1rmGetPlayerCulture:12");
       trChatSendSpoofed(0,"Player:1rmGetPlayerTeam:0");
       trChatSendSpoofed(0,"Player:1rmGetHomeCityLevel:131");
       trChatSendSpoofed(0,"Player:1rmGetNumberFairLocs:0");
       trChatSendSpoofed(0,"Player:2rmGetPlayerName:拿破仑");
       trChatSendSpoofed(0,"Player:2rmGetPlayerCiv:3");
       trChatSendSpoofed(0,"Player:2rmGetPlayerCulture:1");
       trChatSendSpoofed(0,"Player:2rmGetPlayerTeam:0");
       trChatSendSpoofed(0,"Player:2rmGetHomeCityLevel:10");
       trChatSendSpoofed(0,"Player:2rmGetNumberFairLocs:0");
       trChatSendSpoofed(0,"Player:3rmGetPlayerName:海华沙");
       trChatSendSpoofed(0,"Player:3rmGetPlayerCiv:15");
       trChatSendSpoofed(0,"Player:3rmGetPlayerCulture:11");
       trChatSendSpoofed(0,"Player:3rmGetPlayerTeam:1");
       trChatSendSpoofed(0,"Player:3rmGetHomeCityLevel:10");
       trChatSendSpoofed(0,"Player:3rmGetNumberFairLocs:0");
       trChatSendSpoofed(0,"Player:4rmGetPlayerName:阿克巴大帝");
       trChatSendSpoofed(0,"Player:4rmGetPlayerCiv:21");
       trChatSendSpoofed(0,"Player:4rmGetPlayerCulture:13");
       trChatSendSpoofed(0,"Player:4rmGetPlayerTeam:0");
       trChatSendSpoofed(0,"Player:4rmGetHomeCityLevel:10");
       trChatSendSpoofed(0,"Player:4rmGetNumberFairLocs:0");
       trChatSendSpoofed(0,"Player:5rmGetPlayerName:拿骚的莫里斯");
       trChatSendSpoofed(0,"Player:5rmGetPlayerCiv:5");
       trChatSendSpoofed(0,"Player:5rmGetPlayerCulture:1");
       trChatSendSpoofed(0,"Player:5rmGetPlayerTeam:1");
       trChatSendSpoofed(0,"Player:5rmGetHomeCityLevel:10");
       trChatSendSpoofed(0,"Player:5rmGetNumberFairLocs:0");
       trChatSendSpoofed(0,"Player:6rmGetPlayerName:夸乌特莫克");
       trChatSendSpoofed(0,"Player:6rmGetPlayerCiv:17");
       trChatSendSpoofed(0,"Player:6rmGetPlayerCulture:9");
       trChatSendSpoofed(0,"Player:6rmGetPlayerTeam:0");
       trChatSendSpoofed(0,"Player:6rmGetHomeCityLevel:10");
       trChatSendSpoofed(0,"Player:6rmGetNumberFairLocs:0");
       trChatSendSpoofed(0,"Player:7rmGetPlayerName:Kira");
       trChatSendSpoofed(0,"Player:7rmGetPlayerCiv:27");
       trChatSendSpoofed(0,"Player:7rmGetPlayerCulture:15");
       trChatSendSpoofed(0,"Player:7rmGetPlayerTeam:1");
       trChatSendSpoofed(0,"Player:7rmGetHomeCityLevel:10");
       trChatSendSpoofed(0,"Player:7rmGetNumberFairLocs:0");
       trChatSendSpoofed(0,"Team:0rmGetNumberPlayersOnTeam:4");
       trChatSendSpoofed(0,"Team:1rmGetNumberPlayersOnTeam:4");
       trChatSendSpoofed(0,"Team:2rmGetNumberPlayersOnTeam:0");
       trChatSendSpoofed(0,"Team:3rmGetNumberPlayersOnTeam:0");
       trChatSendSpoofed(0,"rmGetHighHomeCityLevel:131");
       trChatSendSpoofed(0,"rmGetAverageHomeCityLevel:25");
       trChatSendSpoofed(0,"rmGetIsRelicCapture:0");
       trChatSendSpoofed(0,"rmGetLowHomeCityLevel:10");
       trChatSendSpoofed(0,"rmGetMapXSize:310");
       trChatSendSpoofed(0,"rmGetMapZSize:310");
       trChatSendSpoofed(0,"rmGetNomadStart:0");
       trChatSendSpoofed(0,"rmGetSeaLevel:0.000000");
       xsDisableRule("_Debug46");
       }







一般来说:rm命令不建议使用rmGetPlayerName,会出严重问题
1.AI名称由于stringtabley不统一造成无法同步(我曾经用来测试两个人分别加载不同地形)
2.触发程序因为中文字全部失效
3.自己体会

取而代之可以使用kbGetPlayerName;只能用于触发程序
      oxy("rule _Debug47 active runImmediately { ");
      oxy("if((trTime()-cActivationTime) >= 2.00000000){");
      for(i=0;<=8)
      {
                oxy("xsSetContextPlayer("+i+");");
                oxy("trChatSendSpoofed(0,\"Player:"+i+";kbGetPlayerName("+i+"):\"+kbGetPlayerName("+i+"));");

      }
      oxy("xsDisableSelf();");
      oxyZ("}} /*");

上面最终输出,因为原代码层不涉及中文字,所以能成功输出
      rule _Debug47 active runImmediately {
      if((trTime()-cActivationTime) >= 2.00000000){
      xsSetContextPlayer(0);
      trChatSendSpoofed(0,"Player:0;kbGetPlayerName(0):"+kbGetPlayerName(0));
      xsSetContextPlayer(1);
      trChatSendSpoofed(0,"Player:1;kbGetPlayerName(1):"+kbGetPlayerName(1));
      xsSetContextPlayer(2);
      trChatSendSpoofed(0,"Player:2;kbGetPlayerName(2):"+kbGetPlayerName(2));
      xsSetContextPlayer(3);
      trChatSendSpoofed(0,"Player:3;kbGetPlayerName(3):"+kbGetPlayerName(3));
      xsSetContextPlayer(4);
      trChatSendSpoofed(0,"Player:4;kbGetPlayerName(4):"+kbGetPlayerName(4));
      xsSetContextPlayer(5);
      trChatSendSpoofed(0,"Player:5;kbGetPlayerName(5):"+kbGetPlayerName(5));
      xsSetContextPlayer(6);
      trChatSendSpoofed(0,"Player:6;kbGetPlayerName(6):"+kbGetPlayerName(6));
      xsSetContextPlayer(7);
      trChatSendSpoofed(0,"Player:7;kbGetPlayerName(7):"+kbGetPlayerName(7));
      xsSetContextPlayer(8);
      trChatSendSpoofed(0,"Player:8;kbGetPlayerName(8):"+kbGetPlayerName(8));
      xsDisableSelf();
      }}






cms1314258 发表于 2025-5-4 15:42:03

多年回归看到,谢谢
页: [1]
查看完整版本: 地图里面怎么用汉字