本文整理汇总了C#中NpcScript.CompletePtj方法的典型用法代码示例。如果您正苦于以下问题:C# NpcScript.CompletePtj方法的具体用法?C# NpcScript.CompletePtj怎么用?C# NpcScript.CompletePtj使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NpcScript
的用法示例。
在下文中一共展示了NpcScript.CompletePtj方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("You have some other job?<br/>Shearing is the best part-time job.<br/>You'll understand once you try it."));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
npc.Msg(L("You still have time left.<br/>Come back later."));
else
npc.Msg(L("How's everything going?<br/>"));
return;
}
// Report?
npc.Msg(L("Did you finish shearing the sheep?<br/>Let me see if you're done.<br/>If not, you can report it to me later."), npc.Button(L("Report Now"), "@report"), npc.Button(L("Report Later"), "@later"));
if (await npc.Select() != "@report")
{
npc.Msg(L("You can show me later if you're not done.<br/>But even if you are not done, don't forget to report it before the deadline.<br/>I'll just pay for what you have."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("Hey, this isn't enough...<br/>I won't pay you a penny."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Wow, <username/>, you are quite a worker. Nicely done.<br/>I will give you anything you want from here as a bonus.<br/>But you'd better not complain about the selections!"), npc.Button(L("Report Later"), "@later"), npc.PtjReport(result));
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(L("You can show me later if you're not done.<br/>But even if you are not done, don't forget to report it before the deadline.<br/>I'll just pay for what you have."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Nice!<br/>Keep up the good work."));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("It's a little less than what you promised,<br/>but I guess it's not that bad. Good enough."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("Hey, this is it?<br/>There's no more? Then this is all I can give you."));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("It's not time for part-time jobs yet.<br/>Come back later."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("Ah, I have enough wool for the day.<br/>Want to try again tomorrow?"));
return;
}
// Offer PTJ
var randomPtj = npc.RandomPtj(JobType, QuestIds);
// Msg is kinda unofficial, she currently says the following, and then
// tells you you'd get Homestead seeds.
npc.Msg(L("Do you want a part-time shearing job?"), npc.PtjDesc(randomPtj, L("Shepherd Boy Deian's Shearing Part-Time Job"), L("Looking for material collectors."), PerDay, remaining, npc.GetPtjDoneCount(JobType)));
if (await npc.Select() == "@accept")
//.........这里部分代码省略.........
示例2: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("Hmm... You seem to be on a different job.<br/>Why don't you finish that first and come back later?"));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
npc.Msg(L("Did you finish all the work I requested?<br/>It's a bit early for that now.<br/>Please come back at the deadline."));
else
npc.Msg(L("How's it going?<br/>"));
return;
}
// Report?
npc.Msg(L("Are you ready to show me what you've got?<br/>Or if you haven't finished it yet, you can report later."), npc.Button(L("Report Now"), "@report"), npc.Button(L("Report Later"), "@later"));
if (await npc.Select() != "@report")
{
npc.Msg(L("Okay then, I'll see you later.<br/>You know you have to report back even if you don't finish the job, right?"));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("Are you here to work or what? Why did you even ask for the job in the first place?<br/>Sorry, but I can't pay you anything."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Wow! What a fine job! Thank you so much.<br/>This is a token of my gratitude.<br/>Take any one of these.<br/>Ahem! Taking more than one would be greedy..."), npc.Button(L("Report Later"), "@later"), npc.PtjReport(result));
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(L("Okay then, I'll see you later.<br/>You know you have to report back even if you don't finish the job, right?"));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Oh, thank you so much! You're really good!<br/>Can you help me again tomorrow?"));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("Oh... A bit short... But thanks anyway.<br/>I'll have to pay you a little less, though."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("Huh?! This is less than I asked for! Well...<br/>I can only pay you this much."));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("I'm sorry... This isn't the right time for a part-time job.<br/>Please come back later."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("That's it for today's Grocery Store work.<br/>I'll give you a new task when you come tomorrow."));
return;
}
// Offer PTJ
var randomPtj = npc.RandomPtj(JobType, QuestIds);
// Msg is kinda unofficial, she currently says the following, and then
// tells you you'd get Homestead seeds.
npc.Msg(L("Ah, <username/>! Are you here for part-time work as usual?"), npc.PtjDesc(randomPtj, L("Caitin's Grocery Store Part-Time Job"), L("Looking for help with delivery of goods in Grocery Store."), PerDay, remaining, npc.GetPtjDoneCount(JobType)));
if (await npc.Select() == "@accept")
//.........这里部分代码省略.........
示例3: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("Well, you seem to be involved in another part-time job right now.<br/>Is that right?"));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
npc.Msg(L("My, someone's in a hurry.<br/>It's not the deadline yet, so why don't you come back later?<p/>Now, I'll see you back here by the deadline."));
else
npc.Msg(L("How's the work going?"));
return;
}
// Report?
npc.Msg(L("Do you want to call it a day?<br/>You can report later if you're not finished yet."),
npc.Button(L("Report Now"), "@report"),
npc.Button(L("Report Later"), "@later")
);
if (await npc.Select() != "@report")
{
npc.Msg(L("Still have some work left to do, do you?<br/>Either way, please make sure to report by the deadline."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("You know what? It's ok.<br/>If you didn't do your work, I won't need to pay you. Simple as that."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Mmm? I didn't know you would do such a good job.<br/>You are a very meticulous worker, <username/>.<br/>I know this doesn't do justice for the excellent work you've done, but<br/>I've prepared a few things as a token of my gratitude. Take your pick."),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("Hahaha. It must be a difficult choice."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Great! 10 out of 10!<br/>Please keep up the good work next time, too."));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("I'd say... 6 out of 10.<br/>Your pay will only be that much, too."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("Did you put in any effort at all?<br/>My, my!"));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("Are you here for work?<br/>Sorry, but it's not business hours yet."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("Didn't you just work here?<br/>You have to take care of yourself. Don't overwork yourself."));
return;
}
// Offer PTJ
var randomPtj = npc.RandomPtj(JobType, QuestIds);
//.........这里部分代码省略.........
示例4: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
if(npc.DoingPtjForOtherNpc())
{
npc.Msg("You have other things to do, right?<br/>If you need the Holy Water of Lymilark, can you come back after you are finished with your work?");
return;
}
if(npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
if(!npc.ErinnHour(Report, Deadline))
{
if(result == QuestResult.Perfect)
npc.Msg("It seems you took care of your end of the bargain.<br/>I'm a little busy right now, but come back later so I can compensate you for your work.");
else
npc.Msg("How are you doing with the part-time job for the Church today?<br/>I have the utmost faith in you, <username/>.");
return;
}
npc.Msg("Did you finish the part-time job I gave you?<br/>If you are done, you can report the results to me. Do you want to do so now?<button title='Report Now' keyword='@report' /><button title='Report Later' keyword='@later' />");
if(await npc.Select() != "@report")
{
npc.Msg("You don't want to report yet?<br/>Please make sure to come back and report before the deadline.");
return;
}
if(result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), "I'm sorry,<br/>but I cannot give you the Holy Water of Lymilark unless you complete the task I've asked you to take care of.<br/>Please work harder next time.");
npc.ModifyRelation(0, -Random(3), 0);
}
else
{
npc.Msg("Well done, <username/>. I feel very relieved thanks to you.<br/>In appreciation of all the hard work you've put in for the Church,<br/>I prepared some things for you.<br/>I'd love to give you all these if I could, but I can't. Please pick one.<button title='Report Later' keyword='@later' />" + npc.GetPtjReportXml(result));
var reply = await npc.Select();
if(!reply.StartsWith("@reward:"))
{
npc.Msg("You don't want to report yet?<br/>Please make sure to come back and report before the deadline.");
return;
}
npc.CompletePtj(reply);
remaining--;
if(result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), "Thanks. You took care of everything I've asked for.<br/>As promised, I will give you the Holy Water of Lymilark.");
npc.ModifyRelation(0, Random(3), 0);
}
else if(result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), "It's a bit short of what I asked for,<br/>but I appreciate your help.<br/>I will give you the Holy Water of Lymilark in return.");
npc.ModifyRelation(0, Random(1), 0);
}
else if(result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), "Did you run out of time?<br/>You completed only a portion of what I asked for.<br/>I'm sorry, but that's not good enough for me to give you the Holy Water of Lymilark.");
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
if(!npc.ErinnHour(Start, Deadline))
{
npc.Msg("Are you willing to help the Church?<br/>It's a bit early, though. Please come back at a later time.");
return;
}
if(!npc.CanDoPtj(JobType, remaining))
{
npc.Msg("Today's part-time jobs are all taken.<br/>If you need some Holy Water of Lymilark, please come back tomorrow.");
return;
}
var randomPtj = npc.RandomPtj(JobType, QuestIds);
var ptjXml = npc.GetPtjXml(randomPtj, "Endelyon's Church Part-Time Job", "Looking for help with delivering goods to Church.", PerDay, remaining);
var msg = "";
if(npc.GetPtjDoneCount(JobType) == 0)
msg = "Our Church is looking for a kind soul to help take care of our crops.<br/>The main job is to harvest wheat or barley from the farmland located south of the Church.<br/>One thing to note: because of our tight budget, we cannot afford to pay in gold.<p/>Instead, anyone who completes the job will receive some Holy Water of Lymilark,<br/>which can be used to bless items.<br/>Blessed items do not fall to the ground<br/>when its owner is knocked unconscious.<br/>Now, what do you say?";
else
msg = "Are you here for the Holy Water of Lymilark again?<br/>Please take a look at today's part-time job and tell me if you want it.";
npc.Msg(msg + ptjXml);
if(await npc.Select() == "@accept")
{
npc.Msg("Thank you.<br/>Please take care of this on time.");
npc.StartPtj(randomPtj);
}
else
{
npc.Msg("If you don't want to do it, then I guess that's that.");
//.........这里部分代码省略.........
示例5: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("Are you working on a different part-time job?<br/>Well, then. Please help me in the future when you have a chance."));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
npc.Msg(L("Ah, you are here already?<br/>It's a little bit too early. Can you come back around the deadline?"));
else
npc.Msg(L("I hope you didn't forget what I asked you to do.<p/>Please have it done by the deadline."));
return;
}
// Report?
npc.Msg(L("Did you complete the task I requested?<br/>You can report now and finish it up,<br/>or you may report it later if you're not done yet."), npc.Button(L("Report Now"), "@report"), npc.Button(L("Report Later"), "@later"));
if (await npc.Select() != "@report")
{
npc.Msg(L("Please report before the deadline is over.<br/>Even if the work is not done, you should still report.<br/>Then I can pay you for what you've completed."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("Ha ha. This is a little disappointing.<br/>I don't think I can pay you for this."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("You are quite skillful, <username/>.<br/>Now there's nothing to worry about even if I get too much work. Ha ha.<br/>Please choose what you want. You deserve it.<br/>I'd like to give it to you as a compensation for your hard work."), npc.Button(L("Report Later"), "@later"), npc.PtjReport(result));
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(L("Please report before the deadline is over.<br/>Even if the work is not done, you should still report.<br/>Then I can pay you for what you've completed."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Great! You have done well as I requested.<br/>I hope you can help me again next time."));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("Thank you. Although you didn't complete the job, you've done enough so far.<br/>But I'm sorry to tell you I must deduct a little from your pay."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("Hmm... It's not exactly what I expected, but thank you.<br/>I'm afraid this is all I can pay you."));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("Hmm... It's not a good time for this.<br/>Can you come back when it is time for part-time jobs?"));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("I'm all set for today.<br/>Will you come back tomorrow?"));
return;
}
// Offer PTJ
var randomPtj = npc.RandomPtj(JobType, QuestIds);
// Msg is kinda unofficial, she currently says the following, and then
// tells you you'd get Homestead seeds.
npc.Msg(L("Are you here for a part-time job at my Inn again?"), npc.PtjDesc(randomPtj, L("Piaras's Inn Part-time Job"), L("Looking for help with delivering goods to Inn."), PerDay, remaining, npc.GetPtjDoneCount(JobType)));
if (await npc.Select() == "@accept")
//.........这里部分代码省略.........
示例6: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("Do you need holy water?<br/>If you come after you have finished the work that you are doing now, I will give you a task that's related to holy water."));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
npc.Msg(L("You will have to wait a little longer for the deadline today."));
else
npc.Msg(L("It is not the deadline yet.<br/>Anyway, are you doing the work I have asked you to do?"));
return;
}
// Report?
npc.Msg(L("It is the deadline.<br/>Shall we see whether you have completed your tasks?"),
npc.Button(L("Report Now"), "@report"),
npc.Button(L("Report Later"), "@later")
);
if (await npc.Select() != "@report")
{
npc.Msg(L("Very well.<br/>But, please do report to me before the deadline."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("If you ignore the tasks you promised to carry out,<br/>I cannot help you much, either."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Thank you for a job well done.<br/>For that, I have prepared a few things.<br/>I cannot part with all of them, but<br/>why don't you pick one that you like?"),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("Hmm? Would you rather do it next time?<br/>Whatever works for you, then."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Thank you.<br/>You have not disappointed me, as expected."));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("It seems that you have not completely finished the given tasks.<br/>But, you also seem to have done your best, <username/>,<br/>so I will give you a reward for that."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("Pardon my criticism,<br/>but you seem to have neglected your tasks and focused on something else.<br/>I will give you a partial compensation."));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("I appreciate your willingness to help,<br/>but it is not time yet for me to assign tasks."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("There doesn't seem to be much else you can help with today.<br/>Let's talk again tomorrow."));
return;
}
// Offer PTJ
//.........这里部分代码省略.........
示例7: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("Are you working for someone else right now?<br/>If you want to help me, go finish that job first, then come back."));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
npc.Msg(L("You have to wait until the deadline.<br/>You're gonna have to wait a little more."));
else
npc.Msg(L("It's not the deadline yet.<br/>By the way, are you doing the work that I asked you to do?<br/>I need you to do a good job."));
return;
}
// Report?
npc.Msg(L("I hope you finished your work.<br/>Let's see how you did."),
npc.Button(L("Report Now"), "@report"),
npc.Button(L("Report Later"), "@later")
);
if (await npc.Select() != "@report")
{
npc.Msg(L("Let me know when you're done, Ok?"));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("What is this! If you agreed to work, then you should keep your promise!<br/>What do you take me for?"));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Hehe... Thank you for your hard work..<br/>I have a few things I want to show you...<br/>Why don't you pick something you like?"),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("Don't tell me you don't like what I prepared for you?<br/>Hehe... I'm kidding."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Oh, thanks.<br/>I'll give you the reward that I promised."));
npc.ModifyRelation(0, Random(3), 0);
}
else
{
npc.Msg(npc.FavorExpression(), L("Hmm...<br/>Even a kid like me could do better than this.<br/>You should be ashamed of yourself."));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("It's too early for work."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("Hmm... That's enough for today.<br/>Can you come back tomorrow?"));
return;
}
// Offer PTJ
var randomPtj = npc.RandomPtj(JobType, QuestIds);
var msg = "";
if (npc.GetPtjDoneCount(JobType) == 0)
msg = L("Alright, if you've heard about my family,<br/>then I take it that you know what kind of work you'll be doing?<br/>You're going to need a good grip on that Pickaxe.");
//.........这里部分代码省略.........
示例8: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("So, you want to work at a Healer's House, do you?<br/>I appreciate your enthusiasm, but finish the work you're doing first."));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
npc.Msg(L("It's not the deadline yet. Come back later.<p/>Alright. I'll see you later!"));
else
npc.Msg(L("I trust that your work is going well?"));
return;
}
// Report?
npc.Msg(L("So, do you want to wrap up today's work here?<br/>You can report and finish the work without completing it,<br/>but it's good to finish something you've started."),
npc.Button(L("Report Now"), "@report"),
npc.Button(L("Report Later"), "@later")
);
if (await npc.Select() != "@report")
{
npc.Msg(L("Alright! Go for it!<br/>I look forward to your report!"));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("Weak.<br/>If you keep this up,<br/>you'll never get paid."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Ha ha. I knew I was an excellent judge of character!<br/>Now, I should pay you for the work you have done, hmm? Take your pick here.<br/>I have to give to other workers, too, so don't even think about taking them all! Hahaha."),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("Eh? What, are you going to just leave?"));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Alright! Well done!<br/>You've worked hard."));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("Hmm. That's not quite enough.<br/>I'll deduct it from your pay."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("Is this the best you can do?<br/>Then I have no choice but to pay only a little."));
npc.ModifyRelation(0, -Random(2), 0);
}
// Herbalism quest
if (npc.GetPtjSuccessCount(JobType) >= 10 && !npc.HasSkill(SkillId.Herbalism) && !npc.HasQuest(200042) && !npc.HasQuest(200063))
{
// Unofficial/Copy of Dilys
npc.Msg(L("Say, <username/>. Do you have any interest in learning Herbalism?<br/>You've been such a great help to me here, I thought you might be interested in becoming a healer.<br/>If you're interested in Herbalism, I have a favor to ask you.<br/>If you do it, then I'll teach you."), npc.Button(L("I will do it"), "@yes"), npc.Button(L("No, thanks"), "@no"));
if (await npc.Select() == "@yes")
{
npc.SendOwl(200042); // Gather Base Herb (Manus)
npc.Msg(L("You sound really interested in becoming a healer...<br/>If you step outside, an owl will deliver my request to you."));
}
else
{
npc.Msg(L("Really?<br/>Then, I will see you next time when you need another part-time job."));
}
}
}
return;
}
//.........这里部分代码省略.........
示例9: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("The Church also needs workers.<br/>Please pay a visit here once you finish the current task."));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
{
npc.Msg(L("You have finished already?<br/>It is a little too early, so would you mind returning later?"));
}
else
{
npc.Msg(L("I trust that the assigned task is going well?<br/>The deadline is not past yet, so please do your best."));
}
return;
}
// Report?
npc.Msg(L("It seems that you have completed the given task.<br/>If you would like, we can call it a day here."),
npc.Button(L("Report Now"), "@report"),
npc.Button(L("Report Later"), "@later")
);
if (await npc.Select() != "@report")
{
npc.Msg(L("If not right now, please make sure to report to me before the deadline.<br/>You have to at least report back to me even if you do not completely finish your task."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("Oh, good heavens!<br/><username/>, I trusted you with this and this is all you have done. How disappointing.<br/>I cannot pay you for this."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Mmm? I did not know you would do such a good job.<br/>You are a very meticulous worker, <username/>.<br/>I know this does not do justice for the excellent work you have done, but<br/>I have prepared a few things as a token of my gratitude. Please, take your pick."),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("You seem to be busy all the time, <username/>."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Great! You have done very well.<br/>Here is the Holy Water as promised."));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("Thank you for your help.<br/>But, it is a little less than what was asked for.<br/>Anyway, I will pay you for what has been completed."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("Hmm. You have not adequately completed your work.<br/>Did you not have enough time?<br/>I cannot give you the Holy Water, then."));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("Oh, no. It is not time for Church duties yet.<br/>Would you return later?"));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("Today's work has been completed.<br/>Only one task is given to one person per day.<br/>Please return tomorrow."));
return;
//.........这里部分代码省略.........
示例10: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("Just finish what you're doing."));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
{
npc.Msg(L("It's not time yet."));
}
else
{
npc.Msg(L("Is everything alright?"));
}
return;
}
// Report?
npc.Msg(L("Have you finished your work?"), npc.Button(L("Report Now"), "@report"), npc.Button(L("Report Later"), "@later"));
if (await npc.Select() != "@report")
{
npc.Msg(L("Come when you're finished."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("Don't ever come here again!"));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Phew... Well done.<br/>Take your pick."),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("Hah..."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Good!"));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("This is not enough..."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("What is this!"));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("It's not the right time."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("That's it for today."));
return;
}
// Offer PTJ
//.........这里部分代码省略.........
示例11: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("Are you working for someone else?<br/>Can you help me after you're finished?"));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
npc.Msg(L("You're a little early.<br/>Report to me when it's closer to the deadline."));
else
npc.Msg(L("How's it going?"));
return;
}
// Report?
npc.Msg(L("Did you complete the job I asked you to do?<br/>You can report to me even if you have not finished it<br/>and I will pay you for what you have done."), npc.Button(L("Report Now"), "@report"), npc.Button(L("Report Later"), "@later"));
if (await npc.Select() != "@report")
{
npc.Msg(L("Good, I trust you.<br/>Please make sure to report before the deadline."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("Are you feeling sick?<br/>You should rest instead of working so hard.<br/>But, a promise is a promise. I am sorry, but I can't pay you this time."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Nice job, <username/>. You did great.<br/>For now, this is all I can give you as a token of my gratitude.<br/>Please choose one."), npc.Button(L("Report Later"), "@later"), npc.PtjReport(result));
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(L("Yes, <username/>.<br/>even if you come back later, I will hold on to your pay.<br/>But don't be too late."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Fine job. Just what I asked!<br/>Thank you very much."));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("You didn't bring me enough this time.<br/>I am sorry, but I will have to deduct it from your pay."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("You don't seem to be at the top of your game today.<br/>Sorry, I can only pay you for what you've completed."));
npc.ModifyRelation(0, -Random(2), 0);
}
// Herbalism quest
if (npc.GetPtjSuccessCount(JobType) >= 10 && !npc.HasSkill(SkillId.Herbalism) && !npc.HasQuest(200042) && !npc.HasQuest(200063))
{
npc.Msg(L("Say, <username/>. Do you have any interest in learning Herbalism?<br/>You've been such a great help to me here, I thought you might be interested in becoming a healer.<br/>If you're interested in Herbalism, I have a favor to ask you.<br/>If you do it, then I'll teach you."), npc.Button(L("I will do it"), "@yes"), npc.Button(L("No, thanks"), "@no"));
if (await npc.Select() == "@yes")
{
npc.SendOwl(200063); // Gather Base Herb (Dilys)
npc.Msg(L("You sound really interested in becoming a healer...<br/>If you step outside, an owl will deliver my request to you."));
}
else
{
npc.Msg(L("Really?<br/>Then, I will see you next time when you need another part-time job."));
}
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("It's not time to start work yet.<br/>Can you come back and ask for a job later?"));
return;
}
//.........这里部分代码省略.........
示例12: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("You seem to be working on something else already....<br/>It's probably a good idea to finish what you're working on first."));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
{
npc.Msg(L("I'm a little busy right now. Would you mind coming back later?"));
}
else
{
npc.Msg(L("How's the work going? You'll be fine."));
}
return;
}
// Report?
npc.Msg(L("Are you done with the task I gave you?<br/>If not, you can come back later."),
npc.Button(L("Report Now"), "@report"),
npc.Button(L("Report Later"), "@later")
);
if (await npc.Select() != "@report")
{
npc.Msg(L("Then please come back later."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("You didn't want to work, did you?<br/>I can't pay you, then."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("So... How shall I put this?<br/>This is a way of saying thank you for all the hard work you've done for me...<br/>Please pick something that you'll find useful."),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("Yes, you can do it next time.<br/>I'll see you later."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Wow, thank you!<br/>Can you help me out again tomorrow?"));
npc.ModifyRelation(0, Random(3), 0);
}
else
{
// Aeira doesn't have any PTJ quests that could yield
// mid/low results.
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("Oh no. It's not time for a part-time job, yet.<br/>Please come back later."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("I'm done for today!<br/>Please come again tomorrow."));
return;
}
// Offer PTJ
var randomPtj = npc.RandomPtj(JobType, QuestIds);
var msg = "";
//.........这里部分代码省略.........
示例13: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("You can do only one part-time job per day.<br/>You're done for the day, so find something else to do."));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
npc.Msg(L("What? Already finished everything?<br/>Man, that's the spirit.<br/>But there's still time left before the deadline.<br/>Come back a little later. Haha..."));
else
npc.Msg(L("Chopping enough firewood?"));
return;
}
// Report?
npc.Msg(L("Got enough firewood?<br/>Report to me later if you need more time.<br/>If you want to finish it now, I can pay for what you did so far."),
npc.Button(L("Report Now"), "@report"),
npc.Button(L("Report Later"), "@later")
);
if (await npc.Select() != "@report")
{
npc.Msg(L("Right. That's it.<br/>Things done by halves are never done right!<br/>Just finish it before the deadline."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("What is this? A joke?<br/>Don't even think about a payment!"));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Hear, Hear! <username/> just did another wonderful job!<br/>Outstanding, you are a lucky guy today. Just take anything you want from here. Haha!"),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("What's this? Are you saying you don't like the reward<br/>Tracy the Lumberjack prepared for you?"));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Hmm...<br/>Good! That's good enough."));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("Well, not bad.<br/>Put a little more effort next time."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("What... You think this is a joke?<br/>That's all I can pay.<br/>And I won't accept results like this next time."));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("You want a logging job?<br/>This is not the right time. Come back later.<br/>When the shadow's in the northwest... I think 7 o'clock in the morning will do."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("You can do only one part-time job per day.<br/>You're done for the day, so find something else to do."));
return;
}
// Offer PTJ
var randomPtj = npc.RandomPtj(JobType, QuestIds);
//.........这里部分代码省略.........
示例14: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("You seem to have another job. Don't you think you should finish that first?"));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
{
npc.Msg(L("Now is not the time. Want to come back later?"));
}
else
{
npc.Msg(L("I trust that the work is going well?<p/>I'm getting worried for no reason."));
}
return;
}
// Report?
npc.Msg(L("Did you finish today's work?<br/>If so, would you like to report now and wrap it up?"),
npc.Button(L("Report Now"), "@report"),
npc.Button(L("Report Later"), "@later")
);
if (await npc.Select() != "@report")
{
npc.Msg(L("I look forward to your work."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("*Sigh*<br/>If you're going to be like this, don't even start working next time."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Wow, you're not bad at all. I thought it would be rather difficult for you.<br/>Ha. Then take your pick among these items.<br/>Thank you for the hard work, <username/>."),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("Well, then I guess I'll see you next time.<br/>Someone else might take away all the good stuff in the meantime, though."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Wow, it's perfect!<br/>Thanks for the help."));
npc.ModifyRelation(0, Random(3), 0);
}
else
{
// Nerys doesn't have any PTJ quests that could yield
// mid/low results.
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("Come back during the business hours."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("Today's work is done. Come back tomorrow."));
return;
}
// Offer PTJ
var randomPtj = npc.RandomPtj(JobType, QuestIds);
var msg = "";
//.........这里部分代码省略.........
示例15: AboutArbeit
public async Task AboutArbeit(NpcScript npc)
{
// Check if already doing another PTJ
if (npc.DoingPtjForOtherNpc())
{
npc.Msg(L("Are you trying to do this while working on another part-time job?<br/>Hahaha, that's greedy!"));
return;
}
// Check if PTJ is in progress
if (npc.DoingPtjForNpc())
{
var result = npc.GetPtjResult();
// Check if report time
if (!npc.ErinnHour(Report, Deadline))
{
if (result == QuestResult.Perfect)
{
npc.Msg(L("I'm sorry, but I'm really busy right now...<br/>Can you please come back in a bit?"));
}
else
{
npc.Msg(L("How's work going along so far?<br/>You haven't found anyone that claims to have lost the book, though, right?"));
}
return;
}
// Report?
npc.Msg(L("Did you get all the books?"),
npc.Button(L("Report Now"), "@report"),
npc.Button(L("Report Later"), "@later")
);
if (await npc.Select() != "@report")
{
npc.Msg(L("Please come back after you're done collecting books."));
return;
}
// Nothing done
if (result == QuestResult.None)
{
npc.GiveUpPtj();
npc.Msg(npc.FavorExpression(), L("This is not good...<br/>Hope you'll get the job done another time."));
npc.ModifyRelation(0, -Random(3), 0);
}
// Low~Perfect result
else
{
npc.Msg(L("Thank you for a job well done.<br/>Would you like to choose your reward?"),
npc.Button(L("Report Later"), "@later"),
npc.PtjReport(result)
);
var reply = await npc.Select();
// Report later
if (!reply.StartsWith("@reward:"))
{
npc.Msg(npc.FavorExpression(), L("Having a hard time choosing?<br/>Please take your time and think carefully about your reward..."));
return;
}
// Complete
npc.CompletePtj(reply);
remaining--;
// Result msg
if (result == QuestResult.Perfect)
{
npc.Msg(npc.FavorExpression(), L("Great Job. Thank you very much."));
npc.ModifyRelation(0, Random(3), 0);
}
else if (result == QuestResult.Mid)
{
npc.Msg(npc.FavorExpression(), L("I don't think you got all of them.<br/>Oh well...<br/>Hopefully you can do better another time."));
npc.ModifyRelation(0, Random(1), 0);
}
else if (result == QuestResult.Low)
{
npc.Msg(npc.FavorExpression(), L("Hmmm... did you just skip the whole thing? This isn't good..."));
npc.ModifyRelation(0, -Random(2), 0);
}
}
return;
}
// Check if PTJ time
if (!npc.ErinnHour(Start, Deadline))
{
npc.Msg(L("I'm sorry, but I can't give you work right now."));
return;
}
// Check if not done today and if there are jobs remaining
if (!npc.CanDoPtj(JobType, remaining))
{
npc.Msg(L("You've already done this today...<br/>Did you forget that? Haha..."));
return;
//.........这里部分代码省略.........