战神引擎娱乐脚本
发表时间:2020-01-08 10:58点击人气:责任编辑:admin
战神手游传奇私服的娱乐脚本,可控制输赢,增加了GM管理权限。
内容:☆☆本中心只供娱乐,严禁用于赌博,一切后果自负☆☆
人机模式 该版能够更好控制输赢率
SetG(73,1,90)为输赢率总开关,GetG(73,1)取值0到99。通过控SetG来控制输赢,
如例取90则玩家胜率为 10%不到,取99玩家100%输
复制以下内容即可:
PROGRAM Mir2; var str :string; num,num1 , ya , zhong :integer; i : Integer; j : Integer; k : Integer; h : Integer; Procedure _doexit; begin This_Npc.CloseDialog(This_Player); end; //procedure Execute; //begin // This_Npc.NPCSay('买大开大,买小开小,压姑娘赔大嫂~~'); //end; procedure domain; begin ya := GetG(73,5); zhong := GetG(73,6); if This_Player.GMLevel > 0 then begin h := GetG(73,1); SetG(73,1,h);//90为可更改数字,范围0-99,如取90则玩家胜率为10%不到,取99玩家100%输 This_Player.SetV(0, 1, (Random(6) + 1)); This_Player.SetV(0, 2, (Random(6) + 1)); This_Player.SetV(0, 3, (Random(6) + 1)); i:=This_Player.GetV(0, 1); j:=This_Player.GetV(0, 2); k:=This_Player.GetV(0, 3); num:= i+j+k ; str := This_NPC.InputStr; This_NPC.NpcDialog(This_Player, '总压:' + inttostr(ya) + ' 中:' + inttostr(zhong) + ' 盈利:' + inttostr(ya - zhong) + '\' +'|☆☆☆☆☆☆欢迎光临娱乐中心☆☆☆☆☆☆\' +'|☆ <每次投注至少需要100元宝/c=red> ☆\' +'|☆☆☆☆☆☆☆☆祝君中奖☆☆☆☆☆☆☆☆\' +'|当前玩家中奖机率为:' + inttostr(100 - h) + '% <注:豹子无效/c=red>\' +'|{cmd}<10%中奖率/@yishi> ^<50%中奖率/@wushi> ^<80%中奖率/@bashi>\' +'|{cmd}<我要买大/@md> ^<我要买小/@mx> ^<我要买豹子/@mbz>\' +'|{cmd}<买定开骰/@DoPlayDice>^<关闭/@doexit>^<清空盈利/@qingkong>\' ); end else begin h := GetG(73,1); SetG(73,1,h);//90为可更改数字,范围0-99,如取90则玩家胜率为10%不到,取99玩家100%输 This_Player.SetV(0, 1, (Random(6) + 1)); This_Player.SetV(0, 2, (Random(6) + 1)); This_Player.SetV(0, 3, (Random(6) + 1)); i:=This_Player.GetV(0, 1); j:=This_Player.GetV(0, 2); k:=This_Player.GetV(0, 3); num:= i+j+k ; str := This_NPC.InputStr; This_NPC.NpcDialog(This_Player, '☆☆☆☆☆☆欢迎光临娱乐中心☆☆☆☆☆☆\' +'|☆ <每次投注至少需要100元宝/c=red> ☆\' +'|☆☆☆☆☆☆☆☆祝君中奖☆☆☆☆☆☆☆☆\' +'{cmd}<我要买大/@md> ^<我要买小/@mx> ^<我要买豹子/@mbz>\|' +'\|' +'{cmd}<买定开骰/@DoPlayDice>^^<关闭/@doexit>' ); end; end; procedure _qingkong; begin SetG(73,5,0); SetG(73,6,0); This_NPC.NpcDialog(This_Player, '清理成功!\|' +'{cmd}<返回/@main>'); end; procedure _yishi; begin SetG(73,1,90); //中奖概率9% This_NPC.NpcDialog(This_Player, '设置成功!\|' +'{cmd}<返回/@main>'); end; procedure _wushi; begin SetG(73,1,50); //中奖概率49% This_NPC.NpcDialog(This_Player, '设置成功!\|' +'{cmd}<返回/@main>'); end; procedure _bashi; begin SetG(73,1,20); //中奖概率79% This_NPC.NpcDialog(This_Player, '设置成功!\|' +'{cmd}<返回/@main>'); 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>') ; SetG(73,5,ya+num1) 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>') ; SetG(73,5,ya+num1) 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>') ; SetG(73,5,ya+num1) 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 if (This_Player.getv(73,1)=1) //限定选了小的玩家并且3骰子点数在3到10包括豹子执行以下奖励代码 and (num >2) and (num <11)// 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); SetG(73,6,zhong+(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骰子点数在11到18并且包括豹子的情况下执行以下奖励代码 and (num >=11) and (num <19)// and ((i <> j) or (i <> k) or (k <> j)) then begin This_Player.ScriptRequestAddYBNum(num1 *2); SetG(73,6,zhong+(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); SetG(73,6,zhong+(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(73,1)=1 then //玩家买小 begin if num < 11 then //出现小的概率为50%,出现了执行下面换骰子点数代码 begin if random(100) < h then //摇到小后有90%的机会更换骰子 ,更换后如果继续是小则继续循环90%*90%的机会更换骰子大小 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)); i:=This_Player.GetV(0, 1); j:=This_Player.GetV(0, 2); k:=This_Player.GetV(0, 3); num:= i+j+k ; This_Player.CallOut(This_NPC, 1, 'DoPlayDice'); // end else This_Npc.PlayDice(This_Player, 3, '@AfterPlayDice'); //10%机会直接得到得最初摇出的小,赢得投注 end else begin This_Npc.PlayDice(This_Player, 3, '@AfterPlayDice');//出现大就直接出骰子,50%机会玩家输 end ; end else if This_Player.getv(73,2)=1 then //玩家买大 begin if random(100) < h then// begin if num > 10 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)); i:=This_Player.GetV(0, 1); j:=This_Player.GetV(0, 2); k:=This_Player.GetV(0, 3); num:= i+j+k ; This_Player.CallOut(This_NPC, 1, 'DoPlayDice'); end else This_Npc.PlayDice(This_Player, 3, '@AfterPlayDice'); end else begin This_Npc.PlayDice(This_Player, 3, '@AfterPlayDice'); end; end else if This_Player.getv(73,3)=1 then begin if random(100) < h then begin if (i=j) and (j=k) 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)); i:=This_Player.GetV(0, 1); j:=This_Player.GetV(0, 2); k:=This_Player.GetV(0, 3); num:= i+j+k ; This_Player.CallOut(This_NPC, 1, 'DoPlayDice'); //注意这里需要@ end else This_Npc.PlayDice(This_Player, 3, '@AfterPlayDice'); end else begin This_Npc.PlayDice(This_Player, 3, '@AfterPlayDice'); end; end else This_Player.CallOut(This_NPC, 1, 'DoPlayDice'); end; procedure _DoPlayDice(); //扔骰子//注意这里需要下画线 begin if This_Player.getv(74,1)=1 then begin This_Player.CallOut(This_NPC, 1, 'DoPlayDice'); This_NPC.NpcDialog(This_Player,'1到3秒后开始投骰子!') ; end else This_Npc.NpcDialog(This_Player,'你没有下注不可以投骰子!' ) ; end; function xin(price, num: Integer):boolean; begin result := true; end; Begin domain; end.
- 上一篇:战神引擎在线泡点脚本
- 下一篇:战神引擎会员服务脚本