バグ技みたいです

dive
這うように床を飛んでるように見えます。
どうやら周りからだけこのように見えるらしい。


コマンド部分全修正

トラブルによる切断が起きた人からコマンドを実行されると、
サーバが落ちてしまう問題を修正しました。
大変ご迷惑をおかけ致しましたが、
これでサーバが余り落ちる事はないと思います。


weaponチート防止

ミニガンと、ついでに刀の判定も行ってます。
キックできなかった場合に備えて予めコントロール不能にしています。

public OnPlayerDeath(playerid, killerid, reason){

if ( (reason==38) || (reason==8) ){//ミニガン、刀の判定
new pname[MAX_PLAYER_NAME];
SendClientMessage(killerid, COLOR_YELLOW,"あなたはminigunチートを行いました.");
TogglePlayerControllable(killerid, 0);
Kick(killerid);
GetPlayerName(killerid, pname, MAX_PLAYER_NAME);
format(warning, sizeof(warning), "%sはminigunチートによりkickされました.",pname);
SendClientMessageToAll(COLOR_YELLOW, warning);
}

return 1;
}


OnPlayerStateChange(playerid,newstate,oldstate)

タクシーの乗車フラグに関する命令を書いていて気づきました。
OnPlayerStateChange(playerid,newstate,oldstate)関数内で以下の関数を呼び出すと値が得られないようです。

IsPlayerInVehicle(playerid,vehicleid)
IsPlayerInAnyVehicle(vehicleid)

車両に乗っているかどうかは判別できないのに
GetPlayerVehicleID関数は正常動作するみたいです。

詳細知ってる方、コメント頂けたら幸いです。


便利な関数

公式Forumで見つけて簡単で便利そうな感じだったんで、自前で書いてみました。

ReturnPlayerName(playerid){ //プレイヤーの名前をリターンします
new name[256];
GetPlayerName(playerid,name,sizeof(name));
return name;
}

SetPlayerMoney(playerid,money){ //プレイヤーにお金をセットします
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,money);
return 1;
}


error 027

有名なエラーだと思いますが
スクリプトソースの中に「表」という字を入れるとエラーが出るようです。
例えば

SendClientMessage(playerid, COLOR_LIGHTBLUE,"/help - ヘルプを表示します.");

ではエラーが出てしまいます

SendClientMessage(playerid, COLOR_LIGHTBLUE,"/help - ヘルプを見る.");

という風に変えるしかなさそうです。
よく使う漢字なので少し不便です。


この件に関してALMEIDAさんよりご回答頂きました。内容は以下の通りです。
---------------------------------------------------------------

SendClientMessage(playerid, COLOR_LIGHTBLUE,"/help - ヘルプを表¥示します.");

実際は半角で ¥ を入力します

情報提供 トットさん


コマンドリファレンス Kamakura

/tpl - 有効なテレポート先一覧を見ます
/kill - 自殺します
/rules - ルールを見ます
/help - ヘルプを見ます
/rhelp - レース ヘルプ
/cphelp - コース作成 ヘルプ
/y - ワープ許可,/n - ワープ拒否,/gt [プレイヤーID] - ワープ
/lcr - 最後に乗った車両を転送
/spraycar - 100$で車を修理
/healme - 500$でHealthを全回復

/commands - コマンドを見ます
/commands2 - さらにコマンドを見ます

/givecash(/gc) [playername][金額] - 他のプレイヤーにお金を渡します
/taxi - タクシーを呼びます
/k - 手っ取り早く自殺します
/para - パラシュートを取得します
/minimad - あなたをミニガン戦争に誘います
/eagledm - デザートイーグルによるDMをします
/dcar - 車の壊し合いをします
/guns1 - 500でしょぼいガン取得
/guns2 - 1200$でまともなガン取得
/myteam - 自分の所属チームを見る
/teamscore - 各チームの合計点を見る
/tm [team message] 同じチーム全員にメッセージ送信
/dragon 何かを呼び出します
/jaf 緊急時に給油します
/view AT-400で客室に移動します

/credits - サーバとスクリプトのクレジットを見ます

/cpb (/b)記録タイマーを開始します
/cpe (/e)記録タイマーを停止します
/cpa (/a or/c)チェックポイントを追加します
/cpd (/d)最後のチェックポイントを削除します
/cpc (/cc)すべてのチェックポイントを削除します

/cps (/s)作成したコースを公開します
/cps [ID]作成したコースを特定IDで公開します
/cpr (/r)最後に登録したコースを削除します
/cpdt (/dt)作成したコースの所有権を放棄します
/rjoin (/rj)作成中のコースをテストします
/cpt (/t)タイマー記録時のCP距離を設定します

/rjoin [ID] (/rj)公開されているレースに参加します
/rquit (/rq)レースから離脱します
/rlist [Page] (/rl)公開されているレース一覧
/rcnt (/rc)カウンタダウンした後、レース開始を開始します
/rret (/rr)レースをリトライします


tramはいいです。

トラム


サンフィエロにトラム出してみました。
適当に座標指定したら浮いてます。
動かせる日を今か今かと待っております。


GetVehiclePos

GetVehiclePos(playerVehicle, Float:$x, Float:$y, Float:$z)

GetVehiclePos関数は公式wikiにて

この関数は特定IDの座標を取得するための物です。
座標は x, y, z の3つの値に格納されます。

とあるのだが、その下に

注意事項:
この関数は動きません。
乗り物の出現場所か、再設置した場所のみ取得可能です。
現在の座標は取得できません。

これでは意味がないです。

現状、乗車しているプレイヤーIDの位置をGetPlayerPosで取得して、
車の位置としています。ちょっとずれますが、大体いけるみたいです。


おまけfilterscript1 日時表示

/date と入力すると日時を表示するコマンドを追加します。
public OnPlayerCommandText(playerid, cmdtext[]) という関数内に以下のように記述します。


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

new tmp[256]; //変数の定義
new year, month, day, Hour, Minute, Second; //変数の定義
new playername[MAX_PLAYER_NAME]; //変数の定義
getdate(year, month, day); //日付取得
gettime(Hour, Minute, Second); 時刻取得
format(tmp, sizeof(tmp), " 現在の日時は%d年%d月%d日%d時%d分%d秒です",year,month,day,Hour,Minute,Second); //出力フォーマット設定

SendClientMessage(playerid, COLOR_YELLOW, tmp);
//playerid のクライアントに指定メッセージを送ります
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);//プレイヤーの名前を取得
printf("[%s]:/date",playername);//コンソールに状況を表示

return 1;
}


※このスクリプトはあらかじめ以下が定義されているとします。
便利なので入れておくと良いです。


#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA


filterscriptサンプル

今まで気づきませんでしたが、
sa:mp公式forunにfilterscriptのsampleが載っていました↓

#include <a_samp>

public OnFilterScriptInit() {
print("\n----------------------------------");
print("Filterscript Blah sucessfully loaded");
print("----------------------------------\n");
}

public OnFilterScriptExit() {
print("\n----------------------------------");
print("Filterscript Blah sucessfully un-loaded");
print("----------------------------------\n");
}

public OnPlayerCommandText(playerid, cmdtext[]) {
if (strcmp(cmdtext, "/blah", true)==0) {
//do something...
return 1;
}
return 0;
}

これを利用して何か作ってみようかと思います。


SA:MPサーバ(Linux)

1.公式サイトの http://www.sa-mp.com/ の Downloads より "SA:MP 0.1b r2 Linux Server" をダウンロードする。もちろんサーバの環境により適切な物をダウンロード。

2.Linux上でアーカイブを解凍する。tar -xzvf とかです。

3.解凍して出てきたフォルダを丸ごと、置きたい場所に移動する。

4.エディタで"server.cfg"を編集する。

5."samp01b-r2"をバックグラウンド実行する。
$./samp01b-r2 &
実行後にリモートならexitで抜ける。
これで何事もない限り実行されたままになる。


はじめに

GTA SA:MPとはGTA San Andreas Multi Player の事です。
名の通り、GTA SAでマルチプレイできるMODです。
現在 SA:MP 0.1b r2 が最新版で、
もうじき0.2が出るであろうと言われています。

このMODを導入する事により
マルチプレイでデスマッチ、カーレース、不動産売買
車の売買、ミニゲーム等を行う事ができます。
何ができるかは、各サーバが提供している
ゲームモードにより様々です。
興味ある方は是非導入してみてください。


vehicleリスト (公式wikiより転載)

AddStaticVehicle関数で設置可能な台数は
最大250台、50種類です。

Bikes

ID Name Type

581 bf400 bike
523 copbike bike
462 faggio bike
521 fcr900 bike
463 freeway bike
522 nrg500 bike
461 pcj600 bike
448 pizzaboy bike
468 sanchez bike
586 wayfarer bike


Bicycles

509 bike bmx
481 bmx bmx
510 mtbike bmx


Boats

472 coastg boat
473 dinghy boat
493 jetmax boat
595 launch boat
484 marquis boat
430 predator boat
453 reefer boat
452 speeder boat
446 squalo boat
454 tropic boat


Cars

445 admiral car
602 alpha car
416 ambulan car
485 baggage car
568 bandito car
429 banshee car
433 barracks car
499 benson car
424 bfinject car
536 blade car
496 blistac car
504 bloodra car
422 bobcat car
609 boxburg car
498 boxville car
401 bravura car
575 broadway car
518 buccanee car
402 buffalo car
541 bullet car
482 burrito car
431 bus car
438 cabbie car
457 caddy car
527 cadrona car
483 camper car
524 cement car
415 cheetah car
542 clover car
589 club car
437 coach car
532 combine car
480 comet car
596 copcarla car
599 copcarru car
597 copcarsf car
598 copcarvg car
578 dft30 car
486 dozer car
507 elegant car
562 elegy car
585 emperor car
427 enforcer car
419 esperant car
587 euros car
490 fbiranch car
528 fbitruck car
533 feltzer car
544 firela car
407 firetruk car
565 flash car
455 flatbed car
530 forklift car
526 fortune car
466 glendale car
604 glenshit car
492 greenwoo car
474 hermes car
588 hotdog car
434 hotknife car
502 hotrina car
503 hotrinb car
494 hotring car
579 huntley car
545 hustler car
411 infernus car
546 intruder car
559 jester car
508 journey car
571 kart car
400 landstal car
403 linerun car
517 majestic car
410 manana car
551 merit car
500 mesa car
418 moonbeam car
572 mower car
423 mrwhoop car
414 mule car
516 nebula car
582 newsvan car
467 oceanic car
443 packer car
470 patriot car
404 peren car
514 petro car
603 phoenix car
600 picador car
413 pony car
426 premier car
436 previon car
5 47 primo car
489 rancher car
441 rcbandit car
594 rccam car
564 rctiger car
515 rdtrain car
479 regina car
534 remingtn car
432 rhino car
505 rnchlure car
442 romero car
440 rumpo car
475 sabre car
543 sadler car
605 sadlshit car
495 sandking car
567 savanna car
428 securica car
405 sentinel car
535 slamvan car
458 solair car
580 stafford car
439 stallion car
561 stratum car
409 stretch car
560 sultan car
550 sunrise car
506 supergt car
601 swatvan car
574 sweeper car
566 tahoma car
549 tampa car
420 taxi car
459 topfun car
576 tornado car
525 towtruck car
531 tractor car
408 trash car
583 tug car
451 turismo car
558 uranus car
552 utility car
540 vincent car
491 virgo car
412 voodoo car
478 walton car
421 washing car
529 willard car
555 windsor car
456 yankee car
554 yosemite car
477 zr3 50 car


Helicopters

548 cargobob heli
425 hunter heli
417 leviathn heli
487 maverick heli
497 polmav heli
563 raindanc heli
501 rcgoblin heli
465 rcraider heli
447 seaspar heli
469 sparrow heli
488 vcnmav heli


Monster Trucks

406 dumper mtruck
573 duneride mtruck
444 monster mtruck
556 monstera mtruck
557 monsterb mtruck


Planes

592 androm plane
577 at 400 plane
511 beagle plane
512 cropdust plane
593 dodo plane
520 hydra plane
553 nevada plane
464 rcbaron plane
476 rustler plane
519 shamal plane
460 skimmer plane
513 stunt plane
539 vortex plane


Quad Bike

471 quad quad


Trailers

435 artict1 trailer
450 artict2 trailer
591 artict3 trailer
606 bagboxa trailer
607 bagboxb trailer
610 farmtr1 trailer
584 petrotr trailer
608 tugstair trailer
611 utiltr1 trailer


Trains

590 freibox train
569 freiflat train
537 freight train
538 streak train
570 streakc train
449 tram train


SA:MPサーバ(Win)

1.公式の http://www.sa-mp.com/download.cml から"SA:MP 0.1b r2 Windows Server"をダウンロードします。

2.適当な場所に解凍します。

3.解凍したら、"samp-server.exe"と同じディレクトリに"filterscripts","scriptfiles"というディレクトリを作成します。

4.先ほどと同じディレクトリ内の"server.cfg"をテキストエディタで開いて編集します。以下を参考にして下さい。

echo Executing Server Config...
lanmode 1 <-公開する場合は 0、非公開は 1
maxplayers 32 <-収容最大人数
port 7777 <-接続に使用するポート
hostname Unnamed Server <-サーバの名称
gamemode0 lvdm 1 <-ゲームモードの指定とループ回数
gamemode1 rivershell 1
gamemode2 area51 1
gamemode4 sftdm 1
weburl www.sa-mp.com <-サーバに関するURL
rcon_password changeme <-管理者でリモートログインする際のパス

5.ファイアーウォールやルータの設定をして、、"samp-server.exe"を起動します。以上です。


コマンドリファレンス Muromachi

公開サーバで使える一般コマンドは以下の通りです。070418

/help
  全般のHELPを表示
/accounthelp
  アカウントに関するヘルプを表示
/carhelp
  車に関するヘルプを表示
/tunerhelp
  車の改造に関するヘルプを表示
/chathelp
  チャットに関するヘルプを表示
/spawnhelp
  出現に関するヘルプを表示
/moneyhelp
  お金に関するヘルプを表示
/stealhelp
  盗みに関するヘルプを表示
/weaponhelp
  武器に関するヘルプを表示
/jobhelp
  仕事に関するヘルプを表示
/funhelp /funhelp2
  イベントに関するヘルプを表示
/bountyhelp 
  懸賞金に関するヘルプを表示
/otherhelp
  その他のヘルプを表示
/propertyhelp
  物件に関するヘルプを表示
/deathmatch
  デスマッチイベントを表示
/races /races2 /races3 /races4 /races5
  レースイベントを表示
/rules /rules2
  ゲームモードのルールを表示
/register
  名前とパスを登録
/setpass
  パスワードを再設定
/login
  ログインします
/gamble
  ギャンブルライセンスを購入
/lock /close
  乗り物のドアをロック
/unlock /open
  乗り物のドアロックを解除
/bank
  ATMで預金
/bankall
  ATMで全額預金
/withdraw
  ATMから出金
/transfer
  ATMに行かずに出金
/balance
  ATMの預金額を表示
/givecash
  他のプレイヤーにお金を渡す
/hitman
  他のプレイヤーに懸賞金を掛ける
/bounty
  他のプレイヤーの懸賞金額を表示
/buy
  物件を購入
/creditbuy
  物件をクレジットで購入
/sell
  物件を売却
/flog
  物件を遠隔地から売却
/buyautolock
  乗り物のオートロック購入
/creditautolock
  乗り物のオートロックをクレジット購入
/sellautolock
  乗り物のオートロックを売却
/buyfuelcan
  緊急用燃料を購入
/creditfuelcan
  緊急用燃料をクレジット購入
/sellfuelcan
  緊急用燃料を売却
/fillupcan
  緊急用燃料を使用
/property
  物件の所有者を表示
/properties /lsprop1 /lsprop2 /lsprop3 /blprop1 /blprop2
/sfprop1 /sfprop2 /deprop1 /deprop2 /deprop3 /lvprop1 /lvprop2
/lvprop3 /roprop1
  物件一覧を表示
/bwmelee /bwpistol /bwshotgun /bwsmg /bwrifle
  再出現武器を購入
/bwgift
/weaplist
  再出現武器のリストを表示
/giftlist
  贈り物を購入
/skydive
  スカイビングします
/slap
  他のプレイヤーを侮辱
/para
  パラシュートを装備
/me
  自分の行動を他に伝えます
/query
  プライベートメッセージモードで会話 使用方法: ![メッセージ]
/setpay
  タクシー料金を設定
/getpay
  タクシーの客から幾ら貰ったかを表示
/stat
  ステータスを表示
/sv
  手動セーブ
/myproperties
  所有している物件を表示
/taxi
  タクシーで移動
/credittaxi
  クレジット支払いでタクシー移動
/taxilocs
  タクシーで移動できる場所の表示
/new
  新しく追加された機能を表示
/hackthebank
  銀行をハック
/hacklist
/hackpass 
/springbreak
  警察をハック
/springlist
/springpass
/hackthebankhelp
  銀行ハックのヘルプを表示
/springbreakhelp
  警察ハックのヘルプを表示
/taxirates
  タクシーの料金レート表示
/speedo
/clearchat
  チャット表示をクリア
/callmedic
  救急車を呼ぶ
/eaglematch
  イーグルデスマッチを行う(参加)
/chainmatch
  チェーンソーデスマッチを行う(参加)
/minimatch
  ミニガンデスマッチを行う(参加)
/uzimatch
  ウージーデスマッチを行う(参加)
/rusroulette
  ロシアンルーレットを行う(参加)
/dragrace1 /dragrace2 /dragrace3 /dragrace4 /dragrace5
/dragrace6 /dragrace7 /dragrace8 /dragrace9
  ドラッグレースを行う(参加)
/sprintrace1 /sprintrace2 /sprintrace3 /sprintrace4
/sprintrace5 /sprintrace6 /sprintrace7
  スプリントレースを行う(参加)
/motorrace1 /motorrace2 /motorrace3 /motorrace4 /motorrace5
  二輪車レースを行う(参加)
/buyspeedo
/speedooff
/speedoon
/sellspeedo
/flip
  車が引っかかったときに使います
/clue
/kickpassenger
  同乗者を降ろす
/payandspray
  乗り物を修理
/lowtuner
  車をロウライダー仕様にする
/streettuner
  車をストリート仕様にする
/backtolv
  車を改造後 las ventulas に戻る
/cancelback
  las ventulas に戻るのをキャンセル
/canceltuner
  改造をキャンセル
/grouptalk
/groupinvite
/groupaccept
/groupdeny
/grouplist
/groupleave
/grouphelp
/report
/fillup
  ガソリンを補給
/fillstop
  ガソリン補給を停止
/gaslocs
  ガソリンスタンドの場所を表示
/fuelmeteron
  燃料メーターをオン
/fuelmeteroff
  燃料メーターをオフ
/spawnmethere
  出現場所を購入
/spawnlocoff
/spawnlocs
  出現場所を表示
/spawnview
  出現場所を確認
/medic
/medicoff
/test
/tip
/tipnl
/resetdm
/cardive
  車に乗ってスカイダイビング
/pcd
/viewtank
/patrol
/stoppatrol
/increasebank
/liftme
  リフトを使って昇る
/pizza
/pizzastop
/pizzaboard
/helperhelp
/introduce
/whoneedshelp
/taxidriver
  タクシーミッションを開始
/notaxidriver
  タクシーミッションを中止
/taxistop
  タクシーミッションを終了
/taxiboard
/cancelrace
/ignore
/ignorelist
/unignore
/visit
  留置所に面会に行く
/leave
  留置所を去る
/hudcolor
/colors
/colors1
/colors2
/colors3
/colors4
/colors5
/colors6
/colors7
/colors8
/owncolor
/removeowncolor


公開サーバ

sprout8は以下のSA:MPサーバを運営しています。

Linuxサーバ(24H)
HostName: Kamakura Bakufu (Japan)
Address: raigis2.ath.cx:7777


SA:MPクライアント

まず、PC版のGTA San andreasを持っていて、
インターネット接続の環境があることが必要です。

1.持っているGTA SAが修正版の場合、あらかじめ NoCDpatch をあてておきます。

2.公式サイトの http://www.sa-mp.com/ の Downloads から
"SA:MP 0.1b Client"をダウンロードしてインストールします。

3.デスクトップにできた"SA-MP"のアイコンをダブルクリックして起動します。

4.Name の欄に好きな名前を入れます。
そして、メニューから Add Server を選んで、サーバを追加します。

5.好きなサーバを選んで Connect すれば、プレイ開始です。


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