元宝抽奖脚本,支持战神引擎,可以设置抽奖的金额、个人和全服的次数,也可以任意设置抽奖里面的物品装备等,帮主测试了一下,这个中奖成本很高,反正每一次都不回空手。你们如果需要,跟自己服里面的整体情况,修改奖品的高低和抽取的成本。
脚本如下
{元宝抽奖
作者:开心就好
内容:全服每天限制为300次,个人一天只能抽20次,每抽奖一次需要1元宝
}
PROGRAM Mir2;
{$I common.pas}
var
today:integer;
num:integer;
Snum :integer;
Snum0 :string ;
num0 :string ;
Procedure _doexit;
begin
This_Npc.CloseDialog(This_Player);
end;
procedure domain;
begin
Snum0 :=inttostr(30-Snum);//全服剩余抽奖次数
num0 :=inttostr(20-Snum);//个人剩余抽奖次数
This_NPC.NpcDialog(This_Player,
'☆☆☆欢迎光临【开心就好】抽奖中心☆☆☆\|'
+' '+'每抽奖一次需要<1元宝 c="red">!|\'
+' '+'全服每天限制为300次'+' '+'<还剩 c="red">'+snum0+'<个 c="red">\|'
+' '+'个人一天只能抽20次'+' '+'<还剩 c="red">'+num0+'<个 c="red">\|'
+' 本服里所有装备和物品等都可以在抽奖中获得\|'
+' ☆☆奖品绝对物有所值 心动不如行动哦☆☆\|'
+' '+'{cmd}<我要抽奖 cj="">\');
end;
procedure _cj;
var
Rdm_int : integer;
WpName : string;
begin
today := GetDateNum(GetNow);
if This_Player.GetV(63,3) <> today then
begin
This_Player.SetV(63,3,today);
This_Player.SetV(63,4,0);
end;
if GetG(65,1) <> today then
begin
SetG(65,1,today);
SetG(65,2,0);
end;
Snum := GetG(65,2)
num := This_Player.GetV(63,4);
if Snum < 300 then//可以更改全服抽奖次数上限,上面的显示项目最好同时修改
begin
if num < 20 then//更改个人抽奖次数上限
begin
Rdm_int := random(100);
if This_Player.YBNum > 0 then
begin
if This_Player.FreeBagNum >= 2 then
begin
if Rdm_int < 5 then
begin
case random(25) of
0 : WpName := '屠龙';
1 : WpName := '嗜魂法杖';
2 : WpName := '逍遥扇';
3 : WpName := '圣战头盔';
4 : WpName := '光芒项链';
5 : WpName := '光芒手镯';
6 : WpName := '光芒戒指';
7 : WpName := '烈焰戒指';
8 : WpName := '烈焰项链';
9 : WpName := '烈焰手镯';
10: WpName := '雷霆项链';
11 :WpName := '传送戒指';
12: WpName := '麻痹戒指';
13 :WpName := '隐身戒指';
14 :WpName := '雷霆手镯';
15: WpName := '防御戒指';
16: WpName := '天师长袍';
17 :WpName := '天尊道袍';
18: WpName := '霓裳羽衣';
19 :WpName := '法神披风';
20 :WpName := '圣战宝甲';
21: WpName := '天魔神甲';
22 :WpName := '噬血术';
23 :WpName := '逐日剑法';
24: WpName := '流星火雨';
end;
end else if Rdm_int < 10 then
begin
case random(16) of
0 : WpName := '屠龙';
1 : WpName := '嗜魂法杖';
2 : WpName := '逍遥扇';
4 : WpName := '圣战项链';
5 : WpName := '圣战手镯';
6 : WpName := '天尊戒指';
7 : WpName := '圣战戒指';
8 : WpName := '天尊项链';
9 : WpName := '天尊手镯';
10: WpName := '法神项链';
11 :WpName := '法神戒指';
12: WpName := '圣战戒指';
13 :WpName := '技巧项链';
14 :WpName := '法神手镯';
15: WpName := '防御戒指';
end;
end else if Rdm_int < 20 then
begin
case random(10) of
0 : WpName := '青铜腰带';
1 : WpName := '龙牙';
2 : WpName := '龙纹剑';
3 : WpName := '怒斩';
4 : WpName := '黑铁头盔';
5 : WpName := '恶魔铃铛';
6 : WpName := '三眼手镯';
7 : WpName := '泰坦戒指';
8 : WpName := '力量戒指';
9 : WpName := '天尊头盔';
end;
end else if Rdm_int < 100 then
begin
case random(7) of
0 : WpName := '裁决之杖';
1 : WpName := '骨玉权杖';
2 : WpName := '无极棍';
3 : WpName := '10灵符礼包';
4 : WpName := '祝福油';
5 : WpName := '金刚石';
6 : WpName := '金条';
end;
end;
This_Player.PsYBConsum(This_NPC,'xin',20001,1,1);//1为扣除元宝个数
This_Player.Give(WpName , 1);
setG(65,2,Snum + 1);
This_Player.setV(63,4, num + 1);
This_NPC.NpcDialog(This_Player,
WpName + '已放入您的包裹!\|'
+'{cmd}<继续使用1元宝抽取武器 cj="">');
end else
This_NPC.NpcDialog(This_Player,
'没有足够的包裹空间!\|'
+'{cmd}<返回 main="">');
end else
This_NPC.NpcDialog(This_Player,
'没有足够的元宝,不可抽取\|'
+'{cmd}<返回 main="">');
end else
This_NPC.NpcDialog(This_Player,'你今天已抽奖20次!');
end else
This_NPC.NpcDialog(This_Player,'今日服务器30次限额抽奖已经抽完!');
end;
function xin(price, num: Integer):boolean;
begin
result := true;
end;
Begin
domain;
end.