Danke die scrollbar gefällt mir sehr.
Beiträge von ShiinoZN
-
-
Ich kann dieses "illumina" design nicht mehr sehen
-
Bitte melden Sie sich an, um diesen Link zu sehen.
-
die pets brauchen NPC als typ in der mob_proto
-
melde mich bei dir glatzkopf
-
Hast ein ENB mod installiert oder ähnliches?
-
Jeden fehler den Owasp finden bzw reportet bekommt, wird so schnell wie möglich gefixxt, bei seinem letzten Update (V4.9.6.9) wurden sehr viel sachen behoben. Ich selber arbeite selber mit den Files und kann dir sagen das du nichts besseres bekommst für dein Geld.
-
Sieht gut aus
-
Jemand eine Idee? syserr ist leer debug zeigt nichts an, Rüstungen funktionieren super, nur die Waffenshinings machen Probleme.
Fehler : Bitte melden Sie sich an, um dieses Bild zu sehen.
-
in der char_item.cpp müsste die abfrage drin sein.
-
Frag Owsap der hat das genau so in seinen Files glaub ich
würde er mal antworten
-
Wieso schreibst das nicht selber so, dass es auch mit dem Highlight System funktioniert?
weil ich dazu nicht fähig bin
-
Suche ein vernümftiges special inventory System das auch mit dem Highlightsystem funktioniert
beispiel :
: Bitte melden Sie sich an, um dieses Bild zu sehen.
& Nein das von Sanii möchte ich nicht, möchte es nicht direkt im Inventar haben sondern via extra GUI like rubinum
würde 250€ bezahlen
-
wow Nice good job!
-
-
schau dir mal das an : Bitte melden Sie sich an, um diesen Link zu sehen. da ist auch ein Clientpart dabei
-
-
evtl die sql vergessen?
Nein es wird keine SQL verwendet.
also ich brauchte die sql (musst sie nicht verwenden, sie muss nur da sein!)
-
evtl die sql vergessen?
-
C
- #pragma once
- #include "../GameLib/ItemData.h"
- struct SAffects
- {
- enum
- {
- AFFECT_MAX_NUM = 32,
- };
- SAffects() : dwAffects(0) {}
- SAffects(const DWORD & c_rAffects)
- {
- __SetAffects(c_rAffects);
- }
- int operator = (const DWORD & c_rAffects)
- {
- __SetAffects(c_rAffects);
- }
- BOOL IsAffect(BYTE byIndex)
- {
- return dwAffects & (1 << byIndex);
- }
- void __SetAffects(const DWORD & c_rAffects)
- {
- dwAffects = c_rAffects;
- }
- DWORD dwAffects;
- };
- extern std::string g_strGuildSymbolPathName;
- const DWORD c_Name_Max_Length = 64;
- const DWORD c_FileName_Max_Length = 128;
- const DWORD c_Short_Name_Max_Length = 32;
- const DWORD c_Inventory_Page_Size = 5*9; // x*y
- const DWORD c_Inventory_Page_Count = 5;
- const DWORD c_ItemSlot_Count = c_Inventory_Page_Size * c_Inventory_Page_Count;
- const DWORD c_Equipment_Count = 12;
- const DWORD c_Equipment_Start = c_ItemSlot_Count;
- const DWORD c_Equipment_Body = c_Equipment_Start + 0;
- const DWORD c_Equipment_Head = c_Equipment_Start + 1;
- const DWORD c_Equipment_Shoes = c_Equipment_Start + 2;
- const DWORD c_Equipment_Wrist = c_Equipment_Start + 3;
- const DWORD c_Equipment_Weapon = c_Equipment_Start + 4;
- const DWORD c_Equipment_Neck = c_Equipment_Start + 5;
- const DWORD c_Equipment_Ear = c_Equipment_Start + 6;
- const DWORD c_Equipment_Unique1 = c_Equipment_Start + 7;
- const DWORD c_Equipment_Unique2 = c_Equipment_Start + 8;
- const DWORD c_Equipment_Arrow = c_Equipment_Start + 9;
- const DWORD c_Equipment_Shield = c_Equipment_Start + 10;
- const DWORD c_Costume_Slot_Start = c_Equipment_Start + 19;
- const DWORD c_Costume_Slot_Body = c_Costume_Slot_Start + 0; //19
- const DWORD c_Costume_Slot_Hair = c_Costume_Slot_Start + 1; //20
- const DWORD c_Costume_Slot_Acce = c_Costume_Slot_Start + 2; //21
- const DWORD c_Costume_Slot_Mount = c_Costume_Slot_Start + 3; //22
- const DWORD c_Costume_Slot_Weapon = c_Costume_Slot_Start + 5; //24
- const DWORD c_Costume_Slot_Count = 6;
- const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count;
- const DWORD c_New_Equipment_Start = c_Equipment_Start + 25;
- const DWORD c_Equipment_Belt = c_New_Equipment_Start + 0; //25
- const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 1;
- const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 2; //27
- const DWORD c_Equipment_Pet = c_New_Equipment_Start + 3;
- const DWORD c_New_Equipment_Count = 4;
- const DWORD c_New_Equipment_End = c_New_Equipment_Start + c_New_Equipment_Count;
- const DWORD c_Shining_Slot_Start = c_New_Equipment_End;
- const DWORD c_Shining_Slot_Count = 6;
- const DWORD c_Shining_Slot_End = c_Shining_Slot_Start + c_Shining_Slot_Count;
- enum EDragonSoulDeckType
- {
- DS_DECK_1,
- DS_DECK_2,
- DS_DECK_MAX_NUM = 2,
- };
- #ifdef ENABLE_SKILL_COLOR_SYSTEM
- enum ESkillColorLength
- {
- MAX_SKILL_COUNT = 6,
- MAX_EFFECT_COUNT = 5,
- BUFF_BEGIN = MAX_SKILL_COUNT,
- MAX_BUFF_COUNT = 5,
- };
- #endif
- enum EDragonSoulGradeTypes
- {
- DRAGON_SOUL_GRADE_NORMAL,
- DRAGON_SOUL_GRADE_BRILLIANT,
- DRAGON_SOUL_GRADE_RARE,
- DRAGON_SOUL_GRADE_ANCIENT,
- DRAGON_SOUL_GRADE_LEGENDARY,
- DRAGON_SOUL_GRADE_MAX,
- };
- enum EDragonSoulStepTypes
- {
- DRAGON_SOUL_STEP_LOWEST,
- DRAGON_SOUL_STEP_LOW,
- DRAGON_SOUL_STEP_MID,
- DRAGON_SOUL_STEP_HIGH,
- DRAGON_SOUL_STEP_HIGHEST,
- DRAGON_SOUL_STEP_MAX,
- };
- // [ÁÖÀÇ] ¼ýÀÚ(32) ÇϵåÄÚµù ÁÖÀÇ. ÇöÀç ¼¹ö¿¡¼ ¿ëÈ¥¼® ½½·ÔÀº 32ºÎÅÍÀÓ.
- // ¼¹ö common/length.h ÆÄÀÏÀÇ EWearPositions ¿°ÅÇüÀÌ 32±îÁö È®ÀåµÉ °ÍÀ» ¿°µÎÇÏ°í(32 ÀÌ»óÀº È®Àå Çϱâ Èûµé°Ô µÇ¾îÀÖÀ½.),
- // ±× ÀÌÈĺÎÅ͸¦ ¿ëÈ¥¼® ÀåÂø ½½·ÔÀ¸·Î »ç¿ë.
- const DWORD c_Wear_Max = 34;
- const DWORD c_DragonSoul_Equip_Start = c_ItemSlot_Count + c_Wear_Max;
- const DWORD c_DragonSoul_Equip_Slot_Max = 6;
- const DWORD c_DragonSoul_Equip_End = c_DragonSoul_Equip_Start + c_DragonSoul_Equip_Slot_Max * DS_DECK_MAX_NUM;
- // NOTE: 2013³â 2¿ù 5ÀÏ ÇöÀç... ¿ëÈ¥¼® µ¥Å©´Â 2°³°¡ Á¸ÀçÇϴµ¥, ÇâÈÄ È®Àå °¡´É¼ºÀÌ ÀÖ¾î¼ 3°³ µ¥Å© ¿©À¯ºÐÀ» ÇÒ´ç ÇØ µÒ. ±× µÚ °ø°£Àº º§Æ® Àκ¥Å丮·Î »ç¿ë
- const DWORD c_DragonSoul_Equip_Reserved_Count = c_DragonSoul_Equip_Slot_Max * 3;
- #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
- // º§Æ® ¾ÆÀÌÅÛÀÌ Á¦°øÇÏ´Â Àκ¥Å丮
- const DWORD c_Belt_Inventory_Slot_Start = c_DragonSoul_Equip_End + c_DragonSoul_Equip_Reserved_Count;
- const DWORD c_Belt_Inventory_Width = 4;
- const DWORD c_Belt_Inventory_Height= 4;
- const DWORD c_Belt_Inventory_Slot_Count = c_Belt_Inventory_Width * c_Belt_Inventory_Height;
- const DWORD c_Belt_Inventory_Slot_End = c_Belt_Inventory_Slot_Start + c_Belt_Inventory_Slot_Count;
- const DWORD c_Inventory_Count = c_Belt_Inventory_Slot_End;
- #else
- const DWORD c_Inventory_Count = c_DragonSoul_Equip_End;
- #endif
- // ¿ëÈ¥¼® Àü¿ë Àκ¥Å丮
- const DWORD c_DragonSoul_Inventory_Start = 0;
- const DWORD c_DragonSoul_Inventory_Box_Size = 32;
- const DWORD c_DragonSoul_Inventory_Count = CItemData::DS_SLOT_NUM_TYPES * DRAGON_SOUL_GRADE_MAX * c_DragonSoul_Inventory_Box_Size;
- const DWORD c_DragonSoul_Inventory_End = c_DragonSoul_Inventory_Start + c_DragonSoul_Inventory_Count;
- #ifdef ENABLE_SPECIAL_STORAGE
- const DWORD c_Special_Inventory_Page_Size = 5*9;
- const DWORD c_Special_Inventory_Page_Count = 2;
- const DWORD c_Special_ItemSlot_Count = c_Special_Inventory_Page_Size * c_Special_Inventory_Page_Count;
- #endif
- enum ESlotType
- {
- SLOT_TYPE_NONE,
- SLOT_TYPE_INVENTORY,
- SLOT_TYPE_SKILL,
- SLOT_TYPE_EMOTION,
- SLOT_TYPE_SHOP,
- SLOT_TYPE_EXCHANGE_OWNER,
- SLOT_TYPE_EXCHANGE_TARGET,
- SLOT_TYPE_QUICK_SLOT,
- SLOT_TYPE_SAFEBOX,
- SLOT_TYPE_PRIVATE_SHOP,
- SLOT_TYPE_MALL,
- SLOT_TYPE_DRAGON_SOUL_INVENTORY,
- #ifdef ENABLE_SPECIAL_STORAGE
- SLOT_TYPE_UPGRADE_INVENTORY,
- SLOT_TYPE_BOOK_INVENTORY,
- SLOT_TYPE_STONE_INVENTORY,
- #endif
- SLOT_TYPE_MAX,
- };
- enum EAcceSlotType
- {
- ACCE_SLOT_LEFT,
- ACCE_SLOT_RIGHT,
- ACCE_SLOT_RESULT,
- ACCE_SLOT_MAX,
- };
- enum EWindows
- {
- RESERVED_WINDOW,
- INVENTORY, // ±âº» Àκ¥Å丮. (45Ä Â¥¸®°¡ 2ÆäÀÌÁö Á¸Àç = 90Ä)
- EQUIPMENT,
- SAFEBOX,
- MALL,
- DRAGON_SOUL_INVENTORY,
- #ifdef ENABLE_SPECIAL_STORAGE
- UPGRADE_INVENTORY,
- BOOK_INVENTORY,
- STONE_INVENTORY,
- #endif
- GROUND, // NOTE: 2013³â 2¿ù5ÀÏ ÇöÀç±îÁö unused.. ¿Ö Àִ°ÅÁö???
- BELT_INVENTORY, // NOTE: W2.1 ¹öÀü¿¡ »õ·Î Ãß°¡µÇ´Â º§Æ® ½½·Ô ¾ÆÀÌÅÛÀÌ Á¦°øÇÏ´Â º§Æ® Àκ¥Å丮
- WINDOW_TYPE_MAX,
- };
- enum EDSInventoryMaxNum
- {
- DS_INVENTORY_MAX_NUM = c_DragonSoul_Inventory_Count,
- DS_REFINE_WINDOW_MAX_NUM = 15,
- };
- #pragma pack (push, 1)
- #define WORD_MAX 0xffff
- typedef struct SItemPos
- {
- BYTE window_type;
- WORD cell;
- SItemPos ()
- {
- window_type = INVENTORY;
- cell = WORD_MAX;
- }
- SItemPos (BYTE _window_type, WORD _cell)
- {
- window_type = _window_type;
- cell = _cell;
- }
- // ±âÁ¸¿¡ cellÀÇ ÇüÀ» º¸¸é BYTE°¡ ´ëºÎºÐÀÌÁö¸¸, oi
- // ¾î¶² ºÎºÐÀº int, ¾î¶² ºÎºÐÀº WORD·Î µÇ¾îÀÖ¾î,
- // °¡Àå Å« ÀÚ·áÇüÀÎ int·Î ¹Þ´Â´Ù.
- // int operator=(const int _cell)
- // {
- //window_type = INVENTORY;
- // cell = _cell;
- // return cell;
- // }
- bool IsValidCell()
- {
- switch (window_type)
- {
- case INVENTORY:
- return cell < c_Inventory_Count;
- break;
- case EQUIPMENT:
- return cell < c_DragonSoul_Equip_End;
- break;
- case DRAGON_SOUL_INVENTORY:
- return cell < (DS_INVENTORY_MAX_NUM);
- break;
- #ifdef ENABLE_SPECIAL_STORAGE
- case UPGRADE_INVENTORY:
- return cell < c_Special_ItemSlot_Count;
- break;
- case BOOK_INVENTORY:
- return cell < c_Special_ItemSlot_Count;
- break;
- case STONE_INVENTORY:
- return cell < c_Special_ItemSlot_Count;
- break;
- #endif
- default:
- return false;
- }
- }
- bool IsEquipCell()
- {
- switch (window_type)
- {
- case INVENTORY:
- case EQUIPMENT:
- return (c_Equipment_Start + c_Wear_Max > cell) && (c_Equipment_Start <= cell);
- break;
- case BELT_INVENTORY:
- case DRAGON_SOUL_INVENTORY:
- return false;
- break;
- default:
- return false;
- }
- }
- #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
- bool IsBeltInventoryCell()
- {
- bool bResult = c_Belt_Inventory_Slot_Start <= cell && c_Belt_Inventory_Slot_End > cell;
- return bResult;
- }
- #endif
- bool operator==(const struct SItemPos& rhs) const
- {
- return (window_type == rhs.window_type) && (cell == rhs.cell);
- }
- bool operator<(const struct SItemPos& rhs) const
- {
- return (window_type < rhs.window_type) || ((window_type == rhs.window_type) && (cell < rhs.cell));
- }
- } TItemPos;
- #pragma pack(pop)
- const DWORD c_QuickBar_Line_Count = 3;
- const DWORD c_QuickBar_Slot_Count = 12;
- const float c_Idle_WaitTime = 5.0f;
- const int c_Monster_Race_Start_Number = 6;
- const int c_Monster_Model_Start_Number = 20001;
- const float c_fAttack_Delay_Time = 0.2f;
- const float c_fHit_Delay_Time = 0.1f;
- const float c_fCrash_Wave_Time = 0.2f;
- const float c_fCrash_Wave_Distance = 3.0f;
- const float c_fHeight_Step_Distance = 50.0f;
- enum
- {
- DISTANCE_TYPE_FOUR_WAY,
- DISTANCE_TYPE_EIGHT_WAY,
- DISTANCE_TYPE_ONE_WAY,
- DISTANCE_TYPE_MAX_NUM,
- };
- const float c_fMagic_Script_Version = 1.0f;
- const float c_fSkill_Script_Version = 1.0f;
- const float c_fMagicSoundInformation_Version = 1.0f;
- const float c_fBattleCommand_Script_Version = 1.0f;
- const float c_fEmotionCommand_Script_Version = 1.0f;
- const float c_fActive_Script_Version = 1.0f;
- const float c_fPassive_Script_Version = 1.0f;
- // Used by PushMove
- const float c_fWalkDistance = 175.0f;
- const float c_fRunDistance = 310.0f;
- #define FILE_MAX_LEN 128
- enum
- {
- ITEM_SOCKET_SLOT_MAX_NUM = 6,
- // refactored attribute slot begin
- ITEM_ATTRIBUTE_SLOT_NORM_NUM = 5,
- ITEM_ATTRIBUTE_SLOT_RARE_NUM = 2,
- ITEM_ATTRIBUTE_SLOT_NORM_START = 0,
- ITEM_ATTRIBUTE_SLOT_NORM_END = ITEM_ATTRIBUTE_SLOT_NORM_START + ITEM_ATTRIBUTE_SLOT_NORM_NUM,
- ITEM_ATTRIBUTE_SLOT_RARE_START = ITEM_ATTRIBUTE_SLOT_NORM_END,
- ITEM_ATTRIBUTE_SLOT_RARE_END = ITEM_ATTRIBUTE_SLOT_RARE_START + ITEM_ATTRIBUTE_SLOT_RARE_NUM,
- ITEM_ATTRIBUTE_SLOT_MAX_NUM = ITEM_ATTRIBUTE_SLOT_RARE_END, // 7
- // refactored attribute slot end
- };
- #pragma pack(push)
- #pragma pack(1)
- typedef struct SQuickSlot
- {
- BYTE Type;
- BYTE Position;
- } TQuickSlot;
- typedef struct TPlayerItemAttribute
- {
- BYTE bType;
- short sValue;
- } TPlayerItemAttribute;
- typedef struct packet_item
- {
- DWORD vnum;
- BYTE count;
- DWORD flags;
- DWORD anti_flags;
- long alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
- TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
- } TItemData;
- typedef struct packet_shop_item
- {
- DWORD vnum;
- #ifdef ENABLE_FULL_YANG
- long long price; // PC »óÁ¡¿¡¸¸ ÀÌ¿ë
- #else
- DWORD price;
- #endif
- BYTE count;
- BYTE display_pos;
- long alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
- TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
- #ifdef ENABLE_RENEWAL_SHOPEX
- DWORD price_type;
- DWORD price_vnum;
- packet_shop_item() : price_type(1), price_vnum(0) {}
- #endif
- } TShopItemData;
- #pragma pack(pop)
- inline float GetSqrtDistance(int ix1, int iy1, int ix2, int iy2) // By sqrt
- {
- float dx, dy;
- dx = float(ix1 - ix2);
- dy = float(iy1 - iy2);
- return sqrtf(dx*dx + dy*dy);
- }
- // DEFAULT_FONT
- void DefaultFont_Startup();
- void DefaultFont_Cleanup();
- void DefaultFont_SetName(const char * c_szFontName);
- CResource* DefaultFont_GetResource();
- CResource* DefaultItalicFont_GetResource();
- // END_OF_DEFAULT_FONT
- void SetGuildSymbolPath(const char * c_szPathName);
- const char * GetGuildSymbolFileName(DWORD dwGuildID);
- BYTE SlotTypeToInvenType(BYTE bSlotType);