Skip to content
poco edited this page Apr 1, 2017 · 14 revisions

summary

pcsx2-1.4.0-rr v3.0 Lua Scripting の関数リストです。 Lua5.3に関しては公式マニュアルをご参照ください。 Lua manual 5.3

bit演算

lua5.3から公式サポートされています。[http://www.lua.org/manual/5.3/manual.html#3.4.2]

emu

emu.frameadvance()

frameadvance を実行します。

emu.pause()

pause を実行します。

emu.unpause()

UnPauses を実行します。

int emu.framecount()

現在のフレーム数を返します。

emu.registerbefore(function)

フレーム前に関数を実行します。

emu.registerafter(function)

フレーム後に関数を実行します。
実装としてはregisterbeforeの前に実行するだけです。
registerbeforeで十分だと思います。

emu.registerexit(function)

lua終了時に関数を実行します。

int emu.lagcount()

※未実装

boolean emu.lagged()

※未実装

memory

メモリ操作関連の関数となります。
デバッグウィンドウのMemoryタブに表示されている内容と同じものです。
引数のcpuは"r3000"と"r5900"があります。(作者の知識不足で違いが分かっていません…)
※あと、PCSX2v1.4.0にはメモリ検索機能はありません。

int memory.readXXX(int addrss, string cpu)

メモリの指定したアドレスの値を取得します。
int memory.readbyte(int,string)
int memory.readbytesigned(int,string)
int memory.readword(int,string)
int memory.readwordsigned(int,string)
int memory.readdword(int,string)
int memory.readdwordsigned(int,string)

memory.writeXXX(int addrss, int val, string cpu)

メモリの指定したアドレスに値を書き込みます。
memory.writebyte(int addr, int val ,string)
memory.writedword(int addr, int val ,string)
※(wordは未実装です)

joypad

ゲームへの入力情報を扱います。
処理順序としては

  1. キーボード/PADからの入力
  2. KeyMovieの処理
  3. Luaの処理
    となっています。

portは0(1Player)または1(2Player)の値をとります。
Key情報が格納されたtableの情報は以下の通りです。

key val
Normal Key up,right,left,down,select,start,x,circle,square,triangle,l1,l2,l3,r1,r2,r3 押下情報をbool値で返します。(falseは押されていない)
Analog Key l_updown 左アナログスティックの情報を0~255の数値で返します。0が上へ最大、127がニュートラル0、255が下へ最大に動かしている値です。
Analog Key l_leftright 左アナログスティックの情報を0~255の数値で返します。0が左へ最大、127がニュートラル0、255が右へ最大に動かしている値です。
Analog Key r_updown 右アナログスティックの情報を0~255の数値で返します。0が上へ最大、127がニュートラル0、255が下へ最大に動かしている値です。
Analog Key r_leftright 右アナログスティックの情報を0~255の数値で返します。0が左へ最大、127がニュートラル0、255が右へ最大に動かしている値です。

table joypad.get(int port)

前フレーム(最新のフレーム)で入力されたKey情報をtableで返します。

joypad.set(int port, table buttons)

次のフレームの入力情報を設定します。

savestate

savestate.saveslot(int slotnum)

指定したslot番号でQSします。スロット番号は0~9までです。

savestate.loadslot(int slotnum)

指定したslot番号でQLします。スロット番号は0~9までです。

movie

string movie.mode()

再生中のKeyMovieの状態を"record","playback"で返します。再生していない場合は nil を返します。

int movie.length()

再生中のKeyMovieの最大フレーム数を返します。再生していない場合は nil を返します。

string movie.author() / getauthor

再生中のKeyMovieの著者を返します。再生していない場合は nil を返します。

string movie.cdrom() / getcdrom

再生中のKeyMovieのcdrom情報を返します。再生していない場合は nil を返します。

string movie.name() / getname

再生中のKeyMovieのファイル名を返します。再生していない場合は nil を返します。

int movie.rerecordcount()

再生中のKeyMovieの追記回数を返します。再生していない場合は nil を返します。

movie.stop() / close

再生中のKeyMovieを止めます。

gui

※未実装

lua

close()

luaスクリプトを閉じます。
lua実行中の途中で終了したい場合に使ってください。明示的に使う必要はありません。

その他

print(string)

コンソールにメッセージを表示します。