Seite 1 von 1
Waffen
Verfasst: 04 Jun 2007, 20:55
von shadow the deat
Weiß einer wie man jetzt die Strings in den neuen 911 finden kann
zB [PHP]if ( Item[pSoldier->inv[ HANDPOS ].usItem].rocketlauncher )[/PHP]
ich weiß einfach nicht was ich für rocketlauncher noch einsetzen kann ich dachte an MGs oder so
ich hoffe einer kann mir helfen
Verfasst: 06 Jun 2007, 18:34
von Gunny
wenn du etwas klarer definieren würdest, was du genau willst, dann könnte ich auch verstehen was du sagen willst
Verfasst: 06 Jun 2007, 19:20
von shadow the deat
eigendlich möchte ich Wissen was ich alles für
[PHP]rocketlauncher[/PHP]
einsetzen kann und wenn möglich wie ich sowas definieren kann bzw wo
thx für die hilfe
Verfasst: 06 Jun 2007, 19:38
von Gunny
nun, das kommt darauf an, an welcher Stelle des Codes du diese Änderung vornehmen möchtest,
die Definitionen stehen in der weapons.c bzw .h und der items.c bzw .h, einfach mal durchsuchen
Verfasst: 06 Jun 2007, 21:40
von shadow the deat
ja hab ich mir auch schon gedacht aber irgendwie find ich das da nicht kann das sein das es schon in den xmls ist ?
Verfasst: 07 Jun 2007, 10:30
von Realist
"rocketlauncher" ist Teil der INVTYPE struct in der
Item Types.h
Code: Alles auswählen
typedef struct
{
UINT32 usItemClass;
UINT16 ubClassIndex;
UINT8 ubCursor;
INT8 bSoundType;
UINT8 ubGraphicType;
UINT16 ubGraphicNum;
UINT8 ubWeight; //2 units per kilogram; roughly 1 unit per pound
UINT8 ubPerPocket;
UINT16 usPrice;
UINT8 ubCoolness;
INT8 bReliability;
INT8 bRepairEase;
UINT16 fFlags;
// [SNIP]
BOOLEAN hidemuzzleflash;
[highlight]BOOLEAN rocketlauncher;[/highlight]
BOOLEAN singleshotrocketlauncher;
// [SNIP]
BOOLEAN scifi; // item only available in scifi mode
UINT16 defaultattachment;
} INVTYPE;
bezieht sich auf das entsprechende XML-Tag in der
Items.xml
Code: Alles auswählen
<ITEM>
<uiIndex>51</uiIndex>
<szItemName>LAW</szItemName>
<szLongItemName>M72A4 LAW</szLongItemName>
<!-- [SNIP] -->
<BR_ROF>10</BR_ROF>
[highlight]<RocketLauncher>1</RocketLauncher>[/highlight]
<SingleShotRocketLauncher>1</SingleShotRocketLauncher>
<DiscardedLauncherItem>247</DiscardedLauncherItem>
</ITEM>
und wird in der
XML_Items.cpp gesetzt
Code: Alles auswählen
static void XMLCALL
itemEndElementHandle(void *userData, const char *name)
{
itemParseData * pData = (itemParseData *)userData;
char temp;
if(pData->currentDepth <= pData->maxReadDepth) //we're at the end of an element that we've been reading
{
if(strcmp(name, "ITEMLIST") == 0)
{
pData->curElement = ELEMENT_NONE;
}
// [SNIP]
[highlight]else if(strcmp(name, "RocketLauncher") == 0)
{
pData->curElement = ELEMENT;
pData->curItem.rocketlauncher = (BOOLEAN) atol(pData->szCharData);
}[/highlight]
// [SNIP]
pData->maxReadDepth--;
}
pData->currentDepth--;
}
Entsprechend funzt das mit allen anderen Attributen, genauso wie sich neue auf diese Weise hinzufügen lassen.
Verfasst: 07 Jun 2007, 13:26
von shadow the deat
thx Realist das war genau das was ich gesucht habe
steig da irgendwie nicht mehr so ganz durch mit den Items seid xml
edit
also wenn ich da jetzt ein hinzufüge muss ich die xml auch verändern sonst nimmt er die Struktur nicht jo jetzt kapier ich das mit den xml dauert zwar aber ist machbar