Jump to content
  • 0

NPC Hide


Motoharo

Question


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  14
  • Reputation:   1
  • Joined:  05/18/19
  • Last Seen:  

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))];
    }
}
}

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  81
  • Reputation:   14
  • Joined:  11/17/17
  • Last Seen:  

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;
}

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  14
  • Reputation:   1
  • Joined:  05/18/19
  • Last Seen:  

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

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  81
  • Reputation:   14
  • Joined:  11/17/17
  • Last Seen:  

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;

 

Link to comment
Share on other sites

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.

×
×
  • Create New...