各所でTheSignのダンスで詰まってしまうという声をたくさん頂いております。
ただ、これに関してはソースの不具合なので、スクリプトとは別途に修正を要します。
不具合の内容は
OnTouchしているNPCがハイドすると、タッチしているプレイヤーがNPC情報を保持したままとなり、連続した他のNPCのOnTouchが認識されない
というものです。
ここでは、次の対処法
npc.cのnpc_enableに、ハイドした時(無効になった時)にnpc_enable_subを呼び出すようにし、
npc_enable_subの処理に無効時にTouchしているプレイヤーがいる場合はareanpc_id情報をリセットする
を紹介します。
修正対象はnpc.cのみです。
npc.cの119行目あたり、npc_enableでmap_foreachinarea関数を呼び出す条件を次のように変更します。
if(flag&3 && (nd->u.scr.xs > 0 || nd->u.scr.ys >0))
↓
if(nd->u.scr.xs > 0 || nd->u.scr.ys >0)
次に少し上の90行目あたり、NPCのフラグ判定のあたりに次の処理を加えます。
if(!nd->flag&3) {
sd->areanpc_id=0;
return 1;
}
毎度のようですが、バックアップを取ってから修正に取り掛かってください。
ほえほえ 2007年06月10日(日)22時41分 編集・削除
いつもお世話になります~。
そのように修正してみたんですが、やはり、チャットルームが
出なくて先に進めなくなってしまうようです。
お時間がありましたら、検証、よろしくお願いします。