本文整理汇总了C++中call_out函数的典型用法代码示例。如果您正苦于以下问题:C++ call_out函数的具体用法?C++ call_out怎么用?C++ call_out使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了call_out函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sinking
int sinking(object ob)
{
int i;
int damage;
if( ob && environment(ob) == this_object())
{
message_vision(HIW"$N又在流沙中陷深了一些!!", ob);
message_vision("$N几乎在绝望中哭了出来!!\n"NOR, ob);
damage = random(5)+1;
i = (int)ob->query("kee");
ob->set("kee",(int) i - damage);
if( environment(ob) == this_object())
call_out("sinking",random(5)+5, ob);
}
else
return 1;
}
示例2: cmd_darkshift
int cmd_darkshift(string str) {
object ob;
int stealth, faith, intelligence, dex, stlth;
if (!abil()) {
notify_fail("What?\n");
return 0;
}
if(this_player()->query_ghost()) return 0;
if(this_player()->query_invis())
{
notify_fail("You are already walking in darkness.\n");
return 0;
}
stlth = (int)this_player()->query_skill("stealth");
dex = (int)this_player()->query_stats("dexterity");
faith = (int)this_player()->query_skill("faith");
intelligence = (int)this_player()->query_stats("intelligence");
stealth = ((stlth/3)+(dex)+(intelligence)+(faith/3));
if(stealth < 15) {
notify_fail("The demons laugh at you.\n");
return 0;
}
if((int)this_player()->query_sp() < 50) {
notify_fail("You are too tired.\n");
return 0;
}
if((int)this_player()->query_mp() < 75) {
notify_fail("You lack the magical energy needed.\n");
return 0;
}
this_player()->set_invis();
call_out("take_off", ((stlth/2)+dex+random(faith/2)), this_player());
this_player()->add_mp(-((faith/3)+random(faith/3)));
write("%^BLUE%^You shift into %^BOLD%^%^BLACK%^darkness%^RESET%^%^BLUE%^ and become completely undetectable!%^RESET%^\n");
return 1;
}
示例3: greeting
void greeting(object me)
{
object basket,food;
if(!me->query("food_carrier")) return ;
if(me->query("food_carrier")+60>time())
{
message_vision(CYN"�����������һ�ۣ�˵��������ʹ������Ҫ�ٵ�һ�� \n"NOR,me);
remove_call_out("make_food");
call_out("make_food",60+me->query("food_carrier")-time(),me);
return ;
}
message_vision(CYN "��ϵ����ȥ��߶Ȱ����IJ˶���ɹ���� \n"NOR,me);
basket=present("bamboo basket",this_object());
if(!basket)
{
basket=new(__DIR__"obj/zhulan");
basket->move(this_object());
}
示例4: heal_up
int heal_up()
{
object master;
if( objectp(master = query("possessed"))
&& (int)master->query("mana") > 100
&& (int)master->query("kee") > 100) {
message("tell",
HIR + name() + "告诉你:我...需...要...你...的...力...量...\n" NOR,
master );
master->add("mana", -50);
master->receive_damage("sen", 50);
::heal_up();
return 1; // Always acquire power from master.
} else {
call_out("die", 1);
return ::heal_up();
}
}
示例5: Poison
void Poison() {
if (((Player = environment(this_object()))
&& this_player() != Player) || !Player ||
Player->query_ghost()) {
while(remove_call_out("Poison") != -1);
remove();
return;
}
if (!Effect) {
while (remove_call_out("poison") != -1);
return;
}
if (!Player->query_linkdead()) {
if (random(100) < POISON_MESSAGE_CHANCE) {
tell_object(Player, "You feel the effects of a poison strike "
"your body.\n");
tell_room(environment(Player),
sprintf("%s convulses with pain.\n",
Player->query_name()), Player);
}
// I'd certainly like to set a player's death message here.
#ifdef DEBUG
tell_object(Player, "*** You've just been hit by poison.\n");
tell_object(Player,
sprintf("*** Dur: %d, Dam: %d, Int: %d, Num: %d.\n",
Duration, Damage, Interval, Number));
#endif
Player->receive_damage((Damage / 2) + random(Damage / 2) + 1);
if (!Player || Player->query_ghost()) {
if (this_object()) remove();
return;
}
Duration -= 1;
}
if (Duration > 0) call_out("Poison", Interval);
else {
tell_object(Player, "You overcome the effects of a poison.\n");
remove();
}
}
示例6: cast
int cast(object me)
{
int howlong;
if((int)me->query_skill("spells") < 100)
return notify_fail("你还没学会隐身法。。。\n");
if( (int)me->query("mana") < 2*(int)me->query_skill("spells"))
return notify_fail("你的法力不够了!\n");
if( (int)me->query("sen") < 50 )
return notify_fail("你的精神无法集中!\n");
if( (int)me->query("env/invisibility") )
return notify_fail("你已经在隐身中了。\n");
if (me->query_temp("yinshen_busy")) return notify_fail("你刚隐身过,先休息一会儿吧。\n");
message_vision("$N喃喃地念了几句咒语。\n", me);
if( random(me->query("max_mana")) < 200 ) {
me->add("mana",-(int)me->query_skill("spells",1));
me->receive_damage("sen",10);
message("vision", "但是什么也没有发生。\n", environment(me));
return 5+random(5);
}
me->add("mana", -2*(int)me->query_skill("spells",1));
me->receive_damage("sen", 20);
howlong = 15 + random((me->query_skill("spells") -100));
if (!me->query("env/invisibility"))
call_out("free", howlong, me, howlong);
me->set_temp("yinshentime", howlong+(int)me->query_temp("yinshentime"));
me->set("env/invisibility", 1);
me->set_temp("no_heal_up/yinshen",1);
me->set_temp("yinshen_busy",1);
message_vision(HIW"\n只见一道白光闪过,$N踪迹皆无。\n\n"NOR, me);
return 5+random(5);
}
示例7: extra_create
void extra_create()
{
object ob;
set_name( "Chester" );
add_alias( "chester" );
add_alias( "uncle chester" );
add_alias( "uncle" );
add_alias( "master of arms" );
add_alias( "hill wizard master of arms" );
set_short( "Uncle Chester, Hill Wizard Master of Arms" );
set_long(
"Remember that jovial old man who helps teach young boys "
"how to properly use and care for their weapons on every "
"TV show ever? Well, that's Uncle Chester. He's a kind "
"middle aged man with time to spare. He also happens to "
"know a whole lot about weaponry! And by that, I mean "
"even moreso than your average hillbilly."
);
set_race( "human" );
set_gender( "male" );
set_alignment( 500 );
set_stat( "str", 800 );
set_stat( "int", 250 );
set_stat( "wil", 1000 );
set_stat( "con", 1000 );
set_stat( "dex", 400 );
set_stat( "chr", 250 );
set_skill( "dodge", 100 );
set_proficiency( "hands", 50 );
set_max_fatigue( 25000 );
set_natural_ac ( 10 );
set_percent_bonus_exp( -25 );
ob = clone_object( "/zone/present/hillbilly/obj/armor/overalls.c" );
move_object( ob, THISO );
call_out( "gear_up", 1 );
}
示例8: do_clean
int do_clean(string arg)
{ int i;
object ob=this_object();
object me=this_player();
object obj;
if(!arg || arg != "jingji")
return notify_fail("��Ҫ��ʲô��\n");
if(query("clean"))
return notify_fail("��Χ�Ѿ�û�о����ˡ�\n");
if((int)me->query("kee") <50)
return notify_fail("��̫���ˣ�ЪЪ�ɣ�\n");
if(!(obj = me->query_temp("weapon")) ){
message_vision("$N������ȥ���Ǿ�����ȴ����������Ѫ��\n", me);
return 1;
} else {
message_vision("$N��������$n��С�ĵ�ȥ�����ǶѶѾ�����\n", me, obj);
me->receive_damage("kee", 50);
i=(int)me->query_str();
ob->set("coe",(int)ob->query("coe") + i );
if( i < 30 ){
tell_room(environment(me), "���ֻ������֦С�̡�\n");
}
else if (i < 50 ) {
tell_room(environment(me), "�������һƬ������\n");
}
else if (i < 100 ) {
tell_room(environment(me), "ֻ���������ƵIJ�ס���ˡ�\n");
}
else tell_room(environment(me), "ֻ�������糱ˮ���˺�\n");
}
if( (int)ob->query("coe") > 1000 ) {
tell_room(environment(me), "�������Ƶ����ԣ�����һ����·��\n\n");
me->set_temp("obstacle/jingji/clean_8", 1);
call_out("done", 1);
}
return 1;
}
示例9: do_clean
int do_clean(string arg)
{ int i;
object ob=this_object();
object me=this_player();
object obj;
if(!arg || arg != "jingji")
return notify_fail("你要干什么?\n");
if(query("clean"))
return notify_fail("周围已经没有荆棘了。\n");
if((int)me->query("kee") <50)
return notify_fail("你太累了,歇歇吧!\n");
if(!(obj = me->query_temp("weapon")) ){
message_vision("$N想用手去扯那荆棘,却扎了满手鲜血!\n", me);
return 1;
} else {
message_vision("$N挥舞手中$n,小心的去拨开那堆堆荆棘。\n", me, obj);
me->receive_damage("kee", 50);
i=(int)me->query_str();
ob->set("coe",(int)ob->query("coe") + i );
if( i < 30 ){
tell_room(environment(me), "结果只拨开几枝小刺。\n");
}
else if (i < 50 ) {
tell_room(environment(me), "结果拨倒一片荆棘。\n");
}
else if (i < 100 ) {
tell_room(environment(me), "只见荆棘被推的不住后退。\n");
}
else tell_room(environment(me), "只见荆棘如潮水般退后。\n");
}
if( (int)ob->query("coe") > 1000 ) {
tell_room(environment(me), "荆棘被推到两旁,闪出一条道路。\n\n");
me->set_temp("obstacle/jingji/clean_3", 1);
call_out("done", 1);
}
return 1;
}
示例10: create
void create()
{
set ("short", "石窟");
set ("long", @LONG
莫高窟始建於符秦元二年,后历代均有扩建,有大约四百个石窟。
这里是莫高窟第一层的入口。
LONG);
set("exits", ([
"eastdown" : __DIR__"drukou",
"enter" : __DIR__"dtongdao",
]));
set("cost", 2);
set("objects", ([
"/d/xingxiu/npc/yinli" : 1
]));
set("no_clean_up", 1);
setup();
call_out("reset_flags", 60);
}
示例11: do_open
int do_open(string arg)
{
object obj;
object me;
if(!arg || arg=="")
{
write("你要打开什么?\n");
return 1;
}
if( arg == "屏风" || arg == "ping feng" || arg == "pingfeng")
{
me = this_player();
message_vision("$N信手按在屏风上,屏风微微一动,过得片刻,屏风
竟然向左移开来,露出一道暗门。 \n", me);
if( !query("exits/south") ) {
set("exits/south", __DIR__"secret");
call_out("close_path", 6);
}
return 1;
}
示例12: reset
void reset() {
int dayTime;
mixed *local;
object xiaohe;
:: reset();
if (xiaohe=present("xiao he",this_object()))
if (!xiaohe->is_fighting()) {
destruct(xiaohe);
set("xiaohe",1);
return;
}
local = NATURE_D->get_current_time();
dayTime = local[5];
if(dayTime > 0 && dayTime < 360) {
call_out("do_reveal",2);
}
return;
}
示例13: do_search
int do_search(string arg)
{
object me;
int llvl;
me = this_player();
llvl = (int)me->query_kar();
message_vision("$N伸手在火热的石壁上摸索着。\n",me);
if (random(100) < llvl) {
tell_object(me, "你的手在石壁上摸到了一个突出物,你顺手往上一按。 \n");
message_vision("只听一阵绞索的声音,你头上裂开了一个洞口。 \n", me);
if( !query("exits/up") ) {
set("exits/up", __DIR__"rongdong1");
call_out("close_path", 1);
}
}
else
tell_object(me, "你什么都没找到。\n");
return 1;
}
示例14: apply_effect
void apply_effect(object target, int duration,int amount)
{
int gin,kee,sen;
message_vision(HIW"一片浅色霞云在$N头顶收聚,一点点纳进$N天门...\n"NOR,target);
gin = (int)target->query("max_gin");
target->set("max_gin",gin+amount);
target->set("eff_gin",target->query("eff_gin")+amount);
kee = (int)target->query("max_kee");
target->set("max_kee",kee+amount);
target->set("eff_kee",target->query("eff_kee")+amount);
sen = (int)target->query("max_sen");
target->set("max_sen",sen+amount);
target->set("eff_sen",target->query("eff_sen")+amount);
call_out("warning",duration-180, target,amount);
return;
}
示例15: end_pfm
void end_pfm(object me, int enhance,int damage,object weapon)
{
if (me->query_temp("wzg-powerup") &&
me->query_temp("weapon")==weapon) {
call_out("end_pfm",2,me,enhance,damage,weapon);
return;
}
if (me->query_temp("wzg_pfm_cleared")) return;
if (weapon) {
weapon->set("use_apply_skill",weapon->query_temp("original/use_apply_skill"));
weapon->set("apply/skill_type",weapon->query_temp("original/skill_type"));
weapon->set("skill_type",weapon->query_temp("original/skill_type2"));
}
me->add_temp("apply/attack",-enhance);
me->add_temp("apply/damage",-damage);
me->delete_temp("wzg-powerup");
me->set_temp("wzg_pfm_cleared",1); // make sure only remove effect once.
me->reset_action();
}