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 :erdbeerteechug:

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 :erdbeerteechug:

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 :erdbeerteechug:

steig da irgendwie nicht mehr so ganz durch mit den Items seid xml :uhoh:


€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 :D