436 lines
9.4 KiB
Lua
Raw Normal View History

2023-06-26 04:40:53 -07:00
--------------------------------------------------------------------------------
-- Promote Job2_Gamb Sub Functions --
--------------------------------------------------------------------------------
function DummyFunc( Var )
cExecCheck "DummyFunc"
end
----------------------------------------------------------------------
-- DiceLightOff : <20><><EFBFBD><EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
----------------------------------------------------------------------
function DiceLightOff( Var )
cExecCheck( "DiceLightOff" )
---- DebugLog( "SubFunc _ DiceLightOff Start" )
if Var == nil or Var["Dice"]["Handle"] == nil
then
ErrorLog( "DiceLightOff::Var == nil" );
return
end
for i =1, #Var["Dice"]["Handle"]
do
cAnimate( Var["Dice"]["Handle"][i], "start", AnimationInfo["Dice"]["AniOff"] )
end
end
----------------------------------------------------------------------
-- FindDiceNum : <20>ڵ鿡 <20>´<EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>ȣ ã<><C3A3><EFBFBD>ִ<EFBFBD> <20>Լ<EFBFBD>
----------------------------------------------------------------------
function FindDiceNum( Var )
cExecCheck( "FindDiceNum" )
-- DebugLog( "SubFunc _ FindDiceNum Start" )
if Var == nil
then
ErrorLog( "FindDiceNum::Var == nil" );
return
end
local PlayRouletteGameInfo = Var["PlayRouletteGame"]
if PlayRouletteGameInfo == nil
then
ErrorLog( "FindDiceNum::PlayRouletteGameInfo == nil" );
return
end
local FindCurDiceHandle = PlayRouletteGameInfo["SelectedDiceHandle"]
for i = 1, #Var["Dice"]["Handle"]
do
if FindCurDiceHandle == Var["Dice"]["Handle"][i]
then
PlayRouletteGameInfo["SelectedDiceNum"] = i
-- DebugLog( "PlayRouletteGameInfo[\"SelectedDiceNum\"] : "..PlayRouletteGameInfo["SelectedDiceNum"] )
end
end
end
----------------------------------------------------------------------
-- SetAnswerDice : <20>귿<EFBFBD><EAB7BF> <20>ֻ<EFBFBD><D6BB><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ó<EFBFBD><C3B3><EFBFBD>ϴ<EFBFBD> <20>Լ<EFBFBD>
----------------------------------------------------------------------
function SetAnswerDice( Var )
cExecCheck( "SetAnswerDice" )
-- DebugLog( "SubFunc _ SetAnswerDice Start" )
if Var == nil
then
ErrorLog( "SetAnswerDice::Var == nil" );
return
end
if Var["PlayRouletteGame"]["SelectedDiceNum"] == nil
then
ErrorLog( "SetAnswerDice::SelectedDiceNum == nil" );
return
end
-- DebugLog("<22><><EFBFBD><EFBFBD> <20>귿 <20><><EFBFBD><EFBFBD> Ƚ<><C8BD> : "..Var["RouletteCount"] )
-- <20>귿<EFBFBD><EAB7BF> <20><><EFBFBD><EFBFBD> <20><>ȣ<EFBFBD><C8A3> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>õ<EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD> 10<31><30> <20>̻<EFBFBD><CCBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 100% <20><>÷)
if Var["RouletteCount"] >= ROULETTEGAME_PLAY_NUM
then
Var["PlayRouletteGame"]["AnswerDiceNum"] = Var["PlayRouletteGame"]["SelectedDiceNum"]
-- DebugLog( "ROULETTEGAME_PLAY_NUM <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>õ<EFBFBD>, 100% <20><>÷")
else
Var["PlayRouletteGame"]["AnswerDiceNum"] = cRandomInt( 1, 6 )
end
-- DebugLog( "<22>귿<EFBFBD><EAB7BF> <20><><EFBFBD><EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD> : "..Var["PlayRouletteGame"]["AnswerDiceNum"] )
end
----------------------------------------------------------------------
-- VanishMob : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD>(fadeout)<29>Ѵ<EFBFBD>
----------------------------------------------------------------------
function VanishMob( Var )
cExecCheck( "VanishMob" )
for i = 1, #RegenInfo["MobList"]
do
cVanishAll( Var["MapIndex"], RegenInfo["MobList"][i] )
end
end
----------------------------------------------------------------------
-- IsTimeOver : Ÿ<≯<EFBFBD> üũ
----------------------------------------------------------------------
function IsTimeOver( Var )
cExecCheck( "IsTimeOver" )
if Var == nil
then
ErrorLog( "IsTimeOver::Var == nil" )
return
end
if Var["LimitTime"] == nil
then
ErrorLog( "IsTimeOver::Var[\"LimitTime\"] == nil" )
return
end
if Var["CurSec"] == nil
then
ErrorLog( "IsTimeOver::Var[\"CurSec\"] == nil" )
return
end
if Var["LimitTime"] == "NoLimit"
then
-- DebugLog( "SubFunc _ IsTimeOver : <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD>з<EFBFBD>, <20><><EFBFBD>ѽð<D1BD> <20>ǹ̾<C7B9><CCBE><EFBFBD><EFBFBD><EFBFBD>" )
return false
elseif Var["LimitTime"] < Var["CurSec"]
then
-- DebugLog( "SubFunc _ IsTimeOver : <20>ð<EFBFBD><C3B0>ʰ<EFBFBD>" )
return true
else
return false
end
end
----------------------------------------------------------------------
-- IsFail : Fail <20><><EFBFBD><EFBFBD> üũ
----------------------------------------------------------------------
function IsFail( Var )
cExecCheck( "IsFail" )
if Var == nil
then
ErrorLog( "IsFail::Var == nil" )
return
end
-- Fail Case : <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
if cGetPlayerList( Var["MapIndex"] ) == nil
then
-- DebugLog( "IsFail : <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>" )
Var["StepFunc"] = QuestFailed
return true
end
-- Fail Case : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
if cIsObjectDead( Var["PlayerHandle"] ) == 1
then
-- DebugLog("IsFail : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>")
Var["StepFunc"] = QuestFailed
return true
end
-- Fail Case : Ÿ<><C5B8> <20><><EFBFBD><EFBFBD>
if IsTimeOver( Var ) == true
then
-- DebugLog("IsFail : TimeOver")
Var["StepFunc"] = QuestFailed
return true
end
end
------------------------------------------------------
-- Roulette_Click : <20>귿 Ŭ<><C5AC><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD> <20>۵<EFBFBD><DBB5>ϴ<EFBFBD> <20>Լ<EFBFBD>
------------------------------------------------------
function Roulette_Click( NPCHandle, PlyHandle )
cExecCheck ( "Roulette_Click" )
-- DebugLog("<22>귿 <20><><EFBFBD><EFBFBD>!")
if NPCHandle == nil
then
ErrorLog( "Roulette_Click::RouletteHandle == nil" )
return
end
if PlyHandle == nil
then
ErrorLog( "Roulette_Click::RouletteHandle == nil" )
return
end
local MapIndex = cGetCurMapIndex( NPCHandle )
if MapIndex == nil
then
ErrorLog( "Roulette_Click::MapIndex == nil" )
return
end
local Var = InstanceField[ MapIndex ]
if Var == nil
then
ErrorLog( "Roulette_Click::Var == nil" )
return
end
if Var["Roulette"] == nil
then
ErrorLog( "Roulette_Click::Var[\"Roulette\"] == nil" )
return
end
if Var["Roulette"]["Handle"] == nil
then
ErrorLog( "Roulette_Click::Var[\"Roulette\"][Handle] == nil" )
return
end
if NPCHandle ~= Var["Roulette"]["Handle"]
then
ErrorLog( "Ŭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>귿<EFBFBD>̶<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD><D1B3><EFBFBD> <20><><EFBFBD><EFBFBD> <20>귿 <20>ڵ鰪<DAB5><E9B0AA> <20>ٸ<EFBFBD><D9B8><EFBFBD><EFBFBD><EFBFBD>" )
return
end
local PlayRouletteGameInfo = Var["PlayRouletteGame"]
if PlayRouletteGameInfo == nil
then
ErrorLog( "Roulette_Click::Var[\"PlayRouletteGame\"] == nil" )
return
end
-- <20>ֻ<EFBFBD><D6BB><EFBFBD>,<2C>귿 <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>Ǿ<EFBFBD><C7BE>ٸ<EFBFBD>, <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD> <20>귿 Ŭ<><C5AC> <20><><EFBFBD><EFBFBD>
if PlayRouletteGameInfo["ReadyToGame"] == true
then
---- DebugLog("<22>̹<EFBFBD> <20><> <20><><EFBFBD>õǾ<C3B5><C7BE>⿡, Ŭ<><C5AC> <20><><EFBFBD><EFBFBD>")
return
end
PlayRouletteGameInfo["RouletteHandle"] = NPCHandle
-- <20>ֻ<EFBFBD><D6BB><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʰ<EFBFBD>, <20>귿 Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
if PlayRouletteGameInfo["SelectedDiceHandle"] == nil
then
cMobDialog( Var["MapIndex"], ChatInfo["Roulette_Click"]["SpeakerIndex"], ChatInfo["ScriptFileName"], ChatInfo["Roulette_Click"]["MsgIndex"] )
return
end
if PlayRouletteGameInfo["SelectedDiceNum"] < 1 or PlayRouletteGameInfo["SelectedDiceNum"] > 6
then
ErrorLog( "1~6<><36> <20><><EFBFBD><20>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>ȣ" )
return
end
-- <20><>Ģ<EFBFBD><C4A2> <20>°<EFBFBD> <20>귿 Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
PlayRouletteGameInfo["ReadyToGame"] = true
return
end
------------------------------------------------------
-- Dice_Click : <20>ֻ<EFBFBD><D6BB><EFBFBD> Ŭ<><C5AC><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD> <20>۵<EFBFBD><DBB5>ϴ<EFBFBD> <20>Լ<EFBFBD>
------------------------------------------------------
function Dice_Click( NPCHandle, PlyHandle )
cExecCheck ( "Dice_Click" )
if NPCHandle == nil
then
ErrorLog( "Dice_Click::DiceHandle == nil" )
return
end
if PlyHandle == nil
then
ErrorLog( "Dice_Click::PlyHandle == nil" )
return
end
local MapIndex = cGetCurMapIndex( NPCHandle )
if MapIndex == nil
then
ErrorLog( "Dice_Click::MapIndex == nil" )
return
end
local Var = InstanceField[ MapIndex ]
if Var == nil
then
ErrorLog( "Dice_Click::Var == nil" )
return
end
if Var["Dice"] == nil
then
ErrorLog( "Dice_Click::Var[\"Dice\"] == nil" )
return
end
if Var["Dice"]["Handle"] == nil
then
ErrorLog( "Dice_Click::Var[\"Dice\"][Handle] == nil" )
return
end
local PlayRouletteGameInfo = Var["PlayRouletteGame"]
if PlayRouletteGameInfo == nil
then
ErrorLog( "Dice_Click::Var[\"PlayRouletteGame\"] == nil" )
return
end
-- <20>ֻ<EFBFBD><D6BB><EFBFBD>,<2C>귿 <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>Ǿ<EFBFBD><C7BE>ٸ<EFBFBD>, <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD> Ŭ<><C5AC> <20><><EFBFBD><EFBFBD>
if PlayRouletteGameInfo["ReadyToGame"] == true
then
---- DebugLog("<22>̹<EFBFBD> <20><> <20><><EFBFBD>õǾ<C3B5><C7BE>⿡, Ŭ<><C5AC> <20><><EFBFBD><EFBFBD>")
return
end
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD> <20>ڵ鰪 <20><><EFBFBD><EFBFBD>
PlayRouletteGameInfo["SelectedDiceHandle"] = NPCHandle
-- DebugLog( "Your Selected DiceHandle : "..PlayRouletteGameInfo["SelectedDiceHandle"] )
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD> <20>ڵ鰪 <20>޾<EFBFBD>, <20><><EFBFBD><EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˻<EFBFBD>
FindDiceNum ( Var )
-- <20><><EFBFBD><EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
DiceLightOff( Var )
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD> <20><>Ű<EFBFBD><C5B0>
cAnimate( PlayRouletteGameInfo["SelectedDiceHandle"], "start", AnimationInfo["Dice"]["AniOn"] )
return
end
----------------------------------------------------------------------
-- Log Functions
----------------------------------------------------------------------
function GoToFail( Var, Msg )
cExecCheck( "GoToFail" )
if Var == nil
then
ErrorLog( "GoToFail : Var nil" );
return
end
ErrorLog( Msg )
-- <20><><EFBFBD><EFBFBD> <20><>ü <20><><EFBFBD><EFBFBD>
if Var["Door"]["Handle"] ~= nil
then
for i = 1, #Var["Door"]["Handle"]
do
cNPCVanish( Var["Door"]["Handle"][i] )
end
end
if Var["Roulette"]["Handle"] ~= nil
then
cNPCVanish( Var["Roulette"]["Handle"] )
end
if Var["Dice"]["Handle"] ~= nil
then
for i = 1, #Var["Dice"]["Handle"]
do
cNPCVanish( Var["Door"]["Handle"][i] )
end
end
if Var["NPC"]["Handle"] ~= nil
then
cNPCVanish( Var["NPC"]["Handle"] )
end
Var["StepFunc"] = ReturnToHome
end
----------------------------------------------------------------------
-- Log Functions
----------------------------------------------------------------------
function DebugLog( String )
cExecCheck ( "-- DebugLog" )
if String == nil
then
cAssertLog( "-- DebugLog::String == nil" )
return
end
cAssertLog( "Debug - "..String )
end
function ErrorLog( String )
cExecCheck ( "ErrorLog" )
if String == nil
then
cAssertLog( "ErrorLog::String == nil" )
return
end
cAssertLog( "Error - "..String )
end