スクリプト公開所

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
64 / 101 ツリー ←次へ | 前へ→

jRO課金アイテム用スクリプト Cocoa 07/4/11(水) 5:56 [添付]
Re:jRO課金アイテム用スクリプト Cocoa 07/4/11(水) 5:57
Re:jRO課金アイテム用スクリプト Cocoa 07/4/15(日) 5:09 [添付]
Re:jRO課金アイテム用スクリプト Cocoa 07/4/15(日) 12:22 [添付]
Re:jRO課金アイテム用スクリプト Rayce 07/4/16(月) 1:51
Re:jRO課金アイテム用スクリプト Cocoa 07/4/16(月) 4:21
Re:jRO課金アイテム用スクリプト Rayce 07/4/16(月) 19:34
Re:jRO課金アイテム用スクリプト Cocoa 07/4/17(火) 12:48
Re:jRO課金アイテム用スクリプト Cocoa 07/4/17(火) 5:20 [添付][添付]
Re:jRO課金アイテム用スクリプト Cocoa 07/4/17(火) 5:29
Re:jRO課金アイテム用スクリプト Rayce 07/4/17(火) 19:16
Re:jRO課金アイテム用スクリプト Cocoa 07/4/19(木) 2:02 [添付][添付]
Re:jRO課金アイテム用スクリプト Rayce 07/4/19(木) 3:31
Re:jRO課金アイテム用スクリプト Cocoa 07/4/19(木) 4:29 [添付]
Re:jRO課金アイテム用スクリプト Rayce 07/4/19(木) 16:40
Re:jRO課金アイテム用スクリプト Cocoa 07/4/19(木) 20:31 [添付]

jRO課金アイテム用スクリプト
 Cocoa  - 07/4/11(水) 5:56 -
  
jROの課金アイテムの一部、強化アイテム用のスクリプトです。
(〜Rと名前の最後にRがつく装備)
改良の余地はありますが、とりあえず暫定版ということで。

注意点がいくつかありますが、ファイルに書いてあるのでそちらを読んでください。
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : charged_item.txt
・サイズ : 7.3KB

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/11(水) 5:57 -
  
書き忘れが・・・
CSV用のファイル「Charged」を先に用意してください。
引用なし
パスワード

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/15(日) 5:09 -
  
致命的なミスがありました。

キャラ型一時配列でCSVを用意したため、
配列要素がないキャラが箱を開けるとCSVファイルがリセットされる。

修正後はまずCSVを読み込んでそこに書き込んでそれを出力する形です。

実装してしまった鯖管の方は、申し訳ないが面倒でも一度強化アイテム全削除した方がいいかもしれません。
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : charged_item(2).txt
・サイズ : 8.6KB

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/15(日) 12:22 -
  
またいくつか修正o.....rz

今度はかなり丁寧に動作確認したから大丈夫なはず・・・はず・・・。
それでもバグあれば指摘お願いしますorz
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : charged_item(3).txt
・サイズ : 8.7KB

Re:jRO課金アイテム用スクリプト
 Rayce  - 07/4/16(月) 1:51 -
  
▼Cocoaさん:
>またいくつか修正o.....rz
>
>今度はかなり丁寧に動作確認したから大丈夫なはず・・・はず・・・。
>それでもバグあれば指摘お願いしますorz

gettimeでチマチマ計算するよりもgettimetick(2)で絶対時間を取得した方が遥かに簡単です。
それから、CSVファイルへのアクセスを他のMAPサーバで共用するやり方は推奨されません。
データが正しく取得できなくても問題ないなら構いませんが・・・基本的にはMAP永続変数と同等だという認識を持ってください。
引用なし
パスワード

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/16(月) 4:21 -
  
>gettimeでチマチマ計算するよりもgettimetick(2)で絶対時間を取得した方が遥かに簡単です。
>それから、CSVファイルへのアクセスを他のMAPサーバで共用するやり方は推奨されません。
>データが正しく取得できなくても問題ないなら構いませんが・・・基本的にはMAP永続変数と同等だという認識を持ってください。

使用期限はgettimetick(2)に変更しようと思います。
アドバイスありがとうございます。

CSVも問題ありだとの事でアカウント変数に書き込もうと思ったけど、
配列使えないんだっけorz
for文か何かで変数名+数値って出来ないか考えたんですが思いつかず。
何かいい方法ないでしょうか・・・
引用なし
パスワード

Re:jRO課金アイテム用スクリプト
 Rayce  - 07/4/16(月) 19:34 -
  
▼Cocoaさん:
>CSVも問題ありだとの事でアカウント変数に書き込もうと思ったけど、
>配列使えないんだっけorz
>for文か何かで変数名+数値って出来ないか考えたんですが思いつかず。
>何かいい方法ないでしょうか・・・

mod2099のReadmeに裏技を記載しています。

キャラ永続変数の配列化はデータ量が莫大に増えるという原理的な問題から非推奨としていましたが、mod2243でキャラ永続変数をセーブデータから切り離してセーブの頻度を出来るだけ抑えるように改善したので現在ではそこまで大きな問題にならないかもしれません。
GLOBAL_REG_NUMの値を増やすことによる負荷については全く試してないのであくまでも憶測レベルですが・・・。

本鯖準拠のシステムであればソースコードレベルでさっさと実装した方が効率的でスマートな気がします。
引用なし
パスワード

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/17(火) 5:20 -
  
らの字さん、Rayceさんからアドバイスを頂き色々修正しました。
アドバイスありがとうございます。

一応テストはしましたが、大人数が装備した場合の挙動は未確認です。
未確認というか自分の環境じゃ確認不可能orz
マシンパワーにもよりますが、多分処理が遅くなる恐れあり・・・

あとは二度手間になるんでテキスト内の使用する際の注意と履歴を読んで下さい。
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : charged_item(4).txt
・サイズ : 4.3KB

[添付]〜添付ファイル〜
・名前 : item.txt
・サイズ : 12.4KB

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/17(火) 5:29 -
  
ついでに言うと今までのと互換性は全くないので、
実装してしまった鯖管さんは某所のツールなどで一旦削除した方が良いかもしれません。
引用なし
パスワード

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/17(火) 12:48 -
  
>本鯖準拠のシステムであればソースコードレベルでさっさと実装した方が効率的でスマートな気がします。

ソースコードレベルでの実装は本鯖での挙動を全く知らないので・・・
引用なし
パスワード

Re:jRO課金アイテム用スクリプト
 Rayce  - 07/4/17(火) 19:16 -
  
・エラー処理
 予期せぬエラーの部分に到達する可能性は理論上有り得ないはずです。
 条件文をよく見てください。冗長になるだけです。

・強化アイテムの箱を返す
 直前に使用したアイテムのIDはusediteminfo関数で取得できます。
 わざわざcallfuncの引数に入れておく必要はありません。
 それから削除処理に回すかどうかの判定は取得アイテムIDの有無で判定できるので

 1173,村正R, ... ,{ callfunc "ChargedItem",0; ... }
 12936,村正Rの箱, ... ,{ callfunc "ChargedItem",1173; ... }

 としておけば

 //取得処理
 if( getarg(0) > 0 ){
   ...
 //削除処理
 else{

 だけで済みます。
引用なし
パスワード

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/19(木) 2:02 -
  
Rayceさんの指摘を元に再修正。
装備から呼び出すタイプとOnPCLoginで呼び出す2タイプ用意しました。
環境によって設置する方を変えてください。
前回の物なら互換性あり。

前回から今回の物に変える際、OnPCLoginタイプだけにしたい時は、
item_db_addに追加した強化アイテムを削除してください。
箱に関してはitem.txt内の物に書き換えれば問題ないです。

これが最終版になることを願いつつ・・・
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : charged_item(5).txt
・サイズ : 4.6KB

[添付]〜添付ファイル〜
・名前 : item(2).txt
・サイズ : 11.9KB

Re:jRO課金アイテム用スクリプト
 Rayce  - 07/4/19(木) 3:31 -
  
▼Cocoaさん:
>Rayceさんの指摘を元に再修正。
>装備から呼び出すタイプとOnPCLoginで呼び出す2タイプ用意しました。
>環境によって設置する方を変えてください。
>前回の物なら互換性あり。
>
>前回から今回の物に変える際、OnPCLoginタイプだけにしたい時は、
>item_db_addに追加した強化アイテムを削除してください。
>箱に関してはitem.txt内の物に書き換えれば問題ないです。
>
>これが最終版になることを願いつつ・・・

・無駄な記述
  if(A && B) ...
  else if(A || B) ...
  else ...

・usediteminfo(1)
  製作者IDを取得してませんか??

・各MapServerに設置
  duplicateは(というよりannounce命令などの極一部の命令・関数以外全ては)
  MAPサーバを越えることができません。
  各MAPサーバごとにOnPCLoginラベルを持ったNPCを設置する必要があります。

あと前に言うのを忘れてましたが、gettimetick(2)を1000000000で引く理由が
わかりません。
引用なし
パスワード

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/19(木) 4:29 -
  
>・無駄な記述
>  if(A && B) ...
>  else if(A || B) ...
>  else ...
条件式の最後はelseだけでいいって事でしょうか?

>・usediteminfo(1)
>  製作者IDを取得してませんか??
orz

>・各MapServerに設置
>  duplicateは(というよりannounce命令などの極一部の命令・関数以外全ては)
>  MAPサーバを越えることができません。
>  各MAPサーバごとにOnPCLoginラベルを持ったNPCを設置する必要があります。
全MapServerにスクリプトを読み込ませれば動きますけど、
名前が同じっていう点が良くないんでしょうか?

>あと前に言うのを忘れてましたが、gettimetick(2)を1000000000で引く理由が
>わかりません。
2G制限とかデータサイズの事を考えたんですが、
よくよく考えれば2Gになるのはまだ25年程あるし、減る容量も1Bですねorz

たった今気づいたんだけども、強化アイテムって重量0だから重量判定意味なかったorz
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : charged_item(6).txt
・サイズ : 5.3KB

Re:jRO課金アイテム用スクリプト
 Rayce  - 07/4/19(木) 16:40 -
  
>条件式の最後はelseだけでいいって事でしょうか?
そういうことです。

>全MapServerにスクリプトを読み込ませれば動きますけど、
>名前が同じっていう点が良くないんでしょうか?
duplicate自体が不要ということです。
各MapServerが

-    script    TypePCEvent    -1,{
OnPCLogin:
    callfunc "ChargedItem",0;
}

を読み込んでいれば何処に居てもOnPCLoginイベントは呼び出されます。
動かなかったらスクリプトエンジンのバグかもしれません。

>減る容量も1Bですねorz
容量は減らないですけど・・・。

>たった今気づいたんだけども、強化アイテムって重量0だから重量判定意味なかったorz
重量を設定したい人も居るかもしれないのでcheckweight関数はあった方が正解です。
引用なし
パスワード

Re:jRO課金アイテム用スクリプト
 Cocoa  - 07/4/19(木) 20:31 -
  
OnPCMoveMapイベント追加
無駄なNPC削除
引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : charged_item(7).txt
・サイズ : 4.9KB

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
64 / 101 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:   
152078
(SS)C-BOARD v3.8 is Free