📄 npc_gvg_steward.txt
字号:
//=========================================================================
// 管理人的全部函数
// callfunc "StewardMain","AgitCode",MasterRoomX,MasterRoomY;
//
// ■ parse结束处理
// 里面全部使用close指令,它带有end指令的效果。但也可以自行在后面添加end指令
//
// ■ function
// 「设置监护人」的时候调用 function "GuardianCall"
// 「让出秘密基地」的时候调用 function "AgitGiveUp" (npc_gvg_monster.txt)
//
// ※ NPC名字用strnpcinfo()取得、NPC所在的MAP使用getmapxy()取得
// 汉化和修正 : FPE
// Jathena++ 论坛:http://www.foxofice.net/bbs
//-------------------------------------------------------------------------
function script StewardMain {
//问候部分
function StewardSpeech {
set '@dummy,getmapxy('@map$,'@dummy,'@dummy,1); //'@map$以外的都是虚设的
set '@gid,getcastledata('@map$,1);
if('@gid <= 0) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "我将依据我的命运";
mes "在等待我的主人。";
mes "勇士啊…";
mes "试验一下你的命运吧。";
close;
}
if(getcharid(0) != getguildmasterid('@gid)) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "不管你们怎么威胁我";
mes "我只愿意追随我的主人^ff0000" +getguildmaster('@gid);
mes "^000000监护人你们在哪里呀!";
mes "赶快把这个无理的家伙赶走吧!";
close;
}
mes "[管理人"+strnpcinfo(0)+"]";
mes "欢迎光临,我的主人 ^ff0000" +strcharinfo(0)+ "^000000 先生/小姐。";
mes "请尽管吩咐,我将忠诚地为您完成任务。";
next;
return;
}
//查看秘密基地状况
function StewardConf {
set '@dummy,getmapxy('@map$,'@dummy,'@dummy,1);
mes "[管理人"+strnpcinfo(0)+"]";
mes "现在向您报告秘密基地的状况。";
mes " ";
mes "^0000ff现在商业发展度是" +getcastledata('@map$,2)+ "。";
if(getcastledata('@map$,4) != 0)
mes "- 在过去1天之内,投资了 " +getcastledata('@map$,4)+ " 次。";
mes "現在の防御値は" +getcastledata('@map$,3)+ " です。^000000";
if(getcastledata('@map$,5) != 0)
mes "^0000ff- 在过去1天之内,投资了 " +getcastledata('@map$,5)+ " 次。^000000";
mes " ";
mes "报告完毕。";
return;
}
//投资商业发展度
function StewardEco {
set '@dummy,getmapxy('@map$,'@dummy,'@dummy,1);
mes "[管理人"+strnpcinfo(0)+"]";
mes "提高商业发展度的话";
mes "在工会里生产的物品数量会增加";
mes "为了以后着想的话";
mes "不能不投资啊。";
next;
mes "[管理人"+strnpcinfo(0)+"]";
mes "照原先的方式,一天只能投资一次";
mes "假如多付一点金钱的话";
mes "一天可以投资两次。";
next;
set '@count,getcastledata('@map$,4);
if('@count == 2) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "^ff0000可是您已经在今天之内投资了两次";
mes "再不能投资了。";
mes "^000000让发展度赶快上升";
mes "期待着富贵的日子啰。";
close;
}
set '@val,getcastledata('@map$,2);
if('@val == 100) { //未调查
mes "[管理人"+strnpcinfo(0)+"]";
mes "^ff0000现在的发展度已经是最大值了。";
mes "^000000所以不需要再投资了。";
close;
}
set '@tmp,('@val-'@count)/5;
set '@price,5000*(1+(1+'@tmp)*'@tmp/2)*(1+3*'@count);
switch('@count) {
case 0:
mes "[管理人"+strnpcinfo(0)+"]";
mes "现在需要的投资金额是";
mes "^ff0000" +'@price+ "^000000 Zeny";
mes "请问您要投资吗?";
break;
case 1:
mes "[管理人"+strnpcinfo(0)+"]";
mes "现在您已经投资了一次";
mes "还要再投资吗?";
mes "需要花费 ^ff0000" +'@price+ "^000000 Zeny";
break;
}
next;
if(select("对商业发展度投资","取消")==2) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "我明白了。";
mes "不需要太着急的。";
mes "有什么要求可以随时告诉我。";
close;
}
if(Zeny < '@price) { //未调查
mes "[管理人"+strnpcinfo(0)+"]";
mes "主人!";
mes "没有足够的金额进行投资。";
mes "投资被迫取消了。";
close;
}
set Zeny,Zeny-'@price;
setcastledata '@map$,4,'@count+1;
mes "[管理人"+strnpcinfo(0)+"]";
mes "顺利地完成投资了!";
mes "今后的日子将会越来越快乐。";
mes "从明天开始发展度会上升的。";
return;
}
//投资防御度
function StewardDef {
set '@dummy,getmapxy('@map$,'@dummy,'@dummy,1);
mes "[管理人"+strnpcinfo(0)+"]";
mes "提高防御力的话";
mes "监护人和华丽金属的耐久度会增加。";
mes "考虑到以后的战争";
mes "加强防御度才是上策。";
next;
mes "[管理人"+strnpcinfo(0)+"]";
mes "照原先的方式,一天只能投资一次";
mes "假如多付一点金钱的话";
mes "一天可以投资两次。";
next;
set '@count,getcastledata('@map$,5);
if('@count == 2) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "^ff0000可是你已经在今天之内投资了两次";
mes "再不能投资了。";
mes "^000000期待防御度的加强。";
close;
}
set '@val,getcastledata('@map$,3);
if('@val == 100) { //未调查
mes "[管理人"+strnpcinfo(0)+"]";
mes "^ff0000现在防御度已经是100%了。";
mes "^000000所以不需要再投资了。";
close;
}
set '@tmp,('@val-'@count)/5;
set '@price,10000*(1+(1+'@tmp)*'@tmp/2)*(1+3*'@count);
switch('@count) {
case 0:
mes "[管理人"+strnpcinfo(0)+"]";
mes "现在需要的投资金额是^ff0000" +'@price+ "^000000 Zeny";
mes "请问您要投资吗?";
break;
case 1:
mes "[管理人"+strnpcinfo(0)+"]";
mes "现在您已经投资了一次";
mes "还要再投资吗?";
mes "需要花费 ^ff0000" +'@price+ "^000000 Zeny";
break;
}
next;
if(select("对防御度投资","取消")==2) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "我明白了。";
mes "不需要太着急的。";
mes "有什么要求可以随时告诉我。";
close;
}
if(Zeny < '@price) { //未调查
mes "[管理人"+strnpcinfo(0)+"]";
mes "主人!";
mes "没有足够的金额进行投资。";
mes "投资被迫取消了。";
close;
}
set Zeny,Zeny-'@price;
setcastledata '@map$,5,'@count+1;
mes "[管理人"+strnpcinfo(0)+"]";
mes "顺利地完成投资了!";
mes "今后的日子将会越来越快乐。";
mes "从明天开始防御度会上升的。";
return;
}
//设置监护人
function StewardGuard {
set '@dummy,getmapxy('@map$,'@dummy,'@dummy,1);
mes "[管理人"+strnpcinfo(0)+"]";
mes "请问要设置监护人吗?";
mes "监护人即将成为";
mes "我们秘密基地的忠诚守护者。";
mes "请选择要设置的监护人。";
next;
//实际的Menu(参考B5)
//menu "弓箭手 监护人 - 未设置",L_MENU_1,"弓箭手 监护人 - 未设置",L_MENU_2,
// "士兵 监护人 - 未设置",L_MENU_3,"士兵 监护人 - 未设置",L_MENU_4,
// "骑士 监护人 - 未设置",L_MENU_5,"士兵 监护人 - 未设置",L_MENU_6,
// "骑士 监护人 - 未设置",L_MENU_7,"首领 监护人 - 未设置 (31214 / 31214)",L_MENU_8;
//
//設置できるか出来ないかの表示と、居た場合HPが表示される。
//また、居た場合でも設置動作可能であり、その場合HPを回復させることが出来る。
set '@ret,select("监护人 1","监护人 2","监护人 3","监护人 4","监护人 5","监护人 6","监护人 7","监护人 8")+9;
if(getcastledata('@map$,'@ret)) {
mes "[管理人"+strnpcinfo(0)+"]"; //未调查
mes "主人!";
mes "那里已经设置监护人了。";
mes " ";
mes "设置监护人被迫取消了。";
close;
}
mes "[管理人"+strnpcinfo(0)+"]";
mes "确定要设置已选择的监护人吗?";
mes "设置时需要^ff0000 10000 ^000000Zeny";
next;
if(select("设置","取消")==2) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "明白了。";
mes "假如有点资金上宽裕的话";
mes "设置监护人才是上策。";
close;
}
if(getgdskilllv(getcharid(2),GD_GUARDIANRESEARCH) == 0) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "主人…有关设置监护人的研究知识";
mes "我们全然不知唷。";
mes "想要累积设置监护人知识的话";
mes "必须要学习工会技能中的。";
mes "^ff0000监护人制作研究";
close;
}
if(Zeny < 10000) { //未調査
mes "[管理人"+strnpcinfo(0)+"]";
mes "主人!";
mes "没有足够的金额进行投资。";
mes "投资被迫取消了。";
close;
}
set Zeny,Zeny-10000;
setcastledata '@map$,'@ret,1;
callfunc "GuardianCall",getarg(0),'@ret,1; //召唤监护人(npc_gvg_monster.txt)
return;
}
//雇用·解雇卡普拉职员
function StewardKafra {
set '@dummy,getmapxy('@map$,'@dummy,'@dummy,1);
if(getcastledata('@map$,9)==0) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "和卡普拉总公司订契约后,";
mes "要在秘密基地里面,雇用卡普拉职员吗?";
mes "雇用时需要^ff0000 10000 ^000000Zeny…";
next;
if(select("雇用","取消")==2) {
mes "[管理人"+strnpcinfo(0)+"]";
mes "明白了。";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -