Nos biztos mindenkinek feltűnt már, hogy a KK-k neve a földön nem mutatja milyen skillhez tartoznak.
Volt 1 kérés segítségkérésnél + sokan is csinálnak GF-et ahova "hasznos" lehet ez az iciripici módosításka.
Alap dolog de azé mondom hogy möntést csinájjá
1. Szerver oldal
packet.h
typedef struct packet_item_ground_add
{
BYTE bHeader;
long x, y, z;
DWORD dwVID;
DWORD dwVnum;
} TPacketGCItemGroundAdd;
ide biggyeszd be ezt:
int iSkillIndex;
item.cpp
void CItem::EncodeInsertPacket(LPENTITY ent)
ebben a fv-ben
pack.bHeader = HEADER_GC_ITEM_GROUND_ADD;
pack.x = c_pos.x;
pack.y = c_pos.y;
pack.z = c_pos.z;
pack.dwVnum = GetVnum();
pack.dwVID = m_dwVID;
ez a rész alá meg ezt:
if (GetVnum() == 50300) {
pack.iSkillIndex = GetSocket(0);
}
else {
pack.iSkillIndex = -1;
}
Lehet is fordítani.
2. Indító forrás
packet.h
typedef struct packet_ground_add_item
{
BYTE bHeader;
long lX;
long lY;
long lZ;
DWORD dwVID;
DWORD dwVnum;
} TPacketGCItemGroundAdd;
Egyértelmű a dolog :P
int iSkillIndex;
PythonItem.h
void CreateItem(DWORD dwVirtualID, DWORD dwVirtualNumber, float x, float y, float z, bool bDrop=true);
cseréld le erre:
void CreateItem(DWORD dwVirtualID, DWORD dwVirtualNumber, float x, float y, float z, bool bDrop=true, int iSkillIndex=-1);
PythonItem.cpp
a legelején szükség lesz 1 új include-ra, valahova a fájl elejére másold be
#include "PythonSkill.h"
továbbá
void CPythonItem::CreateItem(DWORD dwVirtualID, DWORD dwVirtualNumber, float x, float y, float z, bool bDrop)
csere erre:
void CPythonItem::CreateItem(DWORD dwVirtualID, DWORD dwVirtualNumber, float x, float y, float z, bool bDrop, int iSkillIndex)
majd a fv legalján
CPythonTextTail& rkTextTail=CPythonTextTail::Instance();
rkTextTail.RegisterItemTextTail(
dwVirtualID,
pItemData->GetName(),
&pGroundItemInstance->ThingInstance);
ezt a részt cseréld le erre:
CPythonTextTail& rkTextTail=CPythonTextTail::Instance();
string name = "";
if (dwVirtualNumber == 50300) {
CPythonSkill::SSkillData * c_pSkillData;
if (CPythonSkill::Instance().GetSkillData(iSkillIndex, &c_pSkillData))
{
name = c_pSkillData->GradeData[0].strName.c_str();
name += " ";
}
}
name += pItemData->GetName();
rkTextTail.RegisterItemTextTail(
dwVirtualID,
name.c_str(),
&pGroundItemInstance->ThingInstance);
PythonNetwordStreamPhaseGameItem.cpp
és végül
CPythonItem::Instance().CreateItem(packet_item_ground_add.dwVID,
packet_item_ground_add.dwVnum,
packet_item_ground_add.lX,
packet_item_ground_add.lY,
packet_item_ground_add.lZ);
csere erre:
CPythonItem::Instance().CreateItem(packet_item_ground_add.dwVID,
packet_item_ground_add.dwVnum,
packet_item_ground_add.lX,
packet_item_ground_add.lY,
packet_item_ground_add.lZ,
true,
packet_item_ground_add.iSkillIndex);
És az eredmény:
(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fwww.kepfeltoltes.eu%2Fimages%2Fhdd1%2F2017%2F07%2F18%2F7030718_151344.jpg&hash=eb03732f923da902a60642ac3b99ec97224e8b8f)
(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fwww.kepfeltoltes.eu%2Fimages%2Fhdd1%2F2017%2F07%2F18%2F1650718_151353.jpg&hash=80d8243e769d0dab4f065348d83814ba9b5245f1)