SAMP0.3 NPC、SetPlayerSkillLevelについて

・NPC

0.3になってNPCが使えるようになりましたが、
導入にちょっとわかりにくい部分があるようです。

まず、server.cfg内に最大のNPC接続数を設定する必要があります。
下記のように設定します。

maxnpc 50

これだと最大50のNPCを許可します。


また、メインのゲームモードにNPCが接続したときに
何もしないように設定が必要です。
これは下記のようにOnPlayerConnect内に書きます。

public OnPlayerConnect(playerid){
  if(IsPlayerNPC(playerid)) return 1;//一番上に書く

  //他のコード

}


以上の2点が自分で導入した時の分かりにくい点でした。


・SetPlayerSkillLevel

プレイヤーの武器を扱うスキルを設定する関数です。
デフォルトではMAX値である999が設定されています。
これを調整すると、武器の命中率の増減、
ピストルだと一丁から二丁拳銃になったりということが起こります。

a_player.incにも書いてありますが、
武器とskill idの対応は以下のようになっています。

#define WEAPONSKILL_PISTOL 0
#define WEAPONSKILL_PISTOL_SILENCED 1
#define WEAPONSKILL_DESERT_EAGLE 2
#define WEAPONSKILL_SHOTGUN 3
#define WEAPONSKILL_SAWNOFF_SHOTGUN 4
#define WEAPONSKILL_SPAS12_SHOTGUN 5
#define WEAPONSKILL_MICRO_UZI 6
#define WEAPONSKILL_MP5 7
#define WEAPONSKILL_AK47 8
#define WEAPONSKILL_M4 9
#define WEAPONSKILL_SNIPERRIFLE 10

これはweapon idとは違う体系なので注意が必要です。
さらにこの関数は対となるスキルレベルをGetする関数がありません。
今のところ、自分で配列を作って管理するしかなさそうです。



comment

Secret

質問

NPCというのは町などで歩いている人たちですか?
それとも店などにいる販売する人ですか?

Re: 質問

> NPCというのは町などで歩いている人たちですか?
> それとも店などにいる販売する人ですか?

SA-MPにデフォルトで居る人が操作していないキャラを除いてどちらも含みます。
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