作者laechan (小太保)
看板mud_sanc
标题Re: [问题] 两个问题, 旧魔神带及 teach
时间Sat Aug 3 21:18:05 2013
※ 引述《hlead (希多)》之铭言:
: ※ 引述《longhairpan (Steven)》之铭言:
: : 1. 旧魔神带在 savebox 内, take n from savebox 会出现如下讯息,
: : 魔神带(Evil_God Wristlet)这件物品因故无法读取喔.
: : 然後拿不出来, 占住一格,
: 更改档案:/u/l/laechan/skycastle/room/skyroom.c
: if(!file_exists(str1+".c"))
: {
: write(HIR+name+HIR"此物品不存在,这件物品已被移除。...\n"NOR);
: // 档案不存在就将资料移除 by Norr in 2013.08.03
: data[target_savebox][res-1]=0;
: data[target_savebox]-=({0});
: return 1;
: }
我不做这个的原因是因为「有时档案可能只是暂时移除」,
而你上面的判断会造成档案一不在就移除。
通常我会 #define 一个 mixed 型态的参数,用来储存这类
的东西,只有确定档案已永久移除的才会自动替玩家做移除
的动作,不然就会先占住位置。
(然後玩家会回报,我们再来做确定)
给你当参考。
我暂时不会改天空城之家,你可自行研究,或就照你上面的
写法亦可,则我移除 /d/dfire 及 /d/ppl/dragondoll下的
物件时,玩家丢进 savebox 的这些物件就会立即消失。
(通常这时我会试着至少让玩家知道消失了什麽,我记得每
一个 data[target_savebox][i] 都存有 short 资料。)
: : 2. 被教的人, 学点会被扣到变负的, 然後一直扣下去, 还是能教...
: : 今天系统 shutdown 重开後, 还是负的, 赚学点会慢慢加回来...
: : 以上是今天遇到的两个问题
: 更改档案:/cmds/std/_teach.c
: me->add("up",-j+1);
: // 补上判断 by Norr in 2013.08.03
: if((string)tar->query("pri_guild")!=(string)me->query("pri_guild"))
: tar->add("up",-j+1);
: tar->add_exp(l);
: 所以他是前面会先扣两点...後面实际会在扣n-1点。 n = 教几次。
: 正常应该会是 n = 20;
: 前面会先扣两点的原因是,教不满100时,固定扣两点。
3q~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.26.176.170
1F:→ laechan :对了天空城之家修改前最好备份一下 08/03 21:18
2F:→ hlead :嗯..好。 08/03 21:54