Sziasztok be szerettem volna rakni ezt a vállpánt rendszert.
http://metin2hungary.net/index.php/topic,197811.msg1046282.html#msg1046282 (http://metin2hungary.net/index.php/topic,197811.msg1046282.html#msg1046282)
Szerver rész szépen le is fordult viszont a inditó már bajos
Állandóan kidobja az error-t 100x átnéztem és nem látok hibát benne.
Erre panaszkodik elméletileg
void CActorInstance::AttachSash(CItemData * pItemData, float fSpecular)
{
if (!pItemData)
{
RegisterModelThing(CRaceData::PART_SASH, NULL);
SetModelInstance(CRaceData::PART_SASH, CRaceData::PART_SASH, 0);
RefreshActorInstance();
return;
}
RegisterModelThing(CRaceData::PART_SASH, pItemData->GetModelThing());
SetModelInstance(CRaceData::PART_SASH, CRaceData::PART_SASH, 0);
AttachModelInstance(CRaceData::PART_MAIN, "Bip01 Spine2", CRaceData::PART_SASH);
if (fSpecular > 0.0f)
{
SMaterialData kMaterialData;
kMaterialData.pImage = NULL;
kMaterialData.isSpecularEnable = TRUE;
kMaterialData.fSpecularPower = fSpecular;
kMaterialData.bSphereMapIndex = 1;
SetMaterialData(CRaceData::PART_SASH, NULL, kMaterialData);
}
}
#endif
Elvileg Racedata.h-ban nincs ott. [spoiler]class CRaceData
{
public:
enum EParts
{
PART_MAIN,
PART_WEAPON,
PART_HEAD,
PART_WEAPON_LEFT,
PART_HAIR,
#ifdef ENABLE_SASH_SYSTEM
PART_SASH,
#endif[/spoiler]
De ottvan :)
Na akkor nézzük elsőnek is:
Gamelib/RAcedata.h nyisd meg
Valahová a tetejére írd ezt be:
#include "../UserInterface/Locale_inc.h"
Aztán
GameLib/ActorInstanceAttach.cpp nyisd meg:
ez alá:
#include "../EffectLib/EffectManager.h"
Tedd be ezt:
#include "../UserInterface/Locale_inc.h"
Majd ha ezekkel meg vagy:
GameLib/ItemData.cpp nyisd meg
Keres rá erre:
void CItemData::SetItemScale
és az egészet cseréld le erre:
#ifdef ENABLE_SASH_SYSTEM
void CItemData::SetItemScale(const std::string strJob, const std::string strSex, const std::string strScaleX, const std::string strScaleY, const std::string strScaleZ, const std::string strPositionX, const std::string strPositionY, const std::string strPositionZ)
{
DWORD dwPos;
if (strJob == "JOB_WARRIOR")
dwPos = NRaceData::JOB_WARRIOR;
else if (strJob == "JOB_ASSASSIN")
dwPos = NRaceData::JOB_ASSASSIN;
else if (strJob == "JOB_SURA")
dwPos = NRaceData::JOB_SURA;
else
dwPos = NRaceData::JOB_SHAMAN;
dwPos += 1;
if (strSex == "F")
dwPos += 5;
m_ScaleTable.tInfo[dwPos].fScaleX = float(atof(strScaleX.c_str()) / 100.0f);
m_ScaleTable.tInfo[dwPos].fScaleY = float(atof(strScaleY.c_str()) / 100.0f);
m_ScaleTable.tInfo[dwPos].fScaleZ = float(atof(strScaleZ.c_str()) / 100.0f);
m_ScaleTable.tInfo[dwPos].fPositionX = float(atof(strPositionX.c_str()) * 100.0f);
m_ScaleTable.tInfo[dwPos].fPositionY = float(atof(strPositionY.c_str()) * 100.0f);
m_ScaleTable.tInfo[dwPos].fPositionZ = float(atof(strPositionZ.c_str()) * 100.0f);
}
bool CItemData::GetItemScale(DWORD dwPos, float & fScaleX, float & fScaleY, float & fScaleZ, float & fPositionX, float & fPositionY, float & fPositionZ)
{
fScaleX = m_ScaleTable.tInfo[dwPos].fScaleX;
fScaleY = m_ScaleTable.tInfo[dwPos].fScaleY;
fScaleZ = m_ScaleTable.tInfo[dwPos].fScaleZ;
fPositionX = m_ScaleTable.tInfo[dwPos].fPositionX;
fPositionY = m_ScaleTable.tInfo[dwPos].fPositionY;
fPositionZ = m_ScaleTable.tInfo[dwPos].fPositionZ;
return true;
}
#endif
Actor isntance ba több dolgot kell ???
leírtam mit kell próbáld meg hidd el jó lesz :D
Azt elfelejtettem írni hogy az utolsót csak akkor kell megcsinálnod ha van kutyusod is :D
Jólvan letesztelem :DD
Üzenet összefésülés: 2017-03-11, 17:40:54
Na most meg ez nem tetszik neki.
:D
#ifdef ENABLE_SASH_SYSTEM
char szItemScale[256];
snprintf(szItemScale, sizeof(szItemScale), "%s/item_scale.txt", localePath);
if (!rkItemMgr.LoadItemScale(szItemScale))
Tracenf("LoadLocaleData: error while loading %s.", szItemScale);
#endif
Üzenet összefésülés: 2017-03-11, 17:46:29
Na az már berakási hiba az biztos de amint gép előtt leszek ahol van forrásom is meglessem neked
Nem brakása O.o
ő a userinterface esetében hozzá adtad a python_sash.h és cpp filet?
beraktam User interface mappába :)
a.a miondjárt mondom mit csinálj:
PApplication ba is beraktam :)
#ifdef ENABLE_SASH_SYSTEM
#include "PythonSash.h"
#endif
na szóval visual studioba jobb klik a userinterface-re jobb oldalt.
ott keresd az Add menüpontot és azon belül pedig a Existing item-et.
Meg fog nyílni egy ablak és ott ad keresd meg a python_sash.h fájt és add hozzá
Nem írom le mégegyszer a pyston_sash.cpp esetében is ugyan ezt kell megcsinálni és hozzá lesz adva.
Attól hogy bemásolod még a vs nem tudja hogy neki azt is olvasni kell :D
Amint hazaérek letesztelem :D
Üzenet összefésülés: 2017-03-11, 18:37:14
Sikerült köszi :D
Témát nyitva hagyom háte még merül fel hiba
nincs mit szívesen
Valamiért nem szeretne együtt müködni a kosztüm fegyverrel...
db sysser:
SYSERR: Mar 11 21:22:18.348545 :: Set_Proto_Item_Table: ItemProto Reading Failed : Invalid value. (index: 3, col: 3, value: COSTUME_WEAPON)
Nem ezzel nem az a baj hogy nem akar együtt működni, hanem, hogy nem ismeri fel ezt a typust hogy: costume_weapon.
Amit tudok tanácsolni nézd meg szerver oldali forrásban db mappa azon belül src és Proto_reader.cpp-ben benne van e rendesen. Tehát a sub_type 28-asnál véletlenül nem e töröltél ki egy ifdef end if-et, mert az a baja hogy ott hibádzik valami. Van mikor jobb elhagyni a definiálást és csak simán berakni példa gyanánt nekem sincsen dwefiniálva lásd itt:
static string arSub28[] = {"COSTUME_BODY", "COSTUME_HAIR", "COSTUME_ACCE", "COSTUME_WEAPON", "COSTUME_MOUNT"};
Most így néz ki
static string arSub28[] = {"COSTUME_BODY", "COSTUME_HAIR", "COSTUME_WEAPON", "COSTUME_SASH"};
Egész véletlen akkor nem töröltél ki valamit mikor raktad be a sash systemet mert így jónak kell lennie elviekben pár a protodat nem látom. Szerintem a forrást nézd át a kosztüm fegyverek esetében minden a helyén van mert elviekben a proto_reader.cpp ha abból másoltad ki akkor ismernie kellene. De indításkor a syser mégis valamiért nem akarja. Esetlegesen common item_lenght.h ellenőrizd még hogy ott bent van e
De így számomra most kicsit nehéz hogy se forrást nem ,látok se protot. Vizuális típus vagyok ha látom általában megoldom a hibát
Most elindult a tanácsaoddal kiszedtem a 2 új dolog bol az idefen a proton belül :) most kiderül hogy müködik e :)
Üzenet összefésülés: 2017-03-12, 07:54:14
Meg is van a következő hiba :)
for i in xrange(self.SLOT_COUNT):
id = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_ID)
race = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_RACE)
form = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_FORM)
name = net.GetAccountCharacterSlotDataString(i, net.ACCOUNT_CHARACTER_SLOT_NAME)
hair = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_HAIR)
if id != 0:
self.MakeCharacter(i, id, name, race, form, hair)
self.SelectSlot(i)
break
introselectbe nincs ilyen részem igy nem birtam modosítani,kari választóba be se enged ez miatt :)
Üzenet összefésülés: 2017-03-12, 07:59:49
Ez is javítva :)
Rendben van :D
Nem enged belépni :D Pedig a sql-t is lefutattam minden sysser üres szerver és kliens oldal is egyaránt
Az új fordított indítot beraktad sorry hogy ezt írom de én jártam így :D hogy elfelejtettem és félóra múlva jöttem rá :D
Igen be :O
Meddig enged be ? karakter választás előtt dob ki? vagy maga a kliens-t sem engedi elindítani
A hiba továbbra is fent áll kari választás után visszadob bejelentkező képernyőhöz.
Mielött valaki sysser-t kér teljesen üres minden ezért nem is tudom mi lehet a gond.
Üzenet összefésülés: 2017-03-12, 08:59:14
Forditottam egy debug inditót.
Itt a log de semmi érdekeset"erre utalót" nem találok benne.
szia rájöttél mi a hiba ?
nekem is kb úgyan az csak mikor belépnék id pw akkor dob ki és semmi syserr
Márrég :D hisz 17 es téma
akkor jó :) hátha tudsz segíteni.
http://metin2hungary.net/index.php/topic,197811.0.html
ezt raktam be.
sysser? :O
mint írtad nincs hát nálam sincs :D
introselectedet küld el légyszíves
köszi
vagy mondj valami jobb scale rendszert :) a nem scale-st tökéletesen be tudom rakni csak gondoltam szebb a scale-s.
Probáld ki
úgyan az :S
navibol nem hagytál ki semmit? SZerver odlali sysser nincs?
hopp db syserr
SYSERR: Feb 25 13:15:57.196064 :: Start: TABLE_POSTFIX not configured use default
SYSERR: Feb 25 13:16:00.851015 :: Load: DirectQuery failed(SELECT login FROM block_exception)
Vegyél felskypon :)
D Noname