見出し画像

三日坊主を脱する

とうとう魔の三日坊主を脱出することができた。今回はいままでと違い、目標を設定することができたので、だいぶやりやすい。2年くらい前にはじめてサーバをたてたころと違って、ツールも結構充実しているのもでかい。ただ昨日も言ったがドキュメントはまだぜんぜん揃っていない。とは言え、そもそもエミュレーションサーバをまともにたてている人なんて世の中に数えるほどしかいないのだから、そうった意味ではまだ揃っている方か。開発者もモチベーションがあるみたいだしね。

とりあえず3日いろいろとサーバをいじってみたが、進捗は以下の感じ。初日にtodoを書いたが、もうちょっと整理して書こう

終わったもの

  • アイテムのnodrop制限をはずす

  • アイテムのlore属性をはずす

  • アイテムの装備レベル、使用レベルを1に設定

  • 拡張をLDoNに制限

  • 種族にクラスを追加する

  • PoKから主要ゾーンに移動できるNPCを設置する

  • グローバルドロップを撤廃

やること

  • スキル上昇商人を設ける

  • インスタンスを生成するNPCを設置

  • 専用通貨を作成

  • 専用通貨とAAの交換

  • 専用通貨でアイテムの購入

  • 新しいAAを作る

  • 新しい呪文を作る

ここまでできれば、初期のLazarusと同じ機能が提供できる。実際のゲーム内容に関して検討できると思う。今のLazarusと同じ機能を持たせるためには更に以下の機能が必要だ。

追加でやること

  • 専用通貨でAAのリセット

  • 新しいペットを作る

  • 新しい生産アイテムを作る

  • 新しいゾーンを作る

  • 新しいレイドエンカウンターを作る

とまあ、今後やることも整理できたので、今日もすすめていこう。今日はインスタンスを生成するNPCの設置を行おうと思う。Lazarusでは全部ではないが、各ゾーンの入り口にNPCが立っており、そいつにお金を渡すことでexpeditionを作ることができる。

昔は違うキャラだった

expeditionを作ることによって、他人と狩り場やnamedの奪い合いをする必要がなくなるのでギスギス具合がかなり軽減される。とは言え、Lazarusではexpeditionの生成にお金がかかるため、それをケチった連中が狩り場をめぐって争っていた。エンドコンテンツのハードコアもインスタンスは作れないのでギスギスすることがある。これに関してはわざとそういう作りにしたと言っているが、QoLを改善するのたLazarusのいいところなのに逆行していると思う。

また話が飛んでしまった。では早速つくるか。LazarusではたぶんEQのライヴを参考にしたのだと思うが、各ゾーンの入り口の安全なところにNPCがたっている。個人的には、このNPCはハブゾーンであるPoKに立っているべきだと思う。ゾーンの移動は昨日作った移動NPCがやってくれるので、わざわざそのゾーンに行ってから作るというのはあまり意味がない気がする。それに作る側からするとそれぞれのゾーンの入り口にNPCを配置するのは結構面倒くさい。Lazarusでは特定のゾーンにしかこのNPCがおらずいてもしょうがないゾーンにいたり、いてほしいゾーンにいなかったりしていた。この辺は全部改善すべきだと思う。

PoKにNPCを置く

では、イベントを設定していこう。基本的な機能として、まず現在expeditionを持っているかどうかを見る。持っている場合はこのNPCがそのゾーンに飛ばしてくれる。持っていない場合、話しかけた人がソロか、グループに入っているか、レイドに入っているかをまず判定している。グループとレイドの場合、リーダーである必要がある。条件を満たすなら、どのインスタンスを作るか聞き、そのインスタンスがロックアウト中でなければ生成する。と言った流れになると思う。

とりあえず自分がレイドリーダーかグループリーダーかそれともソロかをチェックするものと適当なインスタンスを生成するコードを入れてみた。

結構簡単にインスタンスはつくることができた。インスタンスはなにかすごく特別なものかと思っていた。処理が簡単になっている理由は有効になっているインスタンスが常にひとつだけというところがあるからだろうか。これは素晴らしい。

きちんとインスタンスにいけていることを確認。最初オリジナルにいったかと思ったがそんなことはなかった。機能の確認がとれたのであとは想定する機能にコーディングするだけだ。

コード量が増えていく。luaは結構覚えやすい

流石にexpedition作成のサービスのNPCはGG NPCよりも複雑になった。でもとりあえずできたので試してみよう。

挨拶をすると、現在有効なインスタンスがない場合はlistを出すか聞いてくる。

Lazarusで作れないゾーンも作れる

listを実行すると、インスタンスをつくれるゾーンの一覧がでる。街やセーフゾーン、LDoNは除外した。あとは任意のゾーンをクリックすると、インスタンスが生成される。今のところロックと生成時にお金は請求しないようにした。これは今後必要であれば変更する予定。

Sebilisを作ってみた。ソロ、グループ、レイドで三種類のゾーンが生成される。今ここで上限が6人のままだったことに気づいた。これはあとで直しておこう。

今日もよい進捗だった。一番面倒くさそうな部分を作ることができたのはでかいと思う。明日は、専用通貨の作成とその商人を作ってみようかな。

この記事が気に入ったらサポートをしてみませんか?