查看: 17726|回复: 1

[传奇战神引擎脚本] 战神引擎骰子娱乐中心修复脚本

  [复制链接]

4783

主题

5079

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18913

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020-4-5 17:22:15 | 显示全部楼层 |阅读模式
战神引擎骰子娱乐中心修复脚本 https://www.gmbbs.net/

{娱乐中心
作者:gmbbs.cn
内容:☆☆本中心只供娱乐,严禁用于赌博,一切后果自负☆☆
人机对赌模式
}
PROGRAM Mir2;
var
str :string;
num,num1 :integer;
i : Integer;
j : Integer;
k : Integer;
Procedure _doexit;
begin
   This_Npc.CloseDialog(This_Player);
end;
procedure domain;
begin
    str := This_NPC.InputStr;
    This_NPC.NpcDialog(This_Player,
       '☆☆☆欢迎光临【开心就好】娱乐中心☆☆☆\|'
      +'                   '+'<每次投注至少需要100元宝/c=red>!|\'
     +' ☆☆本中心只供娱乐,严禁用于赌博,一切后果自负☆☆\|'
    +'{cmd}<我要买大/@md> ^<我要买小/@mx> ^<我要买豹子/@mbz> \|'
      +'{cmd}<买定开骰/@DoPlayDice>');
end;

procedure _mx;
begin


begin
  if This_Player.GetV(74,1)< 1  then
  begin   
        This_NPC.InputDialog(This_Player,'请输入你要买的数额',0,111) ;
  end else This_NPC.NpcDialog(This_Player,'你已经投过注了!'+'{cmd}<返回/@main>') ;
end;
end;
procedure p111;
begin
   num1 :=  StrToIntDef(This_NPC.InputStr,-1);//输入非阿拉伯数字的字符都返回-1
   if This_NPC.InputOK  then            
    begin
        if (num1 < 100) or  (num1 > 65534)  then
       begin
       This_NPC.NpcDialog(This_Player,'投注必须使用大于100小于65534的阿拉伯数字!') ;
       end
        else if (num1 >= 100) and (num1 < 65535) then
         begin
           if  This_Player.YBNum >= num1 then
           begin
                This_Player.PsYBConsum(This_NPC,'xin',20001,num1,1);
                This_NPC.NpcDialog(This_Player,'你买了'+inttostr(num1)+'元宝的小!'+'{cmd}<返回/@main>') ;
                This_Player.setv(74,1,1);   //限定能投骰子的玩家,及只能在3个选项中同一时间选一个
                This_Player.setv(73,1,1); // 限定选择的下注的类型,改类型为选了小
                               
           end else
           This_NPC.NpcDialog(This_Player,'你没有足够的元宝买'+inttostr(num1)+'的小!' +'{cmd}<返回/@main>') ;
         end;
    end;
end;
procedure _md;

begin
  if This_Player.GetV(74,1)< 1  then
  begin   
        This_NPC.InputDialog(This_Player,'请输入你要买的数额',0,112) ;
  end else This_NPC.NpcDialog(This_Player,'你已经投过注了!'+'{cmd}<返回/@main>') ;
end;

procedure p112;
begin
    num1 :=  StrToIntDef(This_NPC.InputStr,-1);//输入非阿拉伯数字的字符都返回-1
   if This_NPC.InputOK  then
        if (num1 < 100) or  (num1 > 65534) then
       begin
       This_NPC.NpcDialog(This_Player,'投注必须使用大于100小于65534的阿拉伯数字!') ;
       end
        else if (num1 >= 100) and (num1 < 65535) then
         begin
           if  This_Player.YBNum >= num1 then
           begin
                This_Player.PsYBConsum(This_NPC,'xin',20001,num1,1);
                This_NPC.NpcDialog(This_Player,'你买了'+inttostr(num1)+'元宝的大!'+'{cmd}<返回/@main>') ;
                This_Player.setv(74,1,1);   //限定能投骰子的玩家,及只能在3个选项中同一时间选一个
                This_Player.setv(73,2,1); // 限定选择的下注的类型,改类型为选了大
           end else
           This_NPC.NpcDialog(This_Player,'你没有足够的元宝买'+inttostr(num1)+'的大!' +'{cmd}<返回/@main>') ;
         end;
    end;

procedure _mbz;

begin
  if This_Player.GetV(74,1)< 1  then
  begin   
        This_NPC.InputDialog(This_Player,'请输入你要买的数额',0,113) ;
  end else This_NPC.NpcDialog(This_Player,'你已经投过注了!'+'{cmd}<返回/@main>') ;
end;

procedure p113;
begin
    num1 :=  StrToIntDef(This_NPC.InputStr,-1);//输入非阿拉伯数字的字符都返回-1
   if This_NPC.InputOK  then  
        if  (num1 < 100) or  (num1 > 65534) then
       begin
       This_NPC.NpcDialog(This_Player,'投注必须使用大于100小于65534的阿拉伯数字!') ;
       end
        else if (num1 >= 100) and (num1 < 65535) then
         begin
           if  This_Player.YBNum >= num1 then
           begin
                This_Player.PsYBConsum(This_NPC,'xin',20001,num1,1);
                This_NPC.NpcDialog(This_Player,'你买了'+inttostr(num1)+'元宝的豹子!'+'{cmd}<返回/@main>') ;
                This_Player.setv(74,1,1);   //限定能投骰子的玩家,及只能在3个选项中同一时间选一个
                This_Player.setv(73,3,1); // 限定选择的下注的类型,改类型为选了豹子
           end else
           This_NPC.NpcDialog(This_Player,'你没有足够的元宝买'+inttostr(num1)+'的豹子!' +'{cmd}<返回/@main>') ;
         end;

end;

procedure _AfterPlayDice();//注意这里需要下画线
begin
    i:=This_Player.GetV(0, 1);
    j:=This_Player.GetV(0, 2);
    k:=This_Player.GetV(0, 3);
    num:= i+j+k ;
     if (This_Player.getv(73,1)=1) //限定选了小的玩家并且3骰子点数在3到9并且不出现豹子的情况下 执行以下奖励代码
         and (num >3) and (num <9) and ((i <> j) or (i <> k) or (k <> j)) then
      begin
      This_Npc.NpcDialog(This_Player,'你扔的骰子数是' + IntToStr(i) + IntToStr(j)+IntToStr(k)+'一共|\'
       +inttostr(num)+'点,恭喜你你买中了小,获得一倍赔率!') ;
       This_Player.ScriptRequestAddYBNum(num1 *2);
       This_Player.setv(74,1,0);//保险起见,所有变量初始化化,跳出
       This_Player.setv(73,1,0);
       num1 := 0;
      This_Player.SetV(0, 1, 0);
      This_Player.SetV(0, 2, 0);
      This_Player.SetV(0, 3, 0);
      end
      else
      if(This_Player.getv(73,2)=1)//限定选了大的玩家并且3骰子点数在9到18并且不出现豹子的情况下 执行以下奖励代码
          and (num >=9) and (num <18) and ((i <> j) or (i <> k) or (k <> j)) then
      begin

       This_Player.ScriptRequestAddYBNum(num1 *2);
       This_Player.setv(74,1,0);//部分变量初始化是非必须的,保险起见所有变量初始化化
       This_Player.setv(73,2,0);
       str:= '';
      This_Player.SetV(0, 1, 0);
      This_Player.SetV(0, 2, 0);
      This_Player.SetV(0, 3, 0);
      This_Npc.NpcDialog(This_Player,'你扔的骰子数是' + IntToStr(i) + IntToStr(j)+IntToStr(k)+'一共|\'
       +inttostr(num)+'点,恭喜你你买中了大,获得一倍赔率!'+'{cmd}<继续投注/@main>') ;
      end else

      if (This_Player.getv(73,3)=1) //限定选了豹子的玩家并且3骰子点数相等情况下 执行以下奖励代码
          and ((i = j) and (i = k) and (k = j))  then
          
      begin

       This_Player.ScriptRequestAddYBNum(num1 *4);
       This_Player.setv(74,1,0);//部分变量初始化是非必须的,保险起见所有变量初始化化
       This_Player.setv(73,3,0);
       Str := '';
       This_Player.SetV(0, 1, 0);
      This_Player.SetV(0, 2, 0);
      This_Player.SetV(0, 3, 0);
        This_Npc.NpcDialog(This_Player,'你扔的骰子数是' + IntToStr(i) + IntToStr(j)+IntToStr(k)+'一共|\'
       +inttostr(num)+'点,恭喜你你买中了豹子,获得三倍赔率!'+'{cmd}<继续投注/@main>') ;
      end else  
      begin
      This_Player.setv(74,1,0);//即使失败也需要变量初始化化,部分变量初始化是非必须的
       This_Player.setv(73,3,0);
       This_Player.setv(73,2,0);
       This_Player.setv(73,1,0);
      Str := '';
      This_Player.SetV(0, 1, 0);
      This_Player.SetV(0, 2, 0);
      This_Player.SetV(0, 3, 0);
      This_Npc.NpcDialog(This_Player,'你扔的骰子数是' + IntToStr(i) + IntToStr(j)+IntToStr(k)+'一共|\'
       +inttostr(num)+'点,很抱歉你没有买中!'+'{cmd}<继续投注/@main>') ;
      end;
end;

procedure _DoPlayDice(); //扔骰子//注意这里需要下画线
begin
if This_Player.getv(74,1)=1 then
    begin
This_Player.SetV(0, 1, (Random(6) + 1));
This_Player.SetV(0, 2, (Random(6) + 1));
This_Player.SetV(0, 3, (Random(6) + 1));
This_Player.setv(74,1,0);
This_Npc.PlayDice(This_Player, 3, '@AfterPlayDice'); //注意这里需要@
    end else
    This_Npc.NpcDialog(This_Player,'你没有下注不可以投骰子,请不要重复投骰子!'
        ) ;
end;

function xin(price, num: Integer):boolean;
begin
   result := true;

end;

Begin
  domain;
end.

【GM论坛[www.gmbbs.net]免责声明】
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
4、论坛的所有内容都不保证其准确性,完整性,有效性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请告之,本站将立即删除。
   提问发帖求助请点此发帖 https://www.gmbbs.net/

0

主题

149

帖子

4523

积分

顶级VIP会员

积分
4523
发表于 2022-7-2 22:44:33 | 显示全部楼层
终于找到这个东西了,又占了一个沙发!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表