sdhhhyu 发表于 2022-5-13 22:32:45

关于XS脚本的求助

有大佬知道怎么调用另一个函数吗,我一调用就报错

还有怎么用xsEffectAmount按类别设置属性,
我设置后进入测试就直接闪退。

sdhhhyu 发表于 2022-5-13 22:55:34

本帖最后由 sdhhhyu 于 2022-5-13 22:58 编辑

C:\Users\Administrator\Desktop\1.jpg

cly806 发表于 2022-5-16 03:36:50

一看就是没看过我的专栏了,另外关于规则方面的应用有什么心得欢迎分享,目前对于rule的研究都是非常之少的,楼主水平有一定,可以叙述一下么

sdhhhyu 发表于 2022-5-16 14:38:44

cly806 发表于 2022-5-16 03:36
一看就是没看过我的专栏了,另外关于规则方面的应用有什么心得欢迎分享,目前对于rule的研究都是非常之少的 ...

int xingyan10_1_stopp1=0;//判断是否停止规则变量1-4
int xingyan10_1_stopp2=0;
int xingyan10_1_stopp3=0;
int xingyan10_1_stopp4=0;
rule xingyan10_1//规则名像一个相隔固定时间的循环
    inactive//初始为非活动状态,能够通过xsEnableRule("规则名");通过xsEnableRuleGroup("规则组名");启用
    //为活动active时加载就自动启用
    minInterval 30//最小间隔时间
    maxInterval 30//最大间隔时间
    group xingyanwork1//规则组名
{
int technumber =652;//科技值
   int zanshishuzi1 =1;//变量1
   while(zanshishuzi1<5){//while循环5次 1-4号玩家
   bool wqqq= xsResearchTechnology(technumber,false,true,zanshishuzi1);//判断科技状态 (科技值,是否在禁用状态下研究科技
   //,是否判断研究时该科技状态,玩家数字);返回值为该科技状态,如果是已经禁用,就是还未启用或已经研究。启用状态为未研究或在研究中
   //无论是否研究,该科技在此之后都是研究状态。
   if(wqqq==false){//判断研究状态
    if(zanshishuzi1==1&&xingyan_P1>=0&&xingyan10_1_stopp1==0){//判断玩家数和是否已经研究科技
      xsEffectAmount(5,919,5,1.3,zanshishuzi1);//贸易车速度提升
      xingyan_P1=xingyan_P1-100;
      xingyan10_1_stopp1=1;//停止变量=1
   }
    else if(zanshishuzi1==2&&xingyan_P2>=0&&xingyan10_1_stopp2==0){
      xsEffectAmount(5,919,5,1.3,zanshishuzi1);//贸易车速度提升
      xingyan_P2=xingyan_P2-100;
      xingyan10_1_stopp2=1;
   }
   else if(zanshishuzi1==3&&xingyan_P3>=0&&xingyan10_1_stopp3==0){
      xsEffectAmount(5,919,5,1.3,zanshishuzi1);//贸易车速度提升
      xingyan_P3=xingyan_P3-100;
      xingyan10_1_stopp3=1;
   }
   else if(zanshishuzi1==4&&xingyan_P4>=0&&xingyan10_1_stopp4==0){
       xsEffectAmount(5,919,5,1.3,zanshishuzi1);//贸易车速度提升
       xingyan_P4=xingyan_P4-100;
       xingyan10_1_stopp4=1;
   }
   else{}

   }
   if(zanshishuzi1==1&&xingyan_P1>=0&&xingyan10_1_stopp1==0){//判断玩家数信仰值和停止变量
    xsEffectAmount(102,technumber,0,0,zanshishuzi1);//启用禁用科技
    xsEffectAmount(7,technumber,1,0,zanshishuzi1);
   }
   else if(zanshishuzi1==2&&xingyan_P2>=0&&xingyan10_1_stopp2==0){
   xsEffectAmount(102,technumber,0,0,zanshishuzi1);//启用禁用科技
    xsEffectAmount(7,technumber,1,0,zanshishuzi1);
   }
   else if(zanshishuzi1==3&&xingyan_P3>=0&&xingyan10_1_stopp3==0){
    xsEffectAmount(102,technumber,0,0,zanshishuzi1);//启用禁用科技
    xsEffectAmount(7,technumber,1,0,zanshishuzi1);
   }
   else if(zanshishuzi1==4&&xingyan_P4>=0&&xingyan10_1_stopp4==0){
    xsEffectAmount(102,technumber,0,0,zanshishuzi1);//启用禁用科技
    xsEffectAmount(7,technumber,1,0,zanshishuzi1);
   }
   else{}
   if(xingyan10_1_stopp1==1&&xingyan10_1_stopp2==1&&xingyan10_1_stopp3==1&&xingyan10_1_stopp4==1){//判断1-4号是否已经研究
   xsDisableRule("xingyang10_1");//禁止规则
   }

   zanshishuzi1++;//玩家号增加
   }
}

//为什么我在大厅联机游戏的时候总是卡,而且总是同步错误

cly806 发表于 2022-5-19 00:46:05

sdhhhyu 发表于 2022-5-16 14:38
int xingyan10_1_stopp1=0;//判断是否停止规则变量1-4
int xingyan10_1_stopp2=0;
int xingyan10_1_stopp ...

我大致看了下,挺复杂的,首先貌似XS不支持中文注释,另外102是没用的,启用禁用科技只能用7,逻辑大致还是清晰的,else你没有表达式建议删掉,然后游戏里调用一般就是函数名加分号即可调用你定义的函数

sdhhhyu 发表于 2022-5-19 20:20:06

本帖最后由 sdhhhyu 于 2022-5-19 20:21 编辑

cly806 发表于 2022-5-19 00:46
我大致看了下,挺复杂的,首先貌似XS不支持中文注释,另外102是没用的,启用禁用科技只能用7,逻辑大致还 ...
这是我现在XS脚本里的代码,中文可以注释,但是不能包含在字符串里,102是有用的,至少我测试没问题,我想要在脚本里调用而不是编辑器里。

cly806 发表于 2022-5-20 02:58:31

sdhhhyu 发表于 2022-5-19 20:20
这是我现在XS脚本里的代码,中文可以注释,但是不能包含在字符串里,102是有用的,至少我测试没问题,我想 ...

现在应该是修复了外部文件导入的问题,目前6是没法用的,我之前实测过,现在改没改不清楚,倍乘资源后资源自动归0,中文注释这个看个人,我个人不喜欢,主要是xsChatData函数只能用英文发送聊天,其他语言不行,所以有时候挺鸡肋的。
页: [1]
查看完整版本: 关于XS脚本的求助