スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SA-MP サーバーを久々に弄ってみる。

こんにちは。

皆さんお元気ですか?


今日は超久しぶりのSA-MPサーバーネタです。

とはいえ、以前と違い最近はサーバーも増え、

こういったネタも扱いやすくなったなぁ~と思います。


どんなことをしたの? それは続きに。

今回は移動速度を割り出すスクリプトを作成していました。

俗に言うスピードメーター。

速度を取得、表示するのが目的ではなく、

以前作って again の時にお披露目した、
UAV 航空支援スクリプトと合わせる事で、

航空機の編隊飛行なんてやってみようじゃないか~という魂胆です。

解説 : オブジェクトの移動速度を求めるのが難関してて
それならプレイヤーと同じ速度にしてしまったらいいがな、と言う発想です。



今日はまだ編隊飛行スクリプトの作成まで出来てないので、

スピードメーターとステータス表示スクリプトを動画でどうぞ!
(編隊飛行もいつ出来るかわかったもんじゃないですが。)



ベースは0.1bの時の自分のサーバーで使ってた古いスクリプトを

0.2X向けにリメイクしてみました。

ステータス表示(ULTIMATE SPEED !)とかは、移動速度に合わせて

表示するようにしてみました。

過去の遺産になりつつある、(もうなった。)
ZONE取得スクリプト(/setposのアレ)も応用してます。

今回初めてDrawを配列で用意し、個別の変数で表示させました。

いやぁ、最初は一人しか表示されなくて焦ってましたがw

プレイヤーが接続する前(スクリプトのロード時)に

全てのプレイヤーのDrawの型を作っておく事で回避できました。

Drawは0.5秒毎にSetStringでアップデートすることで実現しました。

オマケで、速度を10で割った整数の分だけプライズが貰えます。

…ただ、現在の状態だと、Reloadfsを実行すると、
100回に1回程度の割合でサーバーがクラッシュします。
Drawの処理が何かおかしいらしい。


あ、動画のほとんどが違う画面での同期の比較となっています。

スクリプトに興味が無くても、MPユーザーなら興味深いかも?


もう1個も過去のリメイクです。

絶対需要が無いだろうと思う またも過去の作品Autokickのリメイクです。

0.1bの時の奴なのでミニガン対策とかも入ってました。
…今は無効化に出来るのになぁ、時代かぁ。

最近は知らないのですが、未だにフェイクチートとか存在するんでしょうか?

あれのおかげで判定が大変でしたよね。

Hunterの機銃もミニガン扱いだった時もあったりで…

多分常用に向かない良くないコードの例では…。
new gNextKickID[MAX_PLAYERS];

public OnPlayerDeath(playerid, killerid, reason)
{
if(reason == WEAPON_MINIGUN)
{
gNextKickID[killerid] = 1;
}
return 1;
}

// タイマーで動作させます。
public AutokickTimer()
{
// 以前にキックが確定した者を追放します。遅延キックスタート
for(new i = 0; i <MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(gNextKickID[i] == 1);
{
Kick(i);
gNextKickID[i] = 0;
} // end gNextKickID kick
} // end is-player-connected
} // end for-loop
return 1;
} // end Autokicktimer

真似してはダメですよw使えないことも無いですが…。

遅延キックは過去の名残ですが、未だに有効だと思います。

ただ、ミニガンを検知 = Kick だとフェイク云々があるので、
これだとフェイクターゲット被害者がやられてしまいます。

…とかなんとか書いたけど、現在そんなのまだあるんかいなっていうw

同じ理由で highping kickとかもよく見ますが、

何らかの理由で一瞬上昇することがあるので、
(接続した瞬間なんて到底アテにならない数値)

やっぱりカウント式が一番だと思います。

近々ソースコードのクリーンナップと有用性を確認したら、

一般向けとしてAutokick(Anticheaterとも言う)をリリースしたいですね。
(でも、出来るかわからないし、公開したら意味無いんじゃないかって言うw)

前者のスピードメーターは流石に需要無さそうですしw


ところで、うちのサーバーのゲームモードの原型は何かご存知ですか?

lvdm?いいえ、デフォではないのです。

lvdmod ? サーバー公開当初はそうでした。(2006/11/13日 初一般お披露目)

YSI_LVDM_LG ? そんなの使いこなせるわけねーじゃんかwww

正解は、越後製…じゃなくて、

SAN ANDREAS MONEYGRUB + LANDGRAB + GANGS + BANKS v0.5 でした。
(まだあったのに驚きましたw)

これらをSan Fierro向けにチューニングした、sfdmodなるものを使っています。

昔の主流ですね、物件の購入が楽しかった~。

今だにセーブに関するスクリプトが作れてないのが痛い弁慶の泣き所。


なんだかんだ言いつつ、サーバーのスクリプト弄りは楽しいですよね。

まだ行った事の無い国内のサーバーさんはどんなのか気になってきましたw


ちなみに、SA-MPには七不思議と言う都市伝説なるものがあって…

…この話題はまた今度ですね、知る人ぞ知る、ですがw


ではまた!

ADIEU

さらばだ^^

TAG :
SA-MP

コメントの投稿

Private :

NO TITLE

変態飛行だと・・・・

NO TITLE

フェイクチートがどんなものか知らない自分です orz
実際に試してはいないので何とも言えないですが、
判定を、minigunで殺した場合に、かつ車に乗っていなければ
という感じにしたらどうなるんでしょうか。

public OnPlayerDeath(playerid, killerid, reason)
{
if(reason == 38 && !IsPlayerInAnyVehicle(killerid))
{
gNextKickID[killerid] = 1;
}
return 1;
}

NO TITLE

以前、ドメインだけ取得したIVの非公式マルチプレイのHP
というのがありましたが、今回は少し進んでいる物を
発見しました

http://www.iv-multiplayer.com
です
現在は36%だそうです。

動画もうpされているそうなので、これはどうなるのでしょうかね

NO TITLE

オーストラリアに戻ってきたぜ。
前のMPのときは落ちまくったが、、今度日本帰ったら余裕だぜ!ハイスペPCだぜ!!

NO TITLE

車はともかく、徒歩の速度ランクの表示(?)はちょっとウケました。。ULTIMATE DASHってw
けどそれぞれの段階で細かくランク分けしてるのはいい感じ。あと地名がずっと見えるのはいいなー。
色が同期されないのは、CreateVehicle等で色指定を-1にしてるとおきると思う…たぶん。
フェイクチートに関してはAqua_Marineさんと同じことが思い浮かびました。(応用すればHunterマシンガンとロケットの判別もできるのか…対車両でなければ。)
Draw系は位置関係が扱いにくいよね、特に背景のボックスとか。

そして1つ前の記事のDogFight、スローモーションを活用していただいてよかった。
あの機能はDogFightに含めるんじゃなくてCLEO化して置けばよかったなーって若干の後悔が残ってる…。

っと長々失礼。。

NO TITLE

編隊飛行と聞いてwktkしてるオレが通りまs(ry

Re:

wobiwanさん
編隊飛行…作ろうと思ってたんですが、
より素晴らしいのが出来てたみたいで作業を緩めると思います。
MPスクリプトではないのですが、恐らく比ではないほど素晴らしい作品になりそうです。
(あ、自分が作ってるわけではないのであしからず。)

Aqua_Marineさん
現役の方が知らないという事は多分廃れたのかな?
チート使用者がミニガンなどでやられたように装い、
何もしてない被害者がアンチチートに引っ掛けるチートがありました。

あ、対策コードですが、厳重を喫する為ウチのサーバーでは、
public OnPlayerDeath(playerid, killerid, reason)
{
new weaponid = GetPlayerWeapon(killerid);
if(reason == 38 && !IsPlayerInAnyVehicle(killerid) && weaponid = 38)
{
gNextKickID[killerid] = 1;
}
return 1;
}

見たいな感じですね、倒した時に該当武器を持ってたらキック、もしくはカウント増加。
とりあえず、OnPlayerDeathの処理でプレイヤーを蹴ると後々厄介なので、
(Gamemodeなら比較的安全だと思いますが…)
遅延キックさえ徹底すればいいかなーっとしか考えて無かったですw

スラリンさん
またもや発見が早いですね、ありがとうございますw
動画の方も見てきました、一応座標に人が居る、っていうレベルでした、動いてるってレベル、直立移動…w
IV:MPと使う事が出来るのは最初に正式リリースした陣営になるのかな、だとしたら日本人に対して好意的な所にお願いしたいですw


スルメさん
日本でなにやってたん?


M&Bさん
いやぁ、徒歩にランクとかつけるつもりは全く無かったんですが、
無しにすると、ビークル搭乗時、徒歩時で表示の高さが変わるのが嫌でw
とくにアップデート式なんで目立つ目立つ…w
あの色の奴は、実はMOD SHOPで色変更とナイトロをつけたせいかも知れないですw
OnVehicleMod? だっけ、あれで全員に適用みたいなのが出来ればいいなぁ、今度やってみます。
ドローは装飾センスが問われる唯一の場所なので
気合入れてます、でもめんどくさいよねw

Dogfightは未だに楽しんで遊んでるw
スローモーション版は初めてだったけど、
動画には向いてたかもw
CLEO始めてからあの複雑なのを見て吐き気がするようになった…w


tomyさん
ちかいうちに、すっごい編隊飛行がお目見えするかもですよw
ただし、攻撃的ではなく、魅せる的な編隊飛行かもしれませんがw
インフォメーション
- 新着 -

- カテゴリー -

- アーカイブ -

- RSSフィード -

- サイト内検索 -

当サイトはLink Freeなので、Linkは どちらでもどなたでも自由にどうぞ。 feel my soul
Utility
Xbox360/PS3 GamerTag

ALMEIDA216


Twitter

Counter

ユニークアクセス :
オンライン :
PVアクセス :
リンク
このページのトップへ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。