These were taken from a developers' source code of the TS2 Server . So all credits go to Alt1. And I'll possibly add new snippets later on.
I'm not distributing the actual server, UNLESS someone wants to make real use of it by using it as a base for a TwelveSky2 private server. (It is a 2010 server with God levels 1-4) (+ The package doesn't include a database)
It took a pretty long time to understand this source code, so be grateful .
ALSO: the structures are probably a bit different now (added variables?), I haven't used these since like a year ago.
Monster Info
Code:
//------------------------------------------------------------------------------------------------- //MONSTER_INFO //------------------------------------------------------------------------------------------------- typedef struct { int mIndex; char mName[25]; char mChatInfo[2][101]; int mType; int mSpecialType; int mDamageType; int mDataSortNumber; int mSize[4]; int mSizeCategory; int mCheckCollision; int mFrameInfo[6]; int mTotalHitNum; int mHitFrame[3]; int mTotalSkillHitNum; int mSkillHitFrame[3]; int mBulletInfo[2]; int mSummonTime[2]; int mItemLevel; //---------------------------------------------------------------------------------------------------------------- // 2010.01.15 :±è¼º¼ö // ¹«½Å½ÊÀÌ°æ Ãß°¡¿¡ µû¸¥ ¼Ò½º ¼öÁ¤ #ifdef __GOD__ int mMartialItemLevel; #endif //---------------------------------------------------------------------------------------------------------------- int mRealLevel; //---------------------------------------------------------------------------------------------------------------- // 2010.01.15 :±è¼º¼ö // ¹«½Å½ÊÀÌ°æ Ãß°¡¿¡ µû¸¥ ¼Ò½º ¼öÁ¤ #ifdef __GOD__ int mMartialRealLevel; #endif //---------------------------------------------------------------------------------------------------------------- int mGeneralExperience; int mPatExperience; int mLife; int mAttackType; int mRadiusInfo[2]; int mWalkSpeed; int mRunSpeed; int mDeathSpeed; int mAttackPower; int mDefensePower; int mAttackSuccess; int mAttackBlock; int mElementAttackPower; int mElementDefensePower; int mCritical; int mFollowInfo[2]; int mDropMoneyInfo[3]; int mDropPotionInfo[5][2]; int mDropItemInfo[12]; int mDropQuestItemInfo[2]; int mDropExtraItemInfo[50][2]; } MONSTER_INFO;
Code:
typedef struct _MOVE_ITEM_INFO { // ¸â¹ö °ªµéÀÌ -1ÀÌ¸é »ç¿ëÇÏÁö ¾ÊÀº °ÍÀÔ´Ï´Ù. int mZoneNumber; // À̵¿ÇÒ Á¸ ¹øÈ£. int mInvenPage; // À̵¿¼* ¾ÆÀÌÅÛÀÌ À§Ä¡ÇÑ Àκ¥Å丮 ÆäÀÌÁö. int mInvenIndex; // À̵¿¼* ¾ÆÀÌÅÛÀÌ À§Ä¡ÇÑ ¹è¿* index. int mInvenX; // À̵¿¼* ¾ÆÀÌÅÛ xÁÂÇ¥. int mInvenY; // À̵¿¼* ¾ÆÀÌÅÛ yÁÂÇ¥. } MOVE_ITEM_INFO;
Code:
typedef struct { int iIndex; char iName[25]; char iDescription[3][51]; int iType; int iSort; int iDataNumber2D; int iDataNumber3D; int iAddDataNumber3D; int iLevel; //---------------------------------------------------------------------------------------------------------------- // 2010.01.15 :±è¼º¼ö // ¹«½Å½ÊÀÌ°æ Ãß°¡¿¡ µû¸¥ ¼Ò½º ¼öÁ¤ #ifdef __GOD__ int iMartialLevel; #endif //---------------------------------------------------------------------------------------------------------------- int iEquipInfo[2]; int iBuyCost; int iSellCost; int iLevelLimit; //---------------------------------------------------------------------------------------------------------------- // 2010.01.15 :±è¼º¼ö // ¹«½Å½ÊÀÌ°æ Ãß°¡¿¡ µû¸¥ ¼Ò½º ¼öÁ¤ #ifdef __GOD__ int iMartialLevelLimit; #endif //---------------------------------------------------------------------------------------------------------------- int iCheckMonsterDrop; int iCheckNPCSell; int iCheckNPCShop; int iCheckAvatarDrop; int iCheckAvatarTrade; int iCheckAvatarShop; int iCheckImprove; int iCheckHighImprove; int iCheckHighItem; int iCheckLowItem; int iCheckExchange; int iStrength; int iWisdom; int iVitality; int iKi; int iLuck; int iAttackPower; int iDefensePower; int iAttackSucess; int iAttackBlock; int iElementAttackPower; int iElementDefensePower; int iCritical; int iPotionType[2]; int iGainSkillNumber; int iLastAttackBonusInfo[2]; int iCapeInfo[3]; //---------------------------------------------------------------------------------------------------------------- // 2010.01.15 :±è¼º¼ö // ¹«½Å½ÊÀÌ°æ Ãß°¡¿¡ µû¸¥ ¼Ò½º ¼öÁ¤ #ifdef __GOD__ int iBonusSkillInfo[8][2]; #else int iBonusSkillInfo[5][2]; #endif //---------------------------------------------------------------------------------------------------------------- } ITEM_INFO;
Code:
//------------------------------------------------------------------------------------------------- //GRADE_INFO_FOR_SKILL //------------------------------------------------------------------------------------------------- typedef struct { int sManaUse; int sRecoverInfo[2]; int sStunAttack; int sStunDefense; int sFastRunSpeed; int sAttackInfo[3]; int sRunTime; int sChargingDamageUp; int sAttackPowerUp; int sDefensePowerUp; int sAttackSuccessUp; int sAttackBlockUp; int sElementAttackUp; int sElementDefenseUp; int sAttackSpeedUp; int sRunSpeedUp; int sShieldLifeUp; int sLuckUp; int sCriticalUp; int sReturnSuccessUp; int sStunDefenseUp; int sDestroySuccessUp; } GRADE_INFO_FOR_SKILL; //------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------- //SKILL_INFO //------------------------------------------------------------------------------------------------- typedef struct { int sIndex; char sName[25]; char sDescription[10][51]; int sType; int sAttackType; int sDataNumber2D; int sTribeInfo[2]; int sLearnSkillPoint; int sMaxUpgradePoint; int sTotalHitNumber; int sValidRadius; GRADE_INFO_FOR_SKILL sGradeInfo[2]; } SKILL_INFO;
Code:
//------------------------------------------------------------------------------------------------- //NPC_INFO //------------------------------------------------------------------------------------------------- typedef struct { int nIndex; char nName[25]; int nSpeechNum; char nSpeech[5][5][51]; int nTribe; int nType; int nDataSortNumber2D; int nDataSortNumber3D; int nSize[3]; int nMenu[50]; int nShopInfo[3][28]; int nSkillInfo1[3][8]; int nSkillInfo2[3][3][3][8]; int nGambleCostInfo[145][15]; } NPC_INFO;