LCのMAPになるMOD

GTA SAでLCのMAPがプレイできるMODを見つけたので、インストールしてみました。
残念ながらsa:mpは起動でしませんでしたが、なかなかよくできていました。
電車も動いていて乗ることもできました。

lc1

線路の上から町並みを一枚

lc2

座標がずれているのか乗客が線路から落ちていきます・・・


公式ブログ:minor update (誤訳あるかも)

リリースに向かっての作業中、私たちはバグ修正を行うとともに、まだ活発に開発が続いている、より小さな部分の改変の重要な部分を完了させようとしています。これらは大きなことではありません。MODに本当に変革をもたらすが、全体としては大きな差異はありません(特にmodeの質において)そしてそれらはリリースに関係ありません。

もしそれらが完了しなかったなら、予定している休止のときにそれらは含まれなくなるでしょう。それでも心配することはありません、ほとんどのこれらの小さな機能は、うまくいけばmodeを大きく変化させるであろうPAWNの小さなアディションだからです。

Gang zones

カメラテスト


スクリプトをテストしてみました。
任意のプレイヤーの周りをぐるぐる回るカメラワークになります。


デモカー

democar

guo氏がサーバのデモカーを作ってくれました。
非常に良くできていると思います。


AKINA Beta3 のインストール(手動)

GTA San Andreas/data/gta.dat
の以下の部分を以下のように書き換えます
そして、hillrace をディレクトリごと
GTA San Andreas/data/maps
に入れてください。
念のためファイル名を拡張子まで確認することが重要です。


#
# Load IDEs first, then the models and after that the IPLs
#
IMG DATA\MAPS\hillrace\hillrace.IMG
IMG DATA\MAPS\hillrace\hillrace2.IMG

#
# Object types
#
IDE DATA\MAPS\hillrace\hillrace.IDE

#
# Scene information
#

SPLASH loadsc2

IPL DATA\MAPS\hillrace\hillrace.IPL


/freeze /unfreeze

/freeze [playerid]
/unfreeze [playerid]
で指定プレイヤーの行動を束縛・解除できます
strokとかはたぶん、lvdmodの中とかにあると思います。
なければ、公式forumにもソースがあります。


if(strcmp(cmd, "/freeze", true) == 0) {
if(IsPlayerAdmin(playerid)){
new pid;
cmd = strtok(cmdtext, idx);
pid = strval(cmd);
TogglePlayerControllable(pid,0);
return 1;
} else {
return 0;
}
}

if(strcmp(cmd, "/unfreeze", true) == 0) {
if(IsPlayerAdmin(playerid)){
new pid;
cmd = strtok(cmdtext, idx);
pid = strval(cmd);
TogglePlayerControllable(pid,1);
return 1;
} else {
return 0;
}
}



筋斗雲

筋斗雲

ダウンロードして入れてなかったMODを入れてみました。
なかなか愉快です。


バグ修正

サーバが再起動するとDBだけデータがなくなる問題を修正しました。


追加機能

autosave,autoload機能追加
/view at-400内にて客室に移動するfakepass機能追加
燃料システム(給油はGSか、各Airportにて)追加
atm機能のバグ修正

サーバに来てくれてる方、
ここを読んでくれているのか、
少々不安な今日この頃です。


公式のブログを訳してみました。

2007 5/13 posted by kyeman

先週、我々は0.2の二度目の公開ベータテストを行いました。
SA:MPの制限は最大200人のプレイヤー、最大700台の乗り物を予定しています。

先の公開ベータの間、我々は一度に174人のプレイヤーを処理した。だが、ゲーム自身は安定していました。我々はローカルフレームレートと通信帯域の取り扱いに関連している問題を抱えている。そして我々は現在これらの問題に取り組んでいる。

幾らかの人は気づいているだろう。キャラクターが歩いたり、走ったりするアニメーションがどのキャラクターを選んだかによって異なっていることを。

また、SA:MP 0.2のオフィシャルリリースの日付は決まっていない。
最終リリースの前に少なくとも2つ以上のベータテストがあるだろう。

これはベータテストでLVの海賊船で撮ったものです。

http://www.sa-mp.com/images/beta02.jpg

[MOB]intox氏、スクリーンショットありがとうございます。


サーバ更新

linerunner、infernusを追加
DB集めができるようになりました


再起動

SA:MP serverだけでなく
サーバ機全体を再起動しました
ディストリビューションをアップグレードしてから
不具合が不安で再起動してなかったんですが、
38日ぶりに再起動。
ひょっとしたら軽くなっているかも・・・・??

とりあえず、
DDNSクライアントのDiCEが動かなくなりましたorz


開発中

BR

β版位にはなったかな。


おまけcommand1

自分の座標を表示して、
ファイルにTEXTとして書き込むコマンドです。
(※今は追記でませんが追記できるように改善する予定)

#define POS_FILE_NAME "posfile.txt"

if (strcmp(cmdtext, "/mypos", true)==0) {

new tmp[256];
new Float:x, Float:y, Float:z ,Float:ang;
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid,ang);
format(tmp, sizeof(tmp)," 座標 x,y,z,ang : %f,%f,%f,%f",x,y,z,ang);
SendClientMessage(playerid, COLOR_YELLOW,tmp);
printf("[%s]:%s",playername,tmp);
new File:posfile = fopen(POS_FILE_NAME);
format(tmp,sizeof(tmp),"%s:%s",playername,tmp);
fwrite(posfile,tmp);
fwrite(posfile, "¥r¥n");
fclose(posfile);
return 1;
}

※¥を半角に変えて使ってください


public関数と戻り値

1 OnGameModeInit()
ゲームモードの初期化時に行う処理を書きます

2 OnGameModeExit()
ゲームモードの終了時に行う処理を書きます

3 OnFilterScriptInit()
フィルタースクリプトの初期化時に行う処理を書きます

4 OnFilterScriptExit()
フィルタースクリプト終了時に行う処理を書きます

5 OnPlayerConnect(playerid)
プレイヤー接続時に行う処理を書きます
playeridには接続したプレイヤーのIDが格納されています

6 OnPlayerDisconnect(playerid)
プレイヤー切断時に行う処理を書きます
playeridには接続したプレイヤーのIDが格納されています

7 OnPlayerSpawn(playerid)
プレイヤー出現時に行う処理を書きます
playeridには出現したプレイヤーのIDが格納されています

8 OnPlayerDeath(playerid, killer, reason)
プレイヤー死亡時に行う処理を書きます
playeridには死亡したプレイヤー、killeidには殺したプレイヤー
reasonには死亡理由のIDが格納されています

9 OnVehicleSpawn(vehicleid)
動きません

10 OnVehicleDeath(vehicleid, killerid)
動きません

11 OnPlayerText(playerid, text[])
プレイヤーがチャットを入力したときの処理を書きます
playeridには発言したプレイヤーのID
text[]には発言した文字列が格納されています

12 OnPlayerCommandText(playerid, cmdtext[])
プレイヤーがコマンドを入力したときの処理を書きます
playeridにはコマンドを入力したプレイヤーのID
cmdtext[]には入力されたコマンドが格納されています

13 OnPlayerRequestClass(playerid, classid)
キャラ選択時の処理を書きます
playeridにはキャラ選択中のプレイヤーID
classidにはプレイヤークラスIDが格納されています

14 OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
プレイヤーが乗り物に乗車する動作をしたときの処理を書きます
playeridには動作をしたプレイヤーのID
vehicleidには動作対象の乗り物のID
ispassengerには乗客であるか(0,1)が格納されています

15 OnPlayerExitVehicle(playerid, vehicleid)
プレイヤーが乗り物から降車する動作をしたときの処理を書きます
playeridには動作をしたプレイヤーのID
vehicleidには動作対象の乗り物のID

16 OnPlayerStateChange(playerid, newstate, oldstate)
プレイヤーの状態が変更された時の処理を書きます
playeridには状態が変更されたプレイヤーのID
newstateには新しい状態、oldstateには以前の状態
が格納されています

17 OnPlayerEnterCheckpoint(playerid)
プレイヤーがチェックポイントに入ったときの処理を書きます
playeridにはチェックポイントに入ったプレイヤーのIDが
格納されています

18 OnPlayerLeaveCheckpoint(playerid)
プレイヤーがチェックポイントから出た時の処理を書きます
playeridにはチェックポイントから出たプレイヤーのIDが
格納されています


SA:MPのクラッシュ

今までスクリプトのせいかと思ってたんですが、
SA:MPがクラッシュしたときに以下のようなエラーのときは
SA:MP0.1の既知のバグみたいです。
0.2では改善されるような旨がforumの投稿にあったので、
修正されると思います。


Exception At Address: 0x0156CD9C
Last SCM Opcode: 0x581


8ball

8ball

8ballは車に爆弾をセットするところです。
バスを無理やり中に入れようとしてめり込んだところですw


ミニゲームの実装

ミニゲームを作ったりするときのポイントを紹介します。

1.ミニゲーム開始条件。

プレイヤーがコマンドを入力したとき。
プレイヤーがチェックポイントに入ったとき。
プレイヤーが特定の車に乗ったとき。
などです。

2.ミニゲームの参加フラグ

各プレイヤーがそのミニゲームに参加しているかどうかのフラグを
用意しておく必要があります。これは、予め配列変数を用意します。

3.ミニゲームを行う場所

特定の場所で行われるゲームなら
プレイヤーを移動させる必要があります。
DMでしたら、ランダム配置も必要だと思います。
またその場所の座標を調べておかなくてはなりません。

4.ミニゲーム終了の条件

プレイヤーが死んだとき。
チェックポイントに入ったとき。
プレイヤーが車を降りたとき。
一定の得点を得たとき。
などです。

簡単なDMだと、


開始処理:
コマンドが入力される
参加フラグON
DM場所へ移動させる(ランダム配置)
境界線を設定する
武器を与える


終了処理:
コマンド入力もしくは死亡
境界線を再設定
参加フラグOFF
プレイヤーを再出現

大まかにはこういう流れです。
質問等がありましたら掲示板へどうぞ。


質問・雑談BBS

質問・雑談BBSはこちら

ネットではじめて質問する人は,
こちらを読むといいかもしれません.


FC2 Counter
Public Server Infomation
SAMPserver
・ServerName:
[JP] Kamakura Bakufu
[Server status]
[Player ranking]

・HostAddress:
raigis2.ddo.jp:7777

・Serverlist
[Server list in Japan]


GTAU-MP server
・ServerName:
kamakura GTAU:MP server

・HostAddress:
raigis2.ddo.jp:8901


MTAserver
・ServerName:
kamakura MTA server
[Server status]

・HostAddress:
raigis2.ddo.jp:22003


TeamSpeak3server
・ServerName:
Kamakura Server
[Server status]

・HostAddress:
raigis2.ddo.jp


mumble server
・ServerName:
Kamakura Homie's Server
[Server status]
[Register]

・HostAddress:
raigis2.ddo.jp


サーバーへ寄付する

sprout999

Author:sprout999
Welcome to FC2

Category
New Entry
New Comment
New Trackback
Monthly Archive
Profile

sprout999

Author:pls
Welcome to FC2

Search
RSS Feed
Links