Skip to content

Instantly share code, notes, and snippets.

@himika
Last active September 11, 2015 09:48
Show Gist options
  • Save himika/e7d844f0d902701d177e to your computer and use it in GitHub Desktop.
Save himika/e7d844f0d902701d177e to your computer and use it in GitHub Desktop.
mrubyで書くSKSEプラグインのサンプル
#
# mrubyで書くSKSEプラグインのサンプル
#
p "スクリプトがロードされました: " + $0
p Time.now
# Script SampleQuest extends Quest
class SampleQuest < Quest
# 自作Papyrus関数
def Add(a, b)
Debug.Notification(a.to_s + " + " + b.to_s)
return a + b
end
# float Function Add(float a, float b) native
papyrus_function :Add, [Float, Float] => Float
end
def data_loaded(mods)
# すべてのesp, esmが読み込まれた直後の処理をここに書く
# 読み込まれたMODをログに全部書き出す
mods.each do |mod_name|
p mod_name
end
end
def game_start(save_file)
# ゲーム開始時の処理をここに書く
if save_file.nil?
p "新規ゲーム"
else
p "ロード: " + save_file
end
player = Game.get_player
# OnHitイベントを受信するハンドラを設定
VM.add_event_handler("OnHit") do |aggressor, target|
# aggressor、targetどちらかがプレイヤーなら
if aggressor == player or target == player
# プレイヤーにOnPlayerHitイベントを送信する
player.queue_event("OnPlayerHit", aggressor, target)
end
end
end
def game_revert()
# ゲーム終了時の後処理をここに書く
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment