Jump to content

Question

Posted

Could someone help me, make this npc stay hidden and only show up at a certain time? I wanted him to show up at 9:00 p.m. and leave at 9:15 p.m.

 

Quote

prontera,150,150,6    script    Daily Item Sale    100,{

    mes "Hi";
    next;
    if(select("Sale!:All items") == 2) {
        for(set .@i,0; .@i < getarraysize(.TradeID); set .@i, .@i +1){
            if(.TradeID[.@i] != 0) {
                set .@menu$, .@menu$ + "^0000FF "+getitemname(.TradeID[.@i])+" ^000000 x "+.TradeCount[.@i]+" x "+.TradeItemsAmm[.@i]+"";
                set .@menu$, .@menu$ + ":";    
            }
        }        
        set .@Select, select(.@menu$) - 1;

        if(.TradeCount[.@Select] < 1) {
            mes "I don't have this item.";
            close;
        }
        
        mes "Do you want buy it?";
        mes "I need - "+getitemname(.TradeItemsReq[.@Select]);
        mes " x"+.TradeItemsAmm[.@Select];
        next;
        if(countitem(.TradeItemsReq[.@Select]) < .TradeItemsAmm[.@Select]) {
            mes "Where is my "+getitemname(.TradeItemsReq[.@Select]);
            close;
        }
        
        delitem .TradeItemsReq[.@Select], .TradeItemsAmm[.@Select];
        getitem .TradeID[.@Select], 1;
        .TradeCount[.@Select] -= 1;
        close;
    }
    
    for(set .@i,0; .@i < getarraysize(.TodaySale); set .@i, .@i +1){
        if(.TodaySale[.@i] != 0) {
            set .@menu$, .@menu$ + "^0000FF "+getitemname(.TodaySale[.@i])+" ^000000 x "+.TodayCount[.@i]+" x "+.TradeItemsAmm[.@i]+"";
            set .@menu$, .@menu$ + ":";    
        }
    }
    
    set .@Select, select(.@menu$) - 1;

    if(.TodayCount[.@Select] < 1) {
        mes "I don't have this item.";
        close;
    }
    
    mes "Do you want buy it?";
    mes "I need - "+getitemname(.TradeItemsReq[.@Select]);
    mes " x"+.TradeItemsAmm[.@Select];
    next;
    if(countitem(.TradeItemsReq[.@Select]) < .TradeItemsAmm[.@Select]) {
        mes "Where is my "+getitemname(.TradeItemsReq[.@Select]);
        close;
    }
    
    delitem .TradeItemsReq[.@Select], .TradeItemsAmm[.@Select];
    getitem .TodaySale[.@Select], 1;
    .TodayCount[.@Select] -= 1;
    close;
    
OnInit:
setarray .TradeID[0], 12210, 14533, 14545, 7619, 7620, 7227, 7228, 7229, 7230; //your cards id
setarray .TradeCount[0], 5, 5, 5, 3, 3, 3, 2, 1, 3; //card count
setarray .TradeItemsReq[0], 30002, 30002, 30002, 30002, 30002, 30002, 30002, 30002, 30002; //pod, poring coin, event ticket
setarray .TradeItemsAmm[0], 1, 1, 1, 1, 1, 1, 1, 1, 1; // amount of ^ items

for(.i = 0; .i < 5; .i ++) { // 5 items
    if(.TradeID[.i] != 0) {
        .TodaySale[.i] += .TradeID[rand(getarraysize(.TradeID))];
        .TodayCount[.i] += .TradeCount[rand(getarraysize(.TradeCount))];
    }
}
end;

OnClock0000:
for(.i = 0; .i < 5; .i ++) { // 5 items
    if(.TradeID[.i] != 0) {
        .TodaySale[.i] += .TradeID[rand(getarraysize(.TradeID))];
        .TodayCount[.i] += .TradeCount[rand(getarraysize(.TradeCount))];
    }
}
}

 

3 answers to this question

Recommended Posts

  • 0
Posted

Hi, try this
 

prontera,150,150,6    script    Daily Item Sale    100,{

    mes "Hi";
    next;
    if(select("Sale!:All items") == 2) {
        for(set .@i,0; .@i < getarraysize(.TradeID); set .@i, .@i +1){
            if(.TradeID[.@i] != 0) {
                set .@menu$, .@menu$ + "^0000FF "+getitemname(.TradeID[.@i])+" ^000000 x "+.TradeCount[.@i]+" x "+.TradeItemsAmm[.@i]+"";
                set .@menu$, .@menu$ + ":";    
            }
        }        
        set .@Select, select(.@menu$) - 1;

        if(.TradeCount[.@Select] < 1) {
            mes "I don't have this item.";
            close;
        }
        
        mes "Do you want buy it?";
        mes "I need - "+getitemname(.TradeItemsReq[.@Select]);
        mes " x"+.TradeItemsAmm[.@Select];
        next;
        if(countitem(.TradeItemsReq[.@Select]) < .TradeItemsAmm[.@Select]) {
            mes "Where is my "+getitemname(.TradeItemsReq[.@Select]);
            close;
        }
        
        delitem .TradeItemsReq[.@Select], .TradeItemsAmm[.@Select];
        getitem .TradeID[.@Select], 1;
        .TradeCount[.@Select] -= 1;
        close;
    }
    
    for(set .@i,0; .@i < getarraysize(.TodaySale); set .@i, .@i +1){
        if(.TodaySale[.@i] != 0) {
            set .@menu$, .@menu$ + "^0000FF "+getitemname(.TodaySale[.@i])+" ^000000 x "+.TodayCount[.@i]+" x "+.TradeItemsAmm[.@i]+"";
            set .@menu$, .@menu$ + ":";    
        }
    }
    
    set .@Select, select(.@menu$) - 1;

    if(.TodayCount[.@Select] < 1) {
        mes "I don't have this item.";
        close;
    }
    
    mes "Do you want buy it?";
    mes "I need - "+getitemname(.TradeItemsReq[.@Select]);
    mes " x"+.TradeItemsAmm[.@Select];
    next;
    if(countitem(.TradeItemsReq[.@Select]) < .TradeItemsAmm[.@Select]) {
        mes "Where is my "+getitemname(.TradeItemsReq[.@Select]);
        close;
    }
    
    delitem .TradeItemsReq[.@Select], .TradeItemsAmm[.@Select];
    getitem .TodaySale[.@Select], 1;
    .TodayCount[.@Select] -= 1;
    close;
    
OnInit:
  setarray .TradeID[0], 12210, 14533, 14545, 7619, 7620, 7227, 7228, 7229, 7230; //your cards id
  setarray .TradeCount[0], 5, 5, 5, 3, 3, 3, 2, 1, 3; //card count
  setarray .TradeItemsReq[0], 30002, 30002, 30002, 30002, 30002, 30002, 30002, 30002, 30002; //pod, poring coin, event ticket
  setarray .TradeItemsAmm[0], 1, 1, 1, 1, 1, 1, 1, 1, 1; // amount of ^ items

  for(.i = 0; .i < 5; .i ++) { // 5 items
      if(.TradeID[.i] != 0) {
          .TodaySale[.i] += .TradeID[rand(getarraysize(.TradeID))];
          .TodayCount[.i] += .TradeCount[rand(getarraysize(.TradeCount))];
      }
  }

  hideonnpc "Daily Item Sale";
  end;

OnClock0000:
    for(.i = 0; .i < 5; .i ++) { // 5 items
        if(.TradeID[.i] != 0) {
            .TodaySale[.i] += .TradeID[rand(getarraysize(.TradeID))];
            .TodayCount[.i] += .TradeCount[rand(getarraysize(.TradeCount))];
        }
    }
	end;
OnClock2100:
	hideoffnpc "Daily Item Sale";
	end;
OnClock2115:
	hideonnpc "Daily Item Sale";
  	end;
}

 

  • 0
Posted
18 hours ago, rongmauhong said:

Hi, try this
 


prontera,150,150,6    script    Daily Item Sale    100,{

    mes "Hi";
    next;
    if(select("Sale!:All items") == 2) {
        for(set .@i,0; .@i < getarraysize(.TradeID); set .@i, .@i +1){
            if(.TradeID[.@i] != 0) {
                set .@menu$, .@menu$ + "^0000FF "+getitemname(.TradeID[.@i])+" ^000000 x "+.TradeCount[.@i]+" x "+.TradeItemsAmm[.@i]+"";
                set .@menu$, .@menu$ + ":";    
            }
        }        
        set .@Select, select(.@menu$) - 1;

        if(.TradeCount[.@Select] < 1) {
            mes "I don't have this item.";
            close;
        }
        
        mes "Do you want buy it?";
        mes "I need - "+getitemname(.TradeItemsReq[.@Select]);
        mes " x"+.TradeItemsAmm[.@Select];
        next;
        if(countitem(.TradeItemsReq[.@Select]) < .TradeItemsAmm[.@Select]) {
            mes "Where is my "+getitemname(.TradeItemsReq[.@Select]);
            close;
        }
        
        delitem .TradeItemsReq[.@Select], .TradeItemsAmm[.@Select];
        getitem .TradeID[.@Select], 1;
        .TradeCount[.@Select] -= 1;
        close;
    }
    
    for(set .@i,0; .@i < getarraysize(.TodaySale); set .@i, .@i +1){
        if(.TodaySale[.@i] != 0) {
            set .@menu$, .@menu$ + "^0000FF "+getitemname(.TodaySale[.@i])+" ^000000 x "+.TodayCount[.@i]+" x "+.TradeItemsAmm[.@i]+"";
            set .@menu$, .@menu$ + ":";    
        }
    }
    
    set .@Select, select(.@menu$) - 1;

    if(.TodayCount[.@Select] < 1) {
        mes "I don't have this item.";
        close;
    }
    
    mes "Do you want buy it?";
    mes "I need - "+getitemname(.TradeItemsReq[.@Select]);
    mes " x"+.TradeItemsAmm[.@Select];
    next;
    if(countitem(.TradeItemsReq[.@Select]) < .TradeItemsAmm[.@Select]) {
        mes "Where is my "+getitemname(.TradeItemsReq[.@Select]);
        close;
    }
    
    delitem .TradeItemsReq[.@Select], .TradeItemsAmm[.@Select];
    getitem .TodaySale[.@Select], 1;
    .TodayCount[.@Select] -= 1;
    close;
    
OnInit:
  setarray .TradeID[0], 12210, 14533, 14545, 7619, 7620, 7227, 7228, 7229, 7230; //your cards id
  setarray .TradeCount[0], 5, 5, 5, 3, 3, 3, 2, 1, 3; //card count
  setarray .TradeItemsReq[0], 30002, 30002, 30002, 30002, 30002, 30002, 30002, 30002, 30002; //pod, poring coin, event ticket
  setarray .TradeItemsAmm[0], 1, 1, 1, 1, 1, 1, 1, 1, 1; // amount of ^ items

  for(.i = 0; .i < 5; .i ++) { // 5 items
      if(.TradeID[.i] != 0) {
          .TodaySale[.i] += .TradeID[rand(getarraysize(.TradeID))];
          .TodayCount[.i] += .TradeCount[rand(getarraysize(.TradeCount))];
      }
  }

  hideonnpc "Daily Item Sale";
  end;

OnClock0000:
    for(.i = 0; .i < 5; .i ++) { // 5 items
        if(.TradeID[.i] != 0) {
            .TodaySale[.i] += .TradeID[rand(getarraysize(.TradeID))];
            .TodayCount[.i] += .TradeCount[rand(getarraysize(.TradeCount))];
        }
    }
	end;
OnClock2100:
	hideoffnpc "Daily Item Sale";
	end;
OnClock2115:
	hideonnpc "Daily Item Sale";
  	end;
}

 

Thank you!! Worked

Can I get him to show up twice a week? Wednesday and Sunday for example

  • 0
Posted

Yes, you can do it by `gettime` function
Change

OnClock2100:
	hideoffnpc "Daily Item Sale";
	end;

to
 

OnClock2100:
	.@dayOfWeek = gettime(DT_DAYOFWEEK);

	if (.@dayOfWeek == WEDNESDAY || .@dayOfWeek == SUNDAY) {
		hideoffnpc "Daily Item Sale";
	}
	end;

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...