?? teller.c
字號:
// teller.c
inherit NPC;
void tell_fortune();
int do_forge();
void create()
{
set_name("李鐵嘴", ({ "fortune teller", "teller" }) );
set("gender", "男性" );
set("age", 48);
set("long",
"李鐵嘴是個買卜算卦的江湖術士,兼代客寫書信、調幅。\n");
set("str", 25);
set("dex", 20);
set("con", 17);
set("int", 15);
set("shen_type", -1);
set_skill("unarmed", 30);
set_skill("dodge", 25);
set_temp("apply/attack", 25);
set_temp("apply/defense", 25);
set("combat_exp", 2500);
set("attitude", "peaceful");
set("inquiry", ([
// "算命" : (: tell_fortune :),
"寫信" : "李鐵嘴說道:代客寫信,每頁五十文。\n",
"寫調幅" : "李鐵嘴說道:可以用各家字跡寫調幅,每幅五兩白銀。\n",
"偽造" : (: do_forge :),
]) );
setup();
add_money("silver", 5);
}
int do_forge()
{
say("李鐵嘴兩只眼睛四下掃了掃,「嘿嘿嘿」的干笑了幾聲...\n");
write(
"李鐵嘴輕聲跟你說道:不是我吹牛,保證驀的跟原來字體一模一樣,每封信\n"
" 五十兩白銀,不二價。\n");
this_player()->set_temp("marks/李", 1);
return 1;
}
int accept_object(object who, object ob)
{
object letter;
letter = new(__DIR__"obj/letter");
if ((string)ob->query("id")=="letter paper") {
if( who->query_temp("marks/李") ) {
this_player()->set_temp("marks/李3", 1);
write(
"李鐵嘴對你說道:造封信容易,先拿五十兩銀子來。\n");
this_player()->set_temp("marks/李", 0);
call_out("destroy", 1, ob);
return 1;
} else if( who->query_temp("marks/李2") ) {
write(
"李鐵嘴皮笑肉不笑的對你說道:偽造這封信可是關系重大啊,得多收五十兩。\n");
this_player()->set_temp("marks/李4", 1);
this_player()->set_temp("marks/李2", 0);
call_out("destroy", 1, ob);
return 1;
}
// say("李鐵嘴說:這是寫好了的信,給我干什么?\n");
return 0;
}
if( ob->value() >= 5000 ) {
if( who->query_temp("marks/李4") ) {
write(
"李鐵嘴對你說道:這封信是造好了,但" + RANK_D->query_respect(who) +
"要是出了事,千萬別把我說出來呀。\n");
say("李鐵嘴給了" + who->query("name") + "一封手信。\n");
this_player()->set_temp("marks/李4", 0);
letter->move(who);
return 1;
}
if( who->query_temp("marks/李3") ) {
write(
"李鐵嘴皮笑肉不笑的對你說道:偽造這封信可是關系重大啊,得多收五十兩。\n");
this_player()->set_temp("marks/李4", 1);
this_player()->set_temp("marks/李3", 0);
return 1;
}
if( who->query_temp("marks/李") ) {
write(
"李鐵嘴對你說道:你想偽造什么啊? 總得拿個樣子來吧。\n");
this_player()->set_temp("marks/李2", 1);
this_player()->set_temp("marks/李", 0);
return 1;
}
say(
"李鐵嘴一面急忙把錢收起來,一面笑嘻嘻說道:" + RANK_D->query_respect(ob) +
",這怎么敢當。\n");
return 1;
}
if( ob->value() >= 500 ) {
say(
"李鐵嘴笑嘻嘻說道:調幅寫好了,請您收起來吧,多謝關照。\n");
return 1;
}
if( ob->value() >= 50 ) {
say(
"李鐵嘴笑嘻嘻說道:信寫完了,您收好了,多謝關照。\n");
return 1;
}
return 0;
}
void destroy (object ob)
{
destruct(ob);
return;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -