bug costume weapon

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Avatar utilizator
gubigubi
Nivel 3

Nivel 3
Mesaje: 358
Membru din: 15 Iul 2014, 12:17
Aprecieri: 34  
Mulţumiri: 4  
Medalii

.Titan scrie:
gubigubi scrie:
.Titan scrie: Tu nu vezi ca si costume weapon si sash au acelasi numar? Mută sub endif de la sash linia de la costume weapon in schimbă 2-ul ăla cu 3, schimbă și 3-ul de la slot count în 4 și modifică equipment start din 19 in 20

[ Postat de pe Android ] Imagine
Imagine Imagine
Lasă aici gametype dinainte să bagi weapon costume și partea de gametype pe care o are sistemul

[ Postat de pe Android ] Imagine
http://www.girlshare.ro/3490108484.5 - Aici ai tot.... Merci...
Avatar utilizator
Titan
Metin Master

Metin Master
Mesaje: 2783
Membru din: 01 Iun 2015, 15:09
Server: In curand.
Regat: Chunjo
Aprecieri: 42  
Mulţumiri: 377  
  Rezolvări prob.: 3
Discord: Copiază ID
 Contact:
Medalii

gubigubi scrie:
.Titan scrie:
gubigubi scrie: Imagine Imagine
Lasă aici gametype dinainte să bagi weapon costume și partea de gametype pe care o are sistemul

[ Postat de pe Android ] Imagine
http://www.girlshare.ro/3490108484.5 - Aici ai tot.... Merci...
Poftim:
Imagine
Afișează semnătura
Avatar utilizator
gubigubi
Nivel 3

Nivel 3
Mesaje: 358
Membru din: 15 Iul 2014, 12:17
Aprecieri: 34  
Mulţumiri: 4  
Medalii

.Titan scrie:
gubigubi scrie:
.Titan scrie: Lasă aici gametype dinainte să bagi weapon costume și partea de gametype pe care o are sistemul

[ Postat de pe Android ] Imagine
http://www.girlshare.ro/3490108484.5 - Aici ai tot.... Merci...
Poftim:
Ce mi-ai dat tu are 387 de linii și al meu are 561...
Avatar utilizator
Titan
Metin Master

Metin Master
Mesaje: 2783
Membru din: 01 Iun 2015, 15:09
Server: In curand.
Regat: Chunjo
Aprecieri: 42  
Mulţumiri: 377  
  Rezolvări prob.: 3
Discord: Copiază ID
 Contact:
Medalii

gubigubi scrie:
.Titan scrie:
gubigubi scrie: http://www.girlshare.ro/3490108484.5 - Aici ai tot.... Merci...
Poftim:
Ce mi-ai dat tu are 387 de linii și al meu are 561...
ce ti-am dat eu este exact gametype.h de aici http://prntscr.com/jblex4 editat de mine.
Imagine
Afișează semnătura
Avatar utilizator
gubigubi
Nivel 3

Nivel 3
Mesaje: 358
Membru din: 15 Iul 2014, 12:17
Aprecieri: 34  
Mulţumiri: 4  
Medalii

.Titan scrie:
gubigubi scrie:
.Titan scrie: Lasă aici gametype dinainte să bagi weapon costume și partea de gametype pe care o are sistemul

[ Postat de pe Android ] Imagine
http://www.girlshare.ro/3490108484.5 - Aici ai tot.... Merci...
Poftim:
Imagine
Avatar utilizator
Titan
Metin Master

Metin Master
Mesaje: 2783
Membru din: 01 Iun 2015, 15:09
Server: In curand.
Regat: Chunjo
Aprecieri: 42  
Mulţumiri: 377  
  Rezolvări prob.: 3
Discord: Copiază ID
 Contact:
Medalii

gubigubi scrie:
.Titan scrie:
gubigubi scrie: http://www.girlshare.ro/3490108484.5 - Aici ai tot.... Merci...
Poftim:
Imagine
esti sigur ca l-ai bagat exact cum ti-am dat eu?
Imagine
Afișează semnătura
Avatar utilizator
gubigubi
Nivel 3

Nivel 3
Mesaje: 358
Membru din: 15 Iul 2014, 12:17
Aprecieri: 34  
Mulţumiri: 4  
Medalii

.Titan scrie:
gubigubi scrie:
.Titan scrie:
Poftim:
Imagine
esti sigur ca l-ai bagat exact cum ti-am dat eu?
#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 = 4;
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;

// ?? ??? ?? ?? & ??
// ??? ???? ??? ? ?? ??? ?? ??, ??? ??? ??, ??? ??? ??? ??? ??? ????.
// ?? ? ??? ?? ??? ??????? ??? ?? ??? ????... ??
//
// ????, ?? ????? ??DB? ??? ???? 90 ~ 102 ??,
// 2013? ?? ?? ???? ???? 111 ~ ?? ????. ?? ???? ??? ??? ? ?? ?? 121 ????, 122??? ????? ????.
#ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
const DWORD c_New_Equipment_Start = c_Equipment_Start + 23;
const DWORD c_New_Equipment_Count = 3;
const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 0;
const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 1;
const DWORD c_Equipment_Belt = c_New_Equipment_Start + 2;;
#endif

enum EDragonSoulDeckType
{
DS_DECK_1,
DS_DECK_2,
DS_DECK_MAX_NUM = 2,
};

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,
};

#ifdef ENABLE_COSTUME_SYSTEM
const DWORD c_Costume_Slot_Start = c_Equipment_Start + 19; // [??] ??(19) ???? ??. ?? ???? ??? ??? 19???. ?? common/length.h ??? EWearPositions ??? ??.
const DWORD c_Costume_Slot_Body = c_Costume_Slot_Start + 0;
const DWORD c_Costume_Slot_Hair = c_Costume_Slot_Start + 1;
#ifdef ENABLE_SASH_SYSTEM
const DWORD c_Costume_Slot_Sash = c_Costume_Slot_Start + 2;
#endif
const DWORD c_Costume_Slot_Weapon = c_Costume_Slot_Start + 3;
const DWORD c_Costume_Slot_Count = 4;
const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count;
#endif


// [??] ??(32) ???? ??. ?? ???? ??? ??? 32???.
// ?? common/length.h ??? EWearPositions ???? 32?? ??? ?? ????(32 ??? ?? ?? ??? ????.),
// ? ????? ??? ?? ???? ??.
const DWORD c_Wear_Max = 32;
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;

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,
SLOT_TYPE_OFFLINE_SHOP,
SLOT_TYPE_MAX,
};

enum EWindows
{
RESERVED_WINDOW,
INVENTORY, // ?? ????. (45? ??? 2??? ?? = 90?)
EQUIPMENT,
SAFEBOX,
MALL,
DRAGON_SOUL_INVENTORY,
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;
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 = 3,
ITEM_ATTRIBUTE_SLOT_MAX_NUM = 7,
};

#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;
#ifdef ENABLE_SOULBIND_SYSTEM
long bind;
#endif
#ifdef ENABLE_CHANGELOOK_SYSTEM
DWORD transmutation;
#endif
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;
long long price;
BYTE count;
BYTE display_pos;
long alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
#ifdef ENABLE_CHANGELOOK_SYSTEM
DWORD transmutation;
#endif
} TShopItemData;

typedef struct packet_offline_shop_item
{
DWORD vnum;
long long price;
BYTE count;
BYTE display_pos;
long alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
#ifdef ENABLE_CHANGELOOK_SYSTEM
DWORD transmutation;
#endif
} TOfflineShopItemData;

#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);

Exact cum mi-ai trimis
Avatar utilizator
xQuery
Nivel 2

Nivel 2
Mesaje: 183
Membru din: 07 Aug 2014, 20:36
Server: ==
Regat: Jinno
Aprecieri: 107  
Mulţumiri: 1  
 Contact:
Medalii

Ai bagat bine sistemul, trebuie doar sa modifici coordonatele de la costume weapon din uiscript/costumewindow.py
Avatar utilizator
gubigubi
Nivel 3

Nivel 3
Mesaje: 358
Membru din: 15 Iul 2014, 12:17
Aprecieri: 34  
Mulţumiri: 4  
Medalii

xQuery scrie:Ai bagat bine sistemul, trebuie doar sa modifici coordonatele de la costume weapon din uiscript/costumewindow.py
Am liniile astea două știi cumva a 3-a?
{"index":11, "x":61, "y":45, "width":32, "height":64}, # Costume
{"index":12, "x":61, "y": 8, "width":32, "height":32}, # Hair
Avatar utilizator
xQuery
Nivel 2

Nivel 2
Mesaje: 183
Membru din: 07 Aug 2014, 20:36
Server: ==
Regat: Jinno
Aprecieri: 107  
Mulţumiri: 1  
 Contact:
Medalii

gubigubi scrie:
xQuery scrie:Ai bagat bine sistemul, trebuie doar sa modifici coordonatele de la costume weapon din uiscript/costumewindow.py
Am liniile astea două știi cumva a 3-a?
{"index":11, "x":61, "y":45, "width":32, "height":64}, # Costume
{"index":12, "x":61, "y": 8, "width":32, "height":32}, # Hair
Da-mi add pe skype madajrr.21 si ti-l fac eu

[ Postat de pe Android ] Imagine
Închis

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 262 vizitatori