-------------------------------------------------------------------------------- -- Pet Setting Function File -- -------------------------------------------------------------------------------- function PetBaseInitIdleAction( PetMem ) cExecCheck( "PetBaseInitIdleAction" ) if PetMem == nil then ErrorLog( "PetBaseInitIdleAction::PetMem == nil" ) return false end PetMem["PetInfo"]["PetMode"]["nIdleActionMode"] = PIAM_INVALID -- PetCommon ÂüÁ¶ -- ½ºÅÜ ¹â±â °ü·Ã PetMem["PetInfo"]["bCurIdleStepActionDone"] = nil -- true / false PetMem["PetInfo"]["nIdleStep"] = 0 -- 1ºÎÅÍ À¯È¿ : ÇöÀç ½ºÅÜ PetMem["PetInfo"]["nIdleEndStep"] = 0 -- 1ºÎÅÍ À¯È¿ : ÀÌ ½ºÅܱîÁö ¼öÇàÈÄ Á¾·á ÈÄ ÃʱâÈ­ PetMem["PetInfo"]["nIdleStepActionType"] = PISAT_INVALID -- PetCommon ÂüÁ¶ PetMem["PetInfo"]["nNextIdleStepType"] = PNIST_INVALID -- PetCommon ÂüÁ¶ PetMem["PetInfo"]["nNextIdleStepDistance"] = 0 PetMem["PetInfo"]["dNextIdleStepTime"] = PetMem["InitialSec"] -- ´í½º ¸ðµå °ü·Ã PetMem["PetInfo"]["nCurDanceNo"] = 0 PetMem["PetInfo"]["Time"]["DanceStartTime"] = PetMem["InitialSec"] -- ¾×¼Ç ½ÃÀÛ ½Ã°£ ÃʱâÈ­ PetMem["PetInfo"]["Time"]["EnterIdleAction"] = PetMem["InitialSec"] -- ¸ñÇ¥ ÁÂÇ¥ ÃʱâÈ­ PetMem["PetInfo"]["Coord"]["Next"]["x"] = PetMem["PetInfo"]["Coord"]["Cur"]["x"] PetMem["PetInfo"]["Coord"]["Next"]["y"] = PetMem["PetInfo"]["Coord"]["Cur"]["y"] -- ¾ÆÀÌµé »óÅ¿¡¼­ ÇöÀç ¼±ÅÃµÈ Å×À̺í PetMem["PetInfo"]["tCurIdleActRecord"] = nil return true end -- Æê ¸¶½ºÅÍ Á¤º¸ -- ¸¶½ºÅÍ ÇÚµé °¡Á®¿À±â °³Á¶(ÆêÀ϶§)ok -- ¸¶½ºÅÍ Ä³¸¯¹øÈ£ °¡Á®¿À´Â ÇÔ¼ö ¸¸µé±â(¾øÀ¸¸é)ok -- ¸¶½ºÅÍ À§Ä¡ °¡Á®¿À±â ( ÇÚµé·Î)ok -- ¸¶½ºÅÍ Ä³¸¯ ¸ðµå °¡Á®¿À±â ÇÔ¼ö ¸¸µé±â( ¾øÀ¸¸é )ok function PetBaseInitMaster( PetMem ) cExecCheck( "PetBaseInitMaster" ) if PetMem == nil then ErrorLog( "PetBaseInitMaster::PetMem == nil" ) return false end if PetMem["MasterInfo"] == nil then PetMem["MasterInfo"] = {} end local nMasterHandle = cGetMaster( PetMem["nHandle"] ) if nMasterHandle == nil then return false end local nMasterRegNum = cGetRegistNumber( nMasterHandle ) if nMasterRegNum == nil then return false end local nMasterX, nMasterY = cObjectLocate( nMasterHandle ) if nMasterX == nil then return false end -- ÃÖÃÊ Çѹø ¼ÂÆà PetMem["MasterInfo"]["nHandle"] = nMasterHandle PetMem["MasterInfo"]["nRegNo"] = nMasterRegNum -- ¸Å¹ø ¼ÂÆà if PetMem["MasterInfo"]["Coord"] == nil then PetMem["MasterInfo"]["Coord"] = {} end PetMem["MasterInfo"]["Coord"]["Last"] = { x = nMasterX, y = nMasterY } -- ÃÖ±Ù ·çƾ¿¡¼­ÀÇ ¸¶½ºÅÍ ÁÂÇ¥ PetMem["MasterInfo"]["Coord"]["Cur"] = { x = nMasterX, y = nMasterY } -- ÇöÀç ·çƾ¿¡¼­ÀÇ ¸¶½ºÅÍ ÁÂÇ¥ return true end -- Æê Á¤º¸ -- Æê Çൿ¿¡ µû¶ó ´Ù¸¥ Æêµé ¸¶ÀÎµå º¯È­°ª ¼ÂÆÃÇÏ´Â ÇÔ¼ö ¸¸µé±â ( ¿©±â¼± enum °ª ¸ð¸£°í ¼­¹ö¿¡¼­¸¸ ¾Ë°Ô²û )ok -- Æê ¸¶Àεå¿Í ½ºÆ®·¹½º¸¦ °¡Á®¿À´Â ÇÔ¼ölater -- Æê ¸¶Àεå¿Í ½ºÆ®·¹½º·Î ÇൿÇÒ °ÍÀÌ ¹«¾ùÀÎÁö¸¦ ¹Þ¾Æ¿À´Â ÇÔ¼ö ( »ç¿îµå, Çì¾î¸µÅ© Æ÷ÇÔ °¡´É )changedok function PetBaseInitPet( PetMem ) cExecCheck( "PetBaseInitPet" ) if PetMem == nil then ErrorLog( "PetBaseInitPet::PetMem == nil" ) return false end local nHandle = PetMem["nHandle"] if PetMem["PetInfo"] == nil then PetMem["PetInfo"] = {} end local nPetRegNum = cGetRegistNumber( nHandle ) if nPetRegNum == nil then ErrorLog( "PetBaseInitPet::nPetRegNum == nil" ) return false end local nPetX, nPetY = cObjectLocate( nHandle ) if nPetX == nil then ErrorLog( "PetBaseInitPet::cObjectLocate failed" ) return false end local nWalkSpeed = cPet_GetWalkSpeed( nHandle ) local nRunSpeed = cPet_GetRunSpeed( nHandle ) if nWalkSpeed == nil or nRunSpeed == nil then ErrorLog( "PetBaseInitPet::nWalkSpeed == nil or nRunSpeed == nil" ) return false end -- ÃÖÃÊ Çѹø ¼ÂÆà PetMem["PetInfo"]["nHandle"] = nHandle PetMem["PetInfo"]["nRegNo"] = nPetRegNum -- ¼³Á¤ ¾ÈµÇ¾îÀÖÀ» ¶© ¾øÀ» ¼öµµ ÀÖÀ½ PetMem["PetInfo"]["nSpeedWalk"] = nWalkSpeed -- ·ç¾ÆÇÔ¼ö ³»ºÎ¿¡ ±¸ÇöµÇ¾îÀ־ ¾ÆÁ÷ »ç¿ë ¾ÈÇÔ PetMem["PetInfo"]["nSpeedRun"] = nRunSpeed -- ·ç¾ÆÇÔ¼ö ³»ºÎ¿¡ ±¸ÇöµÇ¾îÀ־ ¾ÆÁ÷ »ç¿ë ¾ÈÇÔ -- ¸Å¹ø ¼ÂÆà if PetMem["PetInfo"]["Coord"] == nil then PetMem["PetInfo"]["Coord"] = {} end PetMem["PetInfo"]["Coord"]["Last"] = { x = nPetX, y = nPetY } -- ÃÖ±Ù ·çƾ¿¡¼­ÀÇ Æê ÁÂÇ¥ PetMem["PetInfo"]["Coord"]["Cur"] = { x = nPetX, y = nPetY } -- ÇöÀç ·çƾ¿¡¼­ÀÇ Æê ÁÂÇ¥ PetMem["PetInfo"]["Coord"]["Next"] = { x = nPetX, y = nPetY } -- À̵¿¸ñÇ¥ÁÂÇ¥ PetMem["PetInfo"]["Coord"]["Center"] = { x = nPetX, y = nPetY } -- ƯÁ¤ÇൿÀÇ Á᫐ ÁÂÇ¥ -- ÃÖÃÊ ¼ÂÆà if PetMem["PetInfo"]["Tendency"] == nil then PetMem["PetInfo"]["Tendency"] = {} end PetMem["PetInfo"]["Tendency"]["nMind"] = 0 -- ÇöÀç´Â Á¸¼­¹ö Äڵ忡¼­¸¸ »ç¿ëÇÔ PetMem["PetInfo"]["Tendency"]["nStress"] = 0 -- ÇöÀç´Â Á¸¼­¹ö Äڵ忡¼­¸¸ »ç¿ëÇÔ if PetMem["PetInfo"]["PetMode"] == nil then PetMem["PetInfo"]["PetMode"] = {} end PetMem["PetInfo"]["PetMode"]["nMasterMode"] = PMM_NONE -- PetCommon ÂüÁ¶ PetMem["PetInfo"]["PetMode"]["nActionMode"] = PAM_NONE -- PetCommon ÂüÁ¶ PetMem["PetInfo"]["PetMode"]["nIdleActionMode"] = PIAM_INVALID -- PetCommon ÂüÁ¶ if PetMem["PetInfo"]["Time"] == nil then PetMem["PetInfo"]["Time"] = {} end PetMem["PetInfo"]["Time"]["ExecSaveTendency"] = PetMem["InitialSec"] PetMem["PetInfo"]["Time"]["LastEnterStayAtCallSee"] = PetMem["InitialSec"] PetMem["PetInfo"]["Time"]["LastEnterStayAtDiedSad"] = PetMem["InitialSec"] PetMem["PetInfo"]["Time"]["DanceStartTime"] = PetMem["InitialSec"] PetMem["PetInfo"]["Time"]["ExecIdleActMode"] = PetMem["InitialSec"] PetMem["PetInfo"]["Time"]["EnterFarIdle"] = PetMem["InitialSec"] PetMem["PetInfo"]["Time"]["LastActIdleMode"] = PetMem["InitialSec"] PetMem["PetInfo"]["Time"]["EnterIdleAction"] = PetMem["InitialSec"] -- Idle Action ÁøÀÔ Ã¼Å©¿ëµµ return true end function PetBaseInitTarget( PetMem ) cExecCheck( "PetBaseInitTarget" ) if PetMem == nil then ErrorLog( "PetBaseInitTarget::PetMem == nil" ) return false end if PetMem["TargetInfo"] == nil then PetMem["TargetInfo"] = {} end -- Idle Action Info for Fix Target PetMem["TargetInfo"]["nHandle"] = -1 if PetMem["TargetInfo"]["Coord"] == nil then PetMem["TargetInfo"]["Coord"] = {} end PetMem["TargetInfo"]["Coord"]["Last"] = { x = nPetX, y = nPetY } -- ¾ÆÁ÷ »ç¿ë ¾ÈÇÔ PetMem["TargetInfo"]["Coord"]["Cur"] = { x = nPetX, y = nPetY } return true end function PetBaseInitTargetMaster( PetMem ) cExecCheck( "PetBaseInitTargetMaster" ) if PetMem == nil then ErrorLog( "PetBaseInitTargetMaster::PetMem == nil" ) return false end if PetMem["TargetMasterInfo"] == nil then PetMem["TargetMasterInfo"] = {} end PetMem["TargetMasterInfo"]["nHandle"] = -1 if PetMem["TargetMasterInfo"]["Coord"] == nil then PetMem["TargetMasterInfo"]["Coord"] = {} end PetMem["TargetMasterInfo"]["Coord"] = {} PetMem["TargetMasterInfo"]["Coord"]["Last"] = { x = nPetX, y = nPetY } PetMem["TargetMasterInfo"]["Coord"]["Cur"] = { x = nPetX, y = nPetY } return true end -- Æê ¸Þ¸ð¸® ¾ÈÀÇ ¸ðµç °ª ¼ÂÆà function PetBaseInit( PetMem, nHandle, sMapIndex ) cExecCheck( "PetBaseInit" ) -- ±âº» parameter Á¤º¸ PetMem["nHandle"] = nHandle PetMem["sMapIndex"] = sMapIndex PetMem["Func"] = DummyFunc -- ÃÖÃÊ ½Ã°£ ¼ÂÆà PetMem["InitialSec"] = cCurrentSecond() PetMem["CurSec"] = cCurrentSecond() if PetBaseInitMaster( PetMem ) ~= true then ErrorLog( "PetBaseInit::PetBaseInitMaster Failed" ) return false end cExecCheck( "PetBaseInit" ) if PetBaseInitPet( PetMem ) ~= true then ErrorLog( "PetBaseInit::PetBaseInitPet Failed" ) return false end cExecCheck( "PetBaseInit" ) if PetBaseInitTarget( PetMem ) ~= true then ErrorLog( "PetBaseInit::PetBaseInitTarget Failed" ) return false end cExecCheck( "PetBaseInit" ) if PetBaseInitTargetMaster( PetMem ) ~= true then ErrorLog( "PetBaseInit::PetBaseInitTargetMaster Failed" ) return false end cExecCheck( "PetBaseInit" ) if PetBaseInitIdleAction( PetMem ) ~= true then ErrorLog( "PetBaseInit::PetBaseInitIdleAction Failed" ) return false end cExecCheck( "PetBaseInit" ) return true end -- ÇöÀç ½Ã°£À» Á¦¿ÜÇÑ Æê °ü·Ã Á¤º¸ ¾÷µ¥ÀÌÆ®( 2013.11.20 ÇöÀç ÁÂÇ¥¸¸ ¾÷µ¥ÀÌÆ®ÇÔ ) function PetBaseUpdate( PetMem ) cExecCheck( "PetBaseUpdate" ) if PetMem == nil then ErrorLog( "PetBaseUpdate::PetMem == nil" ) return false end -- ÇʼöÀû ¿ä¼Ò ---------------------------------------- -- ¸¶½ºÅÍ À§Ä¡ Á¤º¸ °»½Å local nMasterX, nMasterY = cObjectLocate( PetMem["MasterInfo"]["nHandle"] ) if nMasterX == nil then return false end PetMem["MasterInfo"]["Coord"]["Last"]["x"] = PetMem["MasterInfo"]["Coord"]["Cur"]["x"] PetMem["MasterInfo"]["Coord"]["Last"]["y"] = PetMem["MasterInfo"]["Coord"]["Cur"]["y"] PetMem["MasterInfo"]["Coord"]["Cur"]["x"] = nMasterX PetMem["MasterInfo"]["Coord"]["Cur"]["y"] = nMasterY -- ÇʼöÀû ¿ä¼Ò ---------------------------------------- -- Æê À§Ä¡ Á¤º¸ °»½Å local nPetX, nPetY = cObjectLocate( PetMem["PetInfo"]["nHandle"] ) if nPetX == nil then return false end PetMem["PetInfo"]["Coord"]["Last"]["x"] = PetMem["PetInfo"]["Coord"]["Cur"]["x"] PetMem["PetInfo"]["Coord"]["Last"]["y"] = PetMem["PetInfo"]["Coord"]["Cur"]["y"] PetMem["PetInfo"]["Coord"]["Cur"]["x"] = nPetX PetMem["PetInfo"]["Coord"]["Cur"]["y"] = nPetY -- ¼±ÅÃÀû ¿ä¼Ò ---------------------------------------- -- Ÿ°Ù Æê À§Ä¡ Á¤º¸ °»½Å if type( PetMem["TargetInfo"]["nHandle"] ) == "number" then if PetMem["TargetInfo"]["nHandle"] >= 0 then local nTargetPetX, nTargetPetY = cObjectLocate( PetMem["TargetInfo"]["nHandle"] ) if nTargetPetX == nil then Debug( "PetBaseUpdate::Target disappeared" ) return true end PetMem["TargetInfo"]["Coord"]["Last"]["x"] = PetMem["TargetInfo"]["Coord"]["Cur"]["x"] PetMem["TargetInfo"]["Coord"]["Last"]["y"] = PetMem["TargetInfo"]["Coord"]["Cur"]["y"] PetMem["TargetInfo"]["Coord"]["Cur"]["x"] = nTargetPetX PetMem["TargetInfo"]["Coord"]["Cur"]["y"] = nTargetPetY end end -- ¼±ÅÃÀû ¿ä¼Ò ---------------------------------------- -- Ÿ°Ù Æê ¸¶½ºÅÍ À§Ä¡ Á¤º¸ °»½Å if type( PetMem["TargetMasterInfo"]["nHandle"] ) == "number" then if PetMem["TargetMasterInfo"]["nHandle"] >= 0 then local nTargetMasterX, nTargetMasterY = cObjectLocate( PetMem["TargetMasterInfo"]["nHandle"] ) if nTargetMasterX == nil then Debug( "PetBaseUpdate::Target Pet Master disappeared" ) return true end PetMem["TargetMasterInfo"]["Coord"]["Last"]["x"] = PetMem["TargetMasterInfo"]["Coord"]["Cur"]["x"] PetMem["TargetMasterInfo"]["Coord"]["Last"]["y"] = PetMem["TargetMasterInfo"]["Coord"]["Cur"]["y"] PetMem["TargetMasterInfo"]["Coord"]["Cur"]["x"] = nTargetMasterX PetMem["TargetMasterInfo"]["Coord"]["Cur"]["y"] = nTargetMasterY end end return true end