Community:
Official HP
Slack
Issues, Pull Requests and commits:
工事中。。。
Many thanks contributors
Auriga is a MMORPG server.
License: GNU General Public License v2.0
Community:
Official HP
Slack
Issues, Pull Requests and commits:
工事中。。。
Many thanks contributors
Patch 1326以降、3次職(転生済)のjoblvが1lvから上がりません
Patch 1326でexp.txtの列が2つ増えていますが、
c側で読み込んでいないようです。
Line 9433 in f5f7782
ご確認お願いします。
現在、BorlandCompiler使用時はatn_bignumber関連の定義はsrc\common\utils.h
において以下のようになっています
typedef double atn_bignumber;
# define BIGNUMCODE ".0f"
一方、src\map\pc.c
のpc_readdb関数でexp.txt
から必要経験値を読み込む際の処理が以下のようになっています
if(sscanf(line,"%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE ",%" BIGNUMCODE "",&bn,&b1,&b2,&b3,&b4,&b5,&b6,&b7,&b8,&b9,&jn,&j1,&j2,&j3,&j4,&j5,&j6,&j7,&j8,&j9,&j10,&j11) != 22)
continue;
double型のスキャンは%lfで読み込みなので、この処理ではスキャン数が0になって経験値テーブルが0のままになってしまいます
とりあえず下記のような感じでLVがあがることは確認しました
utils.h追加
#if defined(BIGNUMBER_DOUBLE) || defined(__BORLANDC__)
# define BIGNUMSCANCODE "lf"
#elif defined(WINDOWS) && defined(_MSC_VER)
# define BIGNUMSCANCODE "I64d"
#else
# define BIGNUMSCANCODE "lld"
#endif
pc.c変更
if(sscanf(line,"%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE ",%" BIGNUMSCANCODE "",&bn,&b1,&b2,&b3,&b4,&b5,&b6,&b7,&b8,&b9,&jn,&j1,&j2,&j3,&j4,&j5,&j6,&j7,&j8,&j9,&j10,&j11) != 22)
continue;
MYSQL 8.0以降、以下のエラーが発生しビルドできません。
sqldbs.c(471): error C2065: 'my_bool': 定義されていない識別子です。
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html#mysqld-8-0-1-compiling
Incompatible Change: The my_bool type is no longer used in MySQL source code. Any third-party code that used this type to represent C boolean variables should use the bool or int C type instead.
Note
The change from my_bool to bool means that the mysql.h header file now requires a C++ or C99 compiler to compile.
status_change_start
関数のプラエファティオの処理において、通常プレイ中は以下の計算式で残りの耐久力を処理していると思います
val2 = (int)((atn_bignumber)status_get_max_hp(bl) * (val1 * 2 + 16 + val2 * 2) / 100); // 耐久度
プラエファティオ使用時にval2にはPTメンバーのプラエファティオ対象人数が入っており耐久度の補正がかかるようになっていると思います
ここまでは問題ないのですけれど、ログイン時もこの処理が実行されており、その場合はval2に残りの耐久度が入った状態で計算がされて、補正値が異常に大きくなってしまいます
その結果、ログアウト→ログインを繰り返すたびに残り耐久度が増え続け、どこかでログイン時にマップ鯖が落ちてしまうようです
clif_questlist
関数のelse側の処理ですけれど、typoでデータをセットする箇所が間違っているかと思われます
誤
WFIFOL(fd,len*15+n*44) = (qd->nameid * 1000) + j;
正
WFIFOL(fd,len+15+n*44) = (qd->nameid * 1000) + j;
status_change_start
関数でタロウの傷の状態異常のマップ制限を行っていますけれど、sd
のヌルポチェックが無いため、メモリアクセス違反が発生してしまうようです。
sd
が何かは正確に把握していませんが、下記のように変更してマップサーバーが落ちないことは確認済みです。
変更前
if(type == SC_BITESCAR && !map[sd->bl.m].flag.pvp && !map[sd->bl.m].flag.gvg && !map[sd->bl.m].flag.turbo)
変更後
if(type == SC_BITESCAR && sd && !map[sd->bl.m].flag.pvp && !map[sd->bl.m].flag.gvg && !map[sd->bl.m].flag.turbo)
不具合かどうか判断がつかなかったのですけれど、一応報告させて頂きます。
モブが移動してニューマ範囲外に出た際の処理が実行されていないように思えます。
具体的には、モブがニューマを自分がいるセルに使用した後にニューマの範囲外に移動しても、状態異常のタイマクリア処理が実行されておらず、遠距離無効になったままの気がします。
SSはマーガレッタ=ソリン(転生二次職)をsummonで召喚して弓で攻撃したものですけれど、プレイヤー頭上でニューマを使用後SSの位置まで移動していても攻撃がミスになり続けます。
私の環境で確認した限りでは、skill_unit_move_sub
関数において、ニューマの'group->interval'が100になっているため即returnしてしまい、skill_unit_onout
関数が実行されないのが原因な気します
Patch1325 04b9391 で設定が-1から100に変わっており、仕様なのか判断が付きませんでした。
お時間があるときで結構ですので、ご確認お願いします。
mob.cのmob_readdb_mobavail関数において、PCキャラ変換の設定を行うと配列外参照が発生して起動時にクラッシュします。
引数の数が16個で最終処理でstr[15]でアクセスすることから、下記の定数15は16の間違いだと思います。
char *str[15],*p,*np;
for(j=0,p=line;j<15;j++){
OS: ubuntu
2018-04-18クライアント対応ありがとうございました
早速使ってみたところ、消費アイテム使用のパケット定義が抜けているようです
db\packet_db.lua
の3135行目に以下の定義を追加したら、アイテムを使用できたので報告まで
p(0x0439,8,"useitem",{2,6})
現在Visual C++ 6.0から対応になってますが、そもそもVisual C++ 6.0の対応OSがWindows XPとWindows Server 2003(それ以前のは論外)なので見直しが必要ではないでしょうか。
開発ツール対応 OS 一覧
https://www.microsoft.com/ja-jp/dev/support/tools.aspx
このページにあるOS一覧ではWindows XP、Windows Server 2003、Windows Vistaが延長サポートまで切れています。
それに合わせてVisual C++6.0、Visual Studio .NET 2002、Visual Studio .NET 2003はAurigaでもサポート切っていいと思っています。
問題はVisual Studio 2005、2008をサポートするかどうかです。
と言うのもこの2つのバージョンは開発陣の手元にないです、多分。
AppVeyorではVM上にWindows 10を立てているので対応していないため当然ありません。
私としては最新OSに対応するコンパイラのみでいいのではないかと考えています。
参考までに各OSのサポート期限です。
Windows Server 2008
メインストリーム サポート終了日: 2015年1月13日
延長サポート終了日: 2020年1月14日
Windows Server 2008 R2
メインストリーム サポート終了日: 2015年1月13日
延長サポート終了日: 2020年1月14日
Windows 7
メインストリーム サポート終了日:2015年1月13日
延長サポート終了日:2020年1月14日
Windows Server 2012
メインストリーム サポート終了日: 2018年1月9日
延長サポート終了日: 2023年1月10日
Windows Server 2012 R2
メインストリーム サポート終了日:2018年1月9日
延長サポート終了日:2023年1月10日
Windows 8
サービスパック サポート終了日:2016年1月12日
Windows 8.1
メインストリーム サポート終了日:2018年1月9日
延長サポート終了日:2023年1月10日
ふと久々にこちらのリポジトリの存在を思い出し、Ubuntu 22.04 + VSCodeでビルド・デバッグ実行しようとしたところ、コンパイルエラーになってしまいました。
近頃はGitHub Actions CIが便利なので、GitHub Actions CI対応プルリクを提出しようかなと思っているのですが、 メンテナの皆様、いかがでしょうか?
タスクリスト
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.