按周/星期签到领取奖品Npc脚本(战神引擎)

用于战神引擎按星期几、按周签到领取奖品的npc脚本,之前更新的2个签到脚本,都是按月的打卡的,如果忘记签到,可以用元宝购买补全之前遗漏的时间,但这个按周的不行,脚本是明文版,可以任意修改里面的奖品内容。

按周/星期签到领取奖品Npc脚本(战神引擎)

按周/星期签到领取奖品Npc脚本(战神引擎)

按周/星期签到领取奖品Npc脚本(战神引擎)

部分脚本

program mir2;
procedure _exit;
begin
    This_NPC.CloseDialog(This_Player);
end;
procedure domain;
begin
    This_NPC.NpcDialog(This_Player,
    '<七天签到,每天的奖励都不一样/fcolor=250>'+
    '|<每周的满签就可能比别人更强哦/fcolor=250>'+
	 '<满签大量金刚石材料元宝经验请保留20背包位置/fcolor=250>'+
    '{cmd}|<周一签到/@riq~1> ^<周二签到/@riq~2>'+
    '{cmd}|<周三签到/@riq~3> ^<周四签到/@riq~4>'+
    '{cmd}|<周五签到/@riq~5> ^<周六签到/@riq~6>'+
    '{cmd}|<周日签到/@riq~7> ^<满签大礼包/@manqian>'+
    '{cmd}|<退出/@exit> ' 
    );
end;
procedure _manqian;
var znum : integer;
begin
    znum := This_Player.GetV(18,1);
   if znum = 7 then
   begin
      if This_Player.GetV(18,2) < 1 then
      begin
          This_Player.Give('经验',30000000);  
          This_Player.Give('金刚石',20);
          This_Player.Give('书页',5);
		  This_Player.Give('羽毛',50);
		  This_Player.Give('升官凭证',5);
		  This_Player.Give('转生石',5);
		  This_Player.Give('5000元宝',1);
          This_Player.SetV(18,2,1);
          This_Player.SetV(18,1,0);
          ServerSay('恭喜玩家'+ This_Player.Name +'签到七天领取了满签大礼包',0); 
      end else This_NPC.NpcDialog(This_Player,'抱歉,你已经领取过了'+'<返回/@main>');  
   end else  This_NPC.NpcDialog(This_Player,'抱歉,你没有签到够七天'+'<返回/@main>');
end;
procedure _riq(str : string);
var
time1,time2,time3,time4,time5,time6,time7 : integer; 
num1,num2,num3,num4,num5,num6,num7,znum : integer;
begin
   znum := This_Player.GetV(18,1);
    if strtoint(str) = 1 then
    begin
        time1 := GetDateNum(GetNow);
        if This_Player.GetV(17,1) <> time1 then
        begin
            This_Player.SetV(17,1,time1);
            This_Player.SetV(16,1,0); 
        end;
        num1 := This_Player.GetV(16,1);
        if (GetDayOfWeek = 1) and (GetHour < 24) then begin if This_Player.FreeBagNum > 0 then
            begin      
                if num1 < 1 then               
                begin
                    This_Player.Give('经验',5000000);
                    This_Player.Give('金刚石',1);
					This_Player.Give('书页',5);
                    This_Player.SetV(16,1,num1+100);
                    This_Player.SetV(18,1,znum + 1);
                    ServerSay('恭喜玩家'+ This_Player.Name +'完成了周一签到',0); 
                end else This_NPC.NpcDialog(This_Player,'抱歉,你已经领取过了'+'<返回/@main>');
            end else This_NPC.NpcDialog(This_Player,'抱歉,你背包满了'+'<返回/@main>');   
        end else This_NPC.NpcDialog(This_Player,'抱歉,还没到领取时间或领取时间已过'+'<返回/@main>');
    end else
    if strtoint(str) = 2 then
    begin
        time2 := GetDateNum(GetNow);
        if This_Player.GetV(17,2) <> time2 then
        begin
            This_Player.SetV(17,2,time2);
            This_Player.SetV(16,2,0); 
        end;
        num2 := This_Player.GetV(16,2);
        if (GetDayOfWeek = 2) and (GetHour < 24) then begin if This_Player.FreeBagNum > 1 then
            begin      
                if num2 < 1 then               
                begin
                    This_Player.Give('经验',5000000);
                    This_Player.Give('金刚石',2);
					This_Player.Give('书页',10);
                    This_Player.SetV(16,2,num2+100);
                    This_Player.SetV(18,1,znum + 1);
                    ServerSay('恭喜玩家'+ This_Player.Name +'完成了周二签到',0); 
                end else This_NPC.NpcDialog(This_Player,'抱歉,你已经领取过了'+'<返回/@main>');
            end else This_NPC.NpcDialog(This_Player,'抱歉,你背包满了'+'<返回/@main>');   
        end else This_NPC.NpcDialog(This_Player,'抱歉,还没到领取时间或领取时间已过'+'<返回/@main>');
    end else
    if strtoint(str) = 3 then
    begin
        time3 := GetDateNum(GetNow);
        if This_Player.GetV(17,3) <> time3 then
        begin
            This_Player.SetV(17,3,time3);
            This_Player.SetV(16,3,0); 
        end;
        num3 := This_Player.GetV(16,3);
        if (GetDayOfWeek = 3) and (GetHour < 24) then begin if This_Player.FreeBagNum > 2 then
            begin      
                if num3 < 1 then               
                begin
                    This_Player.Give('经验',5000000);
                    This_Player.Give('金刚石',3);
                    This_Player.Give('书页',15);
                    This_Player.SetV(16,3,num3+100);
                    This_Player.SetV(18,1,znum + 1);
                    ServerSay('恭喜玩家'+ This_Player.Name +'完成了周三签到',0); 
                end else This_NPC.NpcDialog(This_Player,'抱歉,你已经领取过了'+'<返回/@main>');
            end else This_NPC.NpcDialog(This_Player,'抱歉,你背包满了'+'<返回/@main>');   
        end else This_NPC.NpcDialog(This_Player,'抱歉,还没到领取时间或领取时间已过'+'<返回/@main>');
    end else
    if strtoint(str) = 4 then
    begin
        time4 := GetDateNum(GetNow);
        if This_Player.GetV(17,4) <> time4 then
        begin
            This_Player.SetV(17,4,time4);
            This_Player.SetV(16,4,0); 
        end;
        num4 := This_Player.GetV(16,4);
        if (GetDayOfWeek = 4) and (GetHour < 24) then begin if This_Player.FreeBagNum > 3 then
            begin      
                if num4 < 1 then               
                begin
                    This_Player.Give('经验',5000000);
                    This_Player.Give('金刚石',4);
                    This_Player.Give('书页',20);
                    This_Player.SetV(16,4,num4+100);
                    This_Player.SetV(18,1,znum + 1);
                    ServerSay('恭喜玩家'+ This_Player.Name +'完成了周四签到',0); 
                end else This_NPC.NpcDialog(This_Player,'抱歉,你已经领取过了'+'<返回/@main>');
            end else This_NPC.NpcDialog(This_Player,'抱歉,你背包满了'+'<返回/@main>');   
        end else This_NPC.NpcDialog(This_Player,'抱歉,还没到领取时间或领取时间已过'+'<返回/@main>');
    end else
分享到:
赞(0)