JA2 Source Code Project
Moderator: Flashy
JA2 Source Code Project
ihr Modder und Progger dieser Welt!
wenn ihr Interesse habt am JA2 Source Code herumzuspielen und der Community eure Entdeckungen / Programmierkünste vorzuführen, dann habt ihr auf dem BearsPit alle Möglichkeiten dazu
auf dem BearsPit wurde das Whitehat Project aufgestellt, das es sich zum Ziel hat, alles Mögliche und auch das Unmögliche aus dem Code herauszuholen
ich sage VIEL SPAß!
Gunny
P.S.
das heißt natürlich nicht, das ihr mit euren Entdeckungen dem Basis-Forum gleich den Rücken kehren sollt
wenn ihr Interesse habt am JA2 Source Code herumzuspielen und der Community eure Entdeckungen / Programmierkünste vorzuführen, dann habt ihr auf dem BearsPit alle Möglichkeiten dazu
auf dem BearsPit wurde das Whitehat Project aufgestellt, das es sich zum Ziel hat, alles Mögliche und auch das Unmögliche aus dem Code herauszuholen
ich sage VIEL SPAß!
Gunny
P.S.
das heißt natürlich nicht, das ihr mit euren Entdeckungen dem Basis-Forum gleich den Rücken kehren sollt
Ten thousand gobs lay down their swabs to fight one sick marine -
Ten thousand more stood up and swore,
'Twas the damndest fight they'd ever seen
Zivi-Animateur im RdGE
RIP Möhre
Ten thousand more stood up and swore,
'Twas the damndest fight they'd ever seen
Zivi-Animateur im RdGE
RIP Möhre
This is the third in a series of posts that I'm planning to help people understand the source.
The following describes step by step what to do to fix a "feature" that some evil person introduced when makng version 1.12. For whatever reason, someone decided to remove the distinction between small grenades and large grenades. Outwardly, this looks like there is no difference in the weight of the grenade. We're going to make mini-grenades useful again. If you hunt around, you'll see the function responsible in "Tactical\Weapons.c":
[Übersetzung]
Hier wird Schritt für Schritt beschrieben wie man das Problem mit dem Gewicht der Handgranaten in JA2 1.12 beseitigen kann, das aus Versehen (?) auftauchte. Genauer gesagt war das Gewicht der Granaten egal, also ob Mini- oder normale Granate, die Wurfweite war immer gleich.
Die Lösung des Problems findet sich in "Tactical\Weapons.c":
code:
--------------------------------------------------------------------------------
INT32 CalcMaxTossRange( SOLDIERTYPE * pSoldier, UINT16 usItem, BOOLEAN fArmed )
{
INT32 iRange; UINT16 usSubItem;
if ( EXPLOSIVE_GUN( usItem ) )
{
// oops! return value in weapons table
return( Weapon[ usItem ].usRange / CELL_X_SIZE );
}
// if item's fired mechanically
// ATE: If we are sent in a LAUNCHABLE, get the LAUCNHER, and sub ONLY if we are armed...
usSubItem = GetLauncherFromLaunchable( usItem );
if ( fArmed && usSubItem != NOTHING )
{
usItem = usSubItem;
}
if ( Item[ usItem ].usItemClass == IC_LAUNCHER && fArmed ) {
// this function returns range in tiles so, stupidly, we have to divide by 10 here
iRange = Weapon[usItem].usRange / CELL_X_SIZE;
}
else
{
if ( Item[ usItem ].fFlags & ITEM_UNAERODYNAMIC )
{
iRange = 1;
}
else if ( Item[ usItem ].usItemClass == IC_GRENADE )
{
// start with the range based on the soldier's strength and the item's weight
INT32 iThrowingStrength = ( EffectiveStrength( pSoldier ) * 2 + 100 ) / 3;
iRange = 2 + ( iThrowingStrength / __min( ( 3 + (Item[usItem].ubWeight) / 3 ), 4 ) );
}
else
{
// not as aerodynamic!
// start with the range based on the soldier's strength and the item's weight
iRange = 2 + ( ( EffectiveStrength( pSoldier ) / ( 5 + Item[usItem].ubWeight) ) );
}
// adjust for thrower's remaining breath (lose up to 1/2 of range)
iRange -= (iRange * (100 - pSoldier->bBreath)) / 200;
if ( HAS_SKILL_TRAIT( pSoldier, THROWING ) )
{
// better max range due to expertise
iRange = iRange * (100 + gbSkillTraitBonus[THROWING] * NUM_SKILL_TRAITS( pSoldier, THROWING ) ) / 100;
}
}
if (iRange < 1)
{
iRange = 1;
}
return( iRange );}
--------------------------------------------------------------------------------
look closely, soemone has put a maximum cap on grenade weight.
code:
--------------------------------------------------------------------------------
iRange = 2 + ( iThrowingStrength / __min( ( 3 + (Item[usItem].ubWeight) / 3 ), 4 ) );
--------------------------------------------------------------------------------
If only in the real world heavy objects magically became the same weight if they were too heavy. Or, maybe that'd be bad (/me pictures himself floating away from Earth because the gravity is too low). Anyway, we're going to change it:
Übersetzung
Wenn es nur in der Realität auch so einfach wäre, ein zu schweres Objekt auf magische Weise leichter zu machen. Na gut, vielleicht ist es nicht ganz so gut, wenn ich daran denke wie ich mich von der Erde entferne weil die Gravitation zu klein ist. Aber egal, machen wir uns daran das zu ändern:
code:
--------------------------------------------------------------------------------
iRange = 2 + ( iThrowingStrength / ( 3 + (Item[usItem].ubWeight) / 3 ));
--------------------------------------------------------------------------------
There, now you can build ja2.exe and throw physically accurate grenades to your content.
NOTE: Please tell me if you've done all of the above steps and stuff still doesn't work. It's possible that I missed a step that I've done in my code or *gasp* missed some neccesary modification that has to be coded.
If you need clarification on certain points, please post and I'll do my best.
Übersetzung
Nun kannst du die Exe kompilieren und Granaten physikalisch korrekt nach Lust und Laune werfen.
ANMERKUNG: Bitte informiert mich, wenn ihr all die Schritte unternommen haben solltet und es trotzdem nicht funktioniert. Vielleicht habe ich ja eine Änderung im Code aus Versehen nicht gepostet, oder *Seufz* irgend etwas falsch gemacht / nicht gecodet.
THX to Digicrab
The following describes step by step what to do to fix a "feature" that some evil person introduced when makng version 1.12. For whatever reason, someone decided to remove the distinction between small grenades and large grenades. Outwardly, this looks like there is no difference in the weight of the grenade. We're going to make mini-grenades useful again. If you hunt around, you'll see the function responsible in "Tactical\Weapons.c":
[Übersetzung]
Hier wird Schritt für Schritt beschrieben wie man das Problem mit dem Gewicht der Handgranaten in JA2 1.12 beseitigen kann, das aus Versehen (?) auftauchte. Genauer gesagt war das Gewicht der Granaten egal, also ob Mini- oder normale Granate, die Wurfweite war immer gleich.
Die Lösung des Problems findet sich in "Tactical\Weapons.c":
code:
--------------------------------------------------------------------------------
INT32 CalcMaxTossRange( SOLDIERTYPE * pSoldier, UINT16 usItem, BOOLEAN fArmed )
{
INT32 iRange; UINT16 usSubItem;
if ( EXPLOSIVE_GUN( usItem ) )
{
// oops! return value in weapons table
return( Weapon[ usItem ].usRange / CELL_X_SIZE );
}
// if item's fired mechanically
// ATE: If we are sent in a LAUNCHABLE, get the LAUCNHER, and sub ONLY if we are armed...
usSubItem = GetLauncherFromLaunchable( usItem );
if ( fArmed && usSubItem != NOTHING )
{
usItem = usSubItem;
}
if ( Item[ usItem ].usItemClass == IC_LAUNCHER && fArmed ) {
// this function returns range in tiles so, stupidly, we have to divide by 10 here
iRange = Weapon[usItem].usRange / CELL_X_SIZE;
}
else
{
if ( Item[ usItem ].fFlags & ITEM_UNAERODYNAMIC )
{
iRange = 1;
}
else if ( Item[ usItem ].usItemClass == IC_GRENADE )
{
// start with the range based on the soldier's strength and the item's weight
INT32 iThrowingStrength = ( EffectiveStrength( pSoldier ) * 2 + 100 ) / 3;
iRange = 2 + ( iThrowingStrength / __min( ( 3 + (Item[usItem].ubWeight) / 3 ), 4 ) );
}
else
{
// not as aerodynamic!
// start with the range based on the soldier's strength and the item's weight
iRange = 2 + ( ( EffectiveStrength( pSoldier ) / ( 5 + Item[usItem].ubWeight) ) );
}
// adjust for thrower's remaining breath (lose up to 1/2 of range)
iRange -= (iRange * (100 - pSoldier->bBreath)) / 200;
if ( HAS_SKILL_TRAIT( pSoldier, THROWING ) )
{
// better max range due to expertise
iRange = iRange * (100 + gbSkillTraitBonus[THROWING] * NUM_SKILL_TRAITS( pSoldier, THROWING ) ) / 100;
}
}
if (iRange < 1)
{
iRange = 1;
}
return( iRange );}
--------------------------------------------------------------------------------
look closely, soemone has put a maximum cap on grenade weight.
code:
--------------------------------------------------------------------------------
iRange = 2 + ( iThrowingStrength / __min( ( 3 + (Item[usItem].ubWeight) / 3 ), 4 ) );
--------------------------------------------------------------------------------
If only in the real world heavy objects magically became the same weight if they were too heavy. Or, maybe that'd be bad (/me pictures himself floating away from Earth because the gravity is too low). Anyway, we're going to change it:
Übersetzung
Wenn es nur in der Realität auch so einfach wäre, ein zu schweres Objekt auf magische Weise leichter zu machen. Na gut, vielleicht ist es nicht ganz so gut, wenn ich daran denke wie ich mich von der Erde entferne weil die Gravitation zu klein ist. Aber egal, machen wir uns daran das zu ändern:
code:
--------------------------------------------------------------------------------
iRange = 2 + ( iThrowingStrength / ( 3 + (Item[usItem].ubWeight) / 3 ));
--------------------------------------------------------------------------------
There, now you can build ja2.exe and throw physically accurate grenades to your content.
NOTE: Please tell me if you've done all of the above steps and stuff still doesn't work. It's possible that I missed a step that I've done in my code or *gasp* missed some neccesary modification that has to be coded.
If you need clarification on certain points, please post and I'll do my best.
Übersetzung
Nun kannst du die Exe kompilieren und Granaten physikalisch korrekt nach Lust und Laune werfen.
ANMERKUNG: Bitte informiert mich, wenn ihr all die Schritte unternommen haben solltet und es trotzdem nicht funktioniert. Vielleicht habe ich ja eine Änderung im Code aus Versehen nicht gepostet, oder *Seufz* irgend etwas falsch gemacht / nicht gecodet.
THX to Digicrab
Ten thousand gobs lay down their swabs to fight one sick marine -
Ten thousand more stood up and swore,
'Twas the damndest fight they'd ever seen
Zivi-Animateur im RdGE
RIP Möhre
Ten thousand more stood up and swore,
'Twas the damndest fight they'd ever seen
Zivi-Animateur im RdGE
RIP Möhre
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
schon drinne
aber zu den Tuts etc... die Packt Tox alle auf eine Seite
wer Lust hat kann die ja in De übersetzen
und noch was Außerdeutsche Mirror wären noch gut
hier der link
[EDIT by Gunny]
- du bist drin? --> na dann zeig mal was du drauf hast
- genau dafür ist dieser Thread... um die übersetzen Tuts zu posten
- Mirror wofür?
- und in Zukunft hier solche nichtssagenden Posts bitte unterlassen
- welcher Link
[/EDIT]
aber zu den Tuts etc... die Packt Tox alle auf eine Seite
wer Lust hat kann die ja in De übersetzen
und noch was Außerdeutsche Mirror wären noch gut
hier der link
[EDIT by Gunny]
- du bist drin? --> na dann zeig mal was du drauf hast
- genau dafür ist dieser Thread... um die übersetzen Tuts zu posten
- Mirror wofür?
- und in Zukunft hier solche nichtssagenden Posts bitte unterlassen
- welcher Link
[/EDIT]
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
SMKINTRO_REBEL_CRDT,
SMKINTRO_OMERTA,
SMKINTRO_PRAGUE_CRDT,
SMKINTRO_PRAGUE,
//there are no more videos shown for the begining
SMKINTRO_END_END_SPEECH_MIGUEL,
SMKINTRO_END_END_SPEECH_NO_MIGUEL,
SMKINTRO_END_HELI_FLYBY,
SMKINTRO_END_SKYRIDER_HELICOPTER,
SMKINTRO_END_NOSKYRIDER_HELICOPTER,
SMKINTRO_SPLASH_SCREEN,
SMKINTRO_SPLASH_TALONSOFT,
//there are no more videos shown for the endgame
SMKINTRO_LAST_END_GAME,
}; hier sind alle aufgelistet und wann sie Spielen
CHAR *gpzSmackerFileNames[] =
{
//begining of the game
"INTRO\\Rebel_cr.smk",
"INTRO\\Omerta.smk",
"INTRO\\Prague_cr.smk",
"INTRO\\Prague.smk",
//endgame
"INTRO\\Throne_Mig.smk",
"INTRO\\Throne_NoMig.smk",
"INTRO\\Heli_FlyBy.smk",
"INTRO\\Heli_Sky.smk",
"INTRO\\Heli_NoSky.smk",
"INTRO\\SplashScreen.smk",
"INTRO\\TalonSoftid_endhold.smk",
};
Wann sie Anfangen
INT32 GetNextIntroVideo( UINT32 uiCurrentVideo )
{
INT32 iStringToUse = -1;
//switch on whether it is the beginging or the end game video
switch( gbIntroScreenMode )
{
//the video at the begining of the game
case INTRO_BEGINING:
{
switch( uiCurrentVideo )
{
case SMKINTRO_FIRST_VIDEO:
iStringToUse = SMKINTRO_REBEL_CRDT;
break;
case SMKINTRO_REBEL_CRDT:
iStringToUse = SMKINTRO_OMERTA;
break;
case SMKINTRO_OMERTA:
iStringToUse = SMKINTRO_PRAGUE_CRDT;
break;
case SMKINTRO_PRAGUE_CRDT:
iStringToUse = SMKINTRO_PRAGUE;
break;
case SMKINTRO_PRAGUE:
iStringToUse = -1;
break;
// case SMKINTRO_LAST_INTRO:
// iStringToUse = -1;
// break;
}
}
break;
//end game
case INTRO_ENDING:
{
switch( uiCurrentVideo )
{
case SMKINTRO_FIRST_VIDEO:
//if Miguel is dead, play the flic with out him in it
if( gMercProfiles[ MIGUEL ].bMercStatus == MERC_IS_DEAD )
iStringToUse = SMKINTRO_END_END_SPEECH_NO_MIGUEL;
else
iStringToUse = SMKINTRO_END_END_SPEECH_MIGUEL;
break;
case SMKINTRO_END_END_SPEECH_MIGUEL:
case SMKINTRO_END_END_SPEECH_NO_MIGUEL:
iStringToUse = SMKINTRO_END_HELI_FLYBY;
break;
//if SkyRider is dead, play the flic without him
case SMKINTRO_END_HELI_FLYBY:
if( gMercProfiles[ SKYRIDER ].bMercStatus == MERC_IS_DEAD )
iStringToUse = SMKINTRO_END_NOSKYRIDER_HELICOPTER;
else
iStringToUse = SMKINTRO_END_SKYRIDER_HELICOPTER;
break;
}
}
break;
case INTRO_SPLASH:
switch( uiCurrentVideo )
{
case SMKINTRO_FIRST_VIDEO:
iStringToUse = SMKINTRO_SPLASH_SCREEN;
break;
case SMKINTRO_SPLASH_SCREEN:
//iStringToUse = SMKINTRO_SPLASH_TALONSOFT;
break;
}
break;
}
return( iStringToUse );
}
this to but with if terms
gMercProfiles[ SKYRIDER ].bMercStatus == MERC_IS_DEAD )
wenn man es in gMercProfiles[ Shadow ].bMercStatus == MERC_IS_DEAD )
dann wird es gespielt wenn Shadow stirbt
but i Thing we can change
gMercProfiles[ SKYRIDER ].bMercStatus == MERC_IS_PRISON )
hier startet es wenn er Gefangen ist es sind noch andere Stadien Möglich wie Verletzt oder so aber ich weiß noch nicht den Absatz
memset( &VObjectDesc, 0, sizeof( VOBJECT_DESC ) );
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("INTERFACE\\SirtechSplash.sti", VObjectDesc.ImageFile);
// FilenameForBPP("INTERFACE\\TShold.sti", VObjectDesc.ImageFile);
if( !AddVideoObject(&VObjectDesc, &uiLogoID) )
{
AssertMsg( 0, String( "Failed to load %s", VObjectDesc.ImageFile ) );
return;
}
SMKINTRO_OMERTA,
SMKINTRO_PRAGUE_CRDT,
SMKINTRO_PRAGUE,
//there are no more videos shown for the begining
SMKINTRO_END_END_SPEECH_MIGUEL,
SMKINTRO_END_END_SPEECH_NO_MIGUEL,
SMKINTRO_END_HELI_FLYBY,
SMKINTRO_END_SKYRIDER_HELICOPTER,
SMKINTRO_END_NOSKYRIDER_HELICOPTER,
SMKINTRO_SPLASH_SCREEN,
SMKINTRO_SPLASH_TALONSOFT,
//there are no more videos shown for the endgame
SMKINTRO_LAST_END_GAME,
}; hier sind alle aufgelistet und wann sie Spielen
CHAR *gpzSmackerFileNames[] =
{
//begining of the game
"INTRO\\Rebel_cr.smk",
"INTRO\\Omerta.smk",
"INTRO\\Prague_cr.smk",
"INTRO\\Prague.smk",
//endgame
"INTRO\\Throne_Mig.smk",
"INTRO\\Throne_NoMig.smk",
"INTRO\\Heli_FlyBy.smk",
"INTRO\\Heli_Sky.smk",
"INTRO\\Heli_NoSky.smk",
"INTRO\\SplashScreen.smk",
"INTRO\\TalonSoftid_endhold.smk",
};
Wann sie Anfangen
INT32 GetNextIntroVideo( UINT32 uiCurrentVideo )
{
INT32 iStringToUse = -1;
//switch on whether it is the beginging or the end game video
switch( gbIntroScreenMode )
{
//the video at the begining of the game
case INTRO_BEGINING:
{
switch( uiCurrentVideo )
{
case SMKINTRO_FIRST_VIDEO:
iStringToUse = SMKINTRO_REBEL_CRDT;
break;
case SMKINTRO_REBEL_CRDT:
iStringToUse = SMKINTRO_OMERTA;
break;
case SMKINTRO_OMERTA:
iStringToUse = SMKINTRO_PRAGUE_CRDT;
break;
case SMKINTRO_PRAGUE_CRDT:
iStringToUse = SMKINTRO_PRAGUE;
break;
case SMKINTRO_PRAGUE:
iStringToUse = -1;
break;
// case SMKINTRO_LAST_INTRO:
// iStringToUse = -1;
// break;
}
}
break;
//end game
case INTRO_ENDING:
{
switch( uiCurrentVideo )
{
case SMKINTRO_FIRST_VIDEO:
//if Miguel is dead, play the flic with out him in it
if( gMercProfiles[ MIGUEL ].bMercStatus == MERC_IS_DEAD )
iStringToUse = SMKINTRO_END_END_SPEECH_NO_MIGUEL;
else
iStringToUse = SMKINTRO_END_END_SPEECH_MIGUEL;
break;
case SMKINTRO_END_END_SPEECH_MIGUEL:
case SMKINTRO_END_END_SPEECH_NO_MIGUEL:
iStringToUse = SMKINTRO_END_HELI_FLYBY;
break;
//if SkyRider is dead, play the flic without him
case SMKINTRO_END_HELI_FLYBY:
if( gMercProfiles[ SKYRIDER ].bMercStatus == MERC_IS_DEAD )
iStringToUse = SMKINTRO_END_NOSKYRIDER_HELICOPTER;
else
iStringToUse = SMKINTRO_END_SKYRIDER_HELICOPTER;
break;
}
}
break;
case INTRO_SPLASH:
switch( uiCurrentVideo )
{
case SMKINTRO_FIRST_VIDEO:
iStringToUse = SMKINTRO_SPLASH_SCREEN;
break;
case SMKINTRO_SPLASH_SCREEN:
//iStringToUse = SMKINTRO_SPLASH_TALONSOFT;
break;
}
break;
}
return( iStringToUse );
}
this to but with if terms
gMercProfiles[ SKYRIDER ].bMercStatus == MERC_IS_DEAD )
wenn man es in gMercProfiles[ Shadow ].bMercStatus == MERC_IS_DEAD )
dann wird es gespielt wenn Shadow stirbt
but i Thing we can change
gMercProfiles[ SKYRIDER ].bMercStatus == MERC_IS_PRISON )
hier startet es wenn er Gefangen ist es sind noch andere Stadien Möglich wie Verletzt oder so aber ich weiß noch nicht den Absatz
memset( &VObjectDesc, 0, sizeof( VOBJECT_DESC ) );
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("INTERFACE\\SirtechSplash.sti", VObjectDesc.ImageFile);
// FilenameForBPP("INTERFACE\\TShold.sti", VObjectDesc.ImageFile);
if( !AddVideoObject(&VObjectDesc, &uiLogoID) )
{
AssertMsg( 0, String( "Failed to load %s", VObjectDesc.ImageFile ) );
return;
}
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
mmm...
Wäre es möglich, entweder den veränderten Source als Datei dranzuhängen oder das wir ein
Wäre es möglich, entweder den veränderten Source als Datei dranzuhängen oder das wir ein
Code: Alles auswählen
- Tag bekommen (gibt es in einigen Foren), wodurch es möglich ist, dass der Sourcecode gleich richtig dargestellt wird ? Nebenbei wäre es nett, auch zu wissen, welche Datei bearbeitet wird und wo sie zu finden ist, oder shadow of Rechtschreibung ? ...
oder das wir einCode: Alles auswählen
- Tag bekommen [/quote] du wirst es wohl vergessen haben, aber das gibts tatsächlich ;) [*PHP]SMKINTRO_REBEL_CRDT, SMKINTRO_OMERTA, SMKINTRO_PRAGUE_CRDT, SMKINTRO_PRAGUE, [*/PHP] *wegnehmen und dann erscheint [PHP]SMKINTRO_REBEL_CRDT, SMKINTRO_OMERTA, SMKINTRO_PRAGUE_CRDT, SMKINTRO_PRAGUE, [/PHP] ist zwar kein richtige code den du meinst einzufügen, aber immerhin etwas was man machen könnte um es übersichtlicher zu gestalten. wo ich auch schon beim thema überischt bin, bitte kommentare und disskussionen [url=http://ja-forum.gamigo.de/showthread.php?threadid=14421]hier[/url] fortführen. im übrigen ist es in meinen augen etwas unsinnig hier etwas aufzubauen, was allgemein im US board besser klappt. MFG......
dieser Thread hier ist auch net als Konkurrenz zum Whitehat Project zu verstehen, vielmehr wollte ich damit hier auf dem Basis-Forum darauf aufmerksam machen,Original geschrieben von Nitrat
... im übrigen ist es in meinen augen etwas unsinnig hier
etwas aufzubauen, was allgemein im US board besser klappt.
MFG......
als zweiter Zweck hatte ich mir vorgestellt, einfach ein loses Posting von Ergebnissen des Projects,
weil viele ja nicht im BearsPit vorbeischauen
außerdem gibt das mehr Besucher für das Forum
Ten thousand gobs lay down their swabs to fight one sick marine -
Ten thousand more stood up and swore,
'Twas the damndest fight they'd ever seen
Zivi-Animateur im RdGE
RIP Möhre
Ten thousand more stood up and swore,
'Twas the damndest fight they'd ever seen
Zivi-Animateur im RdGE
RIP Möhre
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
ok ich lass auch mal wieder was von mich hören
das Thema hier kann geschlossen werden da ein Teil der Write Hats ja2 moddable mach - da her fangen wir an das wichtigste in xml zu bringen die Waffenwerte sind schon drinne , die Städtegröße folg und so aber ka wie lange das dauert
die Samsstellungen sind auch in mache blos das dauert noch
aber egal
deswegen würde ich sagen das das hier geschlossen werden kann
das Thema hier kann geschlossen werden da ein Teil der Write Hats ja2 moddable mach - da her fangen wir an das wichtigste in xml zu bringen die Waffenwerte sind schon drinne , die Städtegröße folg und so aber ka wie lange das dauert
die Samsstellungen sind auch in mache blos das dauert noch
aber egal
deswegen würde ich sagen das das hier geschlossen werden kann
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
yo schliesst am besten das gesamte Map Forum
....hier ist ja sowieso nichts los und es lohnt sich ja auch
garnicht mal etwas für das fortbestehen eines Forums zu tun...
es ist zwar schön das du im White Hat Projekt drin
bist Shadow, aber hier muss auch dringend was
getan werden, deshalb lass ich diesen Thread offen !
MFG......
....hier ist ja sowieso nichts los und es lohnt sich ja auch
garnicht mal etwas für das fortbestehen eines Forums zu tun...
es ist zwar schön das du im White Hat Projekt drin
bist Shadow, aber hier muss auch dringend was
getan werden, deshalb lass ich diesen Thread offen !
MFG......
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
ok dann hier wieder was zum Thema nicht vollständig aber nen Teil ist da bestimmt hier nen Auszug aus strategicmap.c
[PHP]};
INT16 pSamList[ NUMBER_OF_SAMS ]={
SECTOR( SAM_1_X, SAM_1_Y ),
SECTOR( SAM_2_X, SAM_2_Y ),
SECTOR( SAM_3_X, SAM_3_Y ),
SECTOR( SAM_4_X, SAM_4_Y ),
};
[/PHP] hier muss man einfach SECTOR( SAM_5_X, SAM_5_Y)
[PHP]
};[/PHP] // have any of the sam sites been found
BOOLEAN fSamSiteFound[ NUMBER_OF_SAMS ]={
FALSE,
FALSE,
FALSE,
FALSE,
}; hier welche gefunden wurden nehmen wir zum Test die 5. Zeile mit TRUE
[PHP]
INT16 pSamGridNoAList[ NUMBER_OF_SAMS ]={
10196,
11295,
16080,
11913,
INT16 pSamGridNoBList[ NUMBER_OF_SAMS ]={
10195,
11135,
15920,
11912,
};
[/PHP] [PHP] bei den beiden bin ich noch Planlos deswegen lassen wir das aus
// ATE: Update this w/ graphic used
// Use 3 if / orientation, 4 if \ orientation
INT8 gbSAMGraphicList[ NUMBER_OF_SAMS ]={
4,
3,
3,
3,
};
[/PHP] einfach ne 3 Hinzufügen
[PHP]UINT8 ubSAMControlledSectors[ MAP_WORLD_Y ][ MAP_WORLD_X ] = {
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2, 2, 2, 2, 0, // A
0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, // B
0, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 0, // C
0, 1,01, 1, 1, 1, 1, 1, 3, 3, 2, 2, 2, 2, 2,02, 2, 0, // D
0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, // E
0, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 0, // F
0, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 0, // G
0, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // H
0, 1, 1, 3, 3, 3, 3, 3,03, 3, 3, 3, 3, 3, 2, 2, 2, 0, // I
0, 1, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // J
0, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // K
0, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // L
0, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // M
0, 4, 4, 4,04, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 0, // N
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 0, // O
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 0, // P
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};[/PHP]
hier die ist am Wichtigsten bei Zahlen wie 01,02,03,04 sind jeweils der Standort der Rest ist die Jeweilige Reichweite
wenn man eins Hinzufügen will muss man dann 05 nehm und dann halt dann 5 wen verteilen
[PHP]{
case SEC_D2: //Chitzena SAM
if( !fSamSiteFound[ SAM_SITE_ONE ] )
wcscat( zString, pLandTypeStrings[ TROPICS ] );
else if( fDetailed )
wcscat( zString, pLandTypeStrings[ TROPICS_SAM_SITE ] );
else
wcscat( zString, pLandTypeStrings[ SAM_SITE ] );
break;
case SEC_D15: //Drassen SAM
if( !fSamSiteFound[ SAM_SITE_TWO ] )
wcscat( zString, pLandTypeStrings[ SPARSE ] );
else if( fDetailed )
wcscat( zString, pLandTypeStrings[ SPARSE_SAM_SITE ] );
else
wcscat( zString, pLandTypeStrings[ SAM_SITE ] );
break;
case SEC_I8: //Cambria SAM
if( !fSamSiteFound[ SAM_SITE_THREE ] )
wcscat( zString, pLandTypeStrings[ SAND ] );
else if( fDetailed )
wcscat( zString, pLandTypeStrings[ SAND_SAM_SITE ] );
else
wcscat( zString, pLandTypeStrings[ SAM_SITE ] );
break;
default:
wcscat( zString, pLandTypeStrings[ ubLandType ] );
break;
}
}
[/PHP] so der Setze Abschnitt Zeigt wie alle Heißen
bei mir ging es
wenn ich Irgendwas vergessen hab bitte sagt es
[PHP]};
INT16 pSamList[ NUMBER_OF_SAMS ]={
SECTOR( SAM_1_X, SAM_1_Y ),
SECTOR( SAM_2_X, SAM_2_Y ),
SECTOR( SAM_3_X, SAM_3_Y ),
SECTOR( SAM_4_X, SAM_4_Y ),
};
[/PHP] hier muss man einfach SECTOR( SAM_5_X, SAM_5_Y)
[PHP]
};[/PHP] // have any of the sam sites been found
BOOLEAN fSamSiteFound[ NUMBER_OF_SAMS ]={
FALSE,
FALSE,
FALSE,
FALSE,
}; hier welche gefunden wurden nehmen wir zum Test die 5. Zeile mit TRUE
[PHP]
INT16 pSamGridNoAList[ NUMBER_OF_SAMS ]={
10196,
11295,
16080,
11913,
INT16 pSamGridNoBList[ NUMBER_OF_SAMS ]={
10195,
11135,
15920,
11912,
};
[/PHP] [PHP] bei den beiden bin ich noch Planlos deswegen lassen wir das aus
// ATE: Update this w/ graphic used
// Use 3 if / orientation, 4 if \ orientation
INT8 gbSAMGraphicList[ NUMBER_OF_SAMS ]={
4,
3,
3,
3,
};
[/PHP] einfach ne 3 Hinzufügen
[PHP]UINT8 ubSAMControlledSectors[ MAP_WORLD_Y ][ MAP_WORLD_X ] = {
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2, 2, 2, 2, 0, // A
0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, // B
0, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 0, // C
0, 1,01, 1, 1, 1, 1, 1, 3, 3, 2, 2, 2, 2, 2,02, 2, 0, // D
0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, // E
0, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 0, // F
0, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 0, // G
0, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // H
0, 1, 1, 3, 3, 3, 3, 3,03, 3, 3, 3, 3, 3, 2, 2, 2, 0, // I
0, 1, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // J
0, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // K
0, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // L
0, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 0, // M
0, 4, 4, 4,04, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 0, // N
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 0, // O
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 0, // P
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};[/PHP]
hier die ist am Wichtigsten bei Zahlen wie 01,02,03,04 sind jeweils der Standort der Rest ist die Jeweilige Reichweite
wenn man eins Hinzufügen will muss man dann 05 nehm und dann halt dann 5 wen verteilen
[PHP]{
case SEC_D2: //Chitzena SAM
if( !fSamSiteFound[ SAM_SITE_ONE ] )
wcscat( zString, pLandTypeStrings[ TROPICS ] );
else if( fDetailed )
wcscat( zString, pLandTypeStrings[ TROPICS_SAM_SITE ] );
else
wcscat( zString, pLandTypeStrings[ SAM_SITE ] );
break;
case SEC_D15: //Drassen SAM
if( !fSamSiteFound[ SAM_SITE_TWO ] )
wcscat( zString, pLandTypeStrings[ SPARSE ] );
else if( fDetailed )
wcscat( zString, pLandTypeStrings[ SPARSE_SAM_SITE ] );
else
wcscat( zString, pLandTypeStrings[ SAM_SITE ] );
break;
case SEC_I8: //Cambria SAM
if( !fSamSiteFound[ SAM_SITE_THREE ] )
wcscat( zString, pLandTypeStrings[ SAND ] );
else if( fDetailed )
wcscat( zString, pLandTypeStrings[ SAND_SAM_SITE ] );
else
wcscat( zString, pLandTypeStrings[ SAM_SITE ] );
break;
default:
wcscat( zString, pLandTypeStrings[ ubLandType ] );
break;
}
}
[/PHP] so der Setze Abschnitt Zeigt wie alle Heißen
bei mir ging es
wenn ich Irgendwas vergessen hab bitte sagt es
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
wie gesagt um ändern gehts ja bei mir hauptsächlich nicht
ich bin dabei das in ner xml zu vereinfachen
also kannste ja lieber versuchen nen Fahrbaren Panzer zu machen
€edit mist jetzt weiß ich was ich vergessen hab ich weiß blos nicht mehr in welcher .c das war muss ich suchen
da war drinne wo bei welchen Schwierigkeitsgrad wieviele Soldaten sind
ich bin dabei das in ner xml zu vereinfachen
also kannste ja lieber versuchen nen Fahrbaren Panzer zu machen
€edit mist jetzt weiß ich was ich vergessen hab ich weiß blos nicht mehr in welcher .c das war muss ich suchen
da war drinne wo bei welchen Schwierigkeitsgrad wieviele Soldaten sind
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
ich habs gefunden in der strategicmap.h
[PHP]#define NUMBER_OF_SAMS 4[/PHP]
wenn das jetzt nicht logisch ist dann weiß ich auch nicht
[PHP]// SAM sites
#define SAM_1_X 2
#define SAM_2_X 15
#define SAM_3_X 8
#define SAM_4_X 4
#define SAM_1_Y 4
#define SAM_2_Y 4
#define SAM_3_Y 9
#define SAM_4_Y 14[/PHP]
hier jetzt die genauen Koordinaten von den Sams
[PHP]// min condition for sam site to be functional
#define MIN_CONDITION_FOR_SAM_SITE_TO_WORK 80[/PHP]
nur ne Spielerrei hier steht wieviel 80% das Sam heile sein muss damit es geht
jetzt wiederwas in der strategicmap.c
[PHP]// all SAM sites start game in perfect working condition
StrategicMap[(SAM_1_X)+(MAP_WORLD_X*(SAM_1_Y))].bSAMCondition = 100;
StrategicMap[(SAM_2_X)+(MAP_WORLD_X*(SAM_2_Y))].bSAMCondition = 100;
StrategicMap[(SAM_3_X)+(MAP_WORLD_X*(SAM_3_Y))].bSAMCondition = 100;
StrategicMap[(SAM_4_X)+(MAP_WORLD_X*(SAM_4_Y))].bSAMCondition = 100;
[/PHP]
hier muss man mal weider StrategicMap[(SAM_5_X)+(MAP_WORLD_X*(SAM_5_Y))].bSAMCondition = 100;
die zahl dahinter steht für den Zustand also wenn wir 50 Einstellen müssen sie die erst Reparieren ( zumindest sollten die es laut source machen) so ist es Möglich zb dne Bau von einer Sam zu Realisieren
es feht immernoch die string wo die sams to Samsone oder so definiert sind , bis jetzt ist es dann möglich Sam hinzuzufügen aber nur wenn sie sichtbar sind nicht das man sie Finden muss
und es ist nicht möglich die Sequenz mit Diedranner zu ändern
es ist schon möglich blos gehe ich nicht auf die Meanwhile.c bzw Meanwhile.h ein
[PHP]#define NUMBER_OF_SAMS 4[/PHP]
wenn das jetzt nicht logisch ist dann weiß ich auch nicht
[PHP]// SAM sites
#define SAM_1_X 2
#define SAM_2_X 15
#define SAM_3_X 8
#define SAM_4_X 4
#define SAM_1_Y 4
#define SAM_2_Y 4
#define SAM_3_Y 9
#define SAM_4_Y 14[/PHP]
hier jetzt die genauen Koordinaten von den Sams
[PHP]// min condition for sam site to be functional
#define MIN_CONDITION_FOR_SAM_SITE_TO_WORK 80[/PHP]
nur ne Spielerrei hier steht wieviel 80% das Sam heile sein muss damit es geht
jetzt wiederwas in der strategicmap.c
[PHP]// all SAM sites start game in perfect working condition
StrategicMap[(SAM_1_X)+(MAP_WORLD_X*(SAM_1_Y))].bSAMCondition = 100;
StrategicMap[(SAM_2_X)+(MAP_WORLD_X*(SAM_2_Y))].bSAMCondition = 100;
StrategicMap[(SAM_3_X)+(MAP_WORLD_X*(SAM_3_Y))].bSAMCondition = 100;
StrategicMap[(SAM_4_X)+(MAP_WORLD_X*(SAM_4_Y))].bSAMCondition = 100;
[/PHP]
hier muss man mal weider StrategicMap[(SAM_5_X)+(MAP_WORLD_X*(SAM_5_Y))].bSAMCondition = 100;
die zahl dahinter steht für den Zustand also wenn wir 50 Einstellen müssen sie die erst Reparieren ( zumindest sollten die es laut source machen) so ist es Möglich zb dne Bau von einer Sam zu Realisieren
es feht immernoch die string wo die sams to Samsone oder so definiert sind , bis jetzt ist es dann möglich Sam hinzuzufügen aber nur wenn sie sichtbar sind nicht das man sie Finden muss
und es ist nicht möglich die Sequenz mit Diedranner zu ändern
es ist schon möglich blos gehe ich nicht auf die Meanwhile.c bzw Meanwhile.h ein
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
ok hier ist jetzt die vollständige Version
Nachteil ist das keine Gegener in den Sector sind da das anderes definiert ist bzw ich da auch ein String noch nicht gefunden hab.
zum Test einfach mal ne Patrolie auf A8 Setzen
in strategic/strategic.c
line 250
PATROL_GROUP gOrigPatrolGroup[] =
{ //SIZE PRIORITY POINT1 POINT2 POINT3 POINT4 MOD GROUPID WEIGHT PENDING
// DAY100
8 40 SEC_B1, SEC_C1, SEC_C3, SEC_A3, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
6 35 SEC_B4, SEC_B7, SEC_C7, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
6 25 SEC_A8, SEC_B8, SEC_B9, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
6 30 SEC_B10, SEC_B12, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
7 45 SEC_A11, SEC_A14, SEC_D14, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//5
6 50 SEC_C8, SEC_C9, SEC_D9, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 55 SEC_D3, SEC_G3, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
10 50 SEC_D6, SEC_D7, SEC_F7, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
10 55 SEC_E8, SEC_E11, SEC_F11, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
10 60 SEC_E12, SEC_E15, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//10
12 60 SEC_G4, SEC_G7, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 65 SEC_G10, SEC_G12, SEC_F12, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 65 SEC_G13, SEC_G15, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
10 65 SEC_H15, SEC_J15, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
14 65 SEC_H12, SEC_J12, SEC_J13, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//15
13 70 SEC_H9, SEC_I9, SEC_I10, SEC_J10, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
11 70 SEC_K11, SEC_K14, SEC_J14, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 75 SEC_J2, SEC_K2, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 80 SEC_I3, SEC_J3, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 80 SEC_J6, SEC_K6, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//20
13 85 SEC_K7, SEC_K10, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 90 SEC_L10, SEC_M10, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 90 SEC_N9, SEC_N10, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 80 SEC_L7, SEC_L8, SEC_M8, SEC_M9, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
14 80 SEC_H4, SEC_H5, SEC_I5, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//25
7 40 SEC_D4, SEC_E4, SEC_E5, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
7 50 SEC_C10, SEC_C11, SEC_D11, SEC_D12, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
8 40 SEC_A15, SEC_C15, SEC_C16, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 30 SEC_L13, SEC_M13, SEC_M14, SEC_L14, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//29
};
#define PATROL_GROUPS 29
da einfach ne Zeile hinzufügen mit allen Punkten A8 und unten halt ne 30
so jetzt zum Tut das findet ihr unter
http://mitglied.lycos.de/fallendeath/
Nachteil ist das keine Gegener in den Sector sind da das anderes definiert ist bzw ich da auch ein String noch nicht gefunden hab.
zum Test einfach mal ne Patrolie auf A8 Setzen
in strategic/strategic.c
line 250
PATROL_GROUP gOrigPatrolGroup[] =
{ //SIZE PRIORITY POINT1 POINT2 POINT3 POINT4 MOD GROUPID WEIGHT PENDING
// DAY100
8 40 SEC_B1, SEC_C1, SEC_C3, SEC_A3, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
6 35 SEC_B4, SEC_B7, SEC_C7, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
6 25 SEC_A8, SEC_B8, SEC_B9, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
6 30 SEC_B10, SEC_B12, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
7 45 SEC_A11, SEC_A14, SEC_D14, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//5
6 50 SEC_C8, SEC_C9, SEC_D9, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 55 SEC_D3, SEC_G3, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
10 50 SEC_D6, SEC_D7, SEC_F7, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
10 55 SEC_E8, SEC_E11, SEC_F11, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
10 60 SEC_E12, SEC_E15, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//10
12 60 SEC_G4, SEC_G7, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 65 SEC_G10, SEC_G12, SEC_F12, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 65 SEC_G13, SEC_G15, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
10 65 SEC_H15, SEC_J15, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
14 65 SEC_H12, SEC_J12, SEC_J13, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//15
13 70 SEC_H9, SEC_I9, SEC_I10, SEC_J10, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
11 70 SEC_K11, SEC_K14, SEC_J14, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 75 SEC_J2, SEC_K2, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 80 SEC_I3, SEC_J3, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 80 SEC_J6, SEC_K6, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//20
13 85 SEC_K7, SEC_K10, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 90 SEC_L10, SEC_M10, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 90 SEC_N9, SEC_N10, 0 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 80 SEC_L7, SEC_L8, SEC_M8, SEC_M9, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
14 80 SEC_H4, SEC_H5, SEC_I5, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//25
7 40 SEC_D4, SEC_E4, SEC_E5, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
7 50 SEC_C10, SEC_C11, SEC_D11, SEC_D12, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
8 40 SEC_A15, SEC_C15, SEC_C16, 0 -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
12 30 SEC_L13, SEC_M13, SEC_M14, SEC_L14, -1 0 0 0 {0,0,0,0,0,0,0,0,0,0},
//29
};
#define PATROL_GROUPS 29
da einfach ne Zeile hinzufügen mit allen Punkten A8 und unten halt ne 30
so jetzt zum Tut das findet ihr unter
http://mitglied.lycos.de/fallendeath/
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
WIE FÜGE ICH NEUE WAFFEN HINZU
@ tactical/Item Types.h
@ line 275
[PHP]#define FIRST_WEAPON 1
#define FIRST_AMMO 71
#define FIRST_EXPLOSIVE 131
#define FIRST_ARMOUR 161
#define FIRST_MISC 201
#define FIRST_KEY 271
[/PHP]
das stellt die Anfangsdaten dar am besten kann man das sich hier wie die Liste bei Weedit vorstellen
@ line 284
[PHP]#define NOTHING NONE
typedef enum
{
NONE
// weapons
GLOCK_17
GLOCK_18,
BERETTA_92F,
BERETTA_93R,
SW38,
BARRACUDA,
DESERTEAGLE,
M1911,
MP5K,
MAC10,
THOMPSON,
COMMANDO,
MP53,
AKSU74,
P90,
TYPE85,
SKS,
DRAGUNOV,
M24,
AUG,
G41,
MINI14,
C7,
FAMAS,
AK74,
AKM,
M14,
FNFAL,
G3A3,
G11,
M870,
SPAS15,
CAWS,
MINIMI,
RPK74,
HK21E,
COMBAT_KNIFE,
THROWING_KNIFE,
ROCK,
GLAUNCHER,
MORTAR,
ROCK2,
CREATURE_YOUNG_MALE_CLAWS,
CREATURE_OLD_MALE_CLAWS,
CREATURE_YOUNG_FEMALE_CLAWS,
CREATURE_OLD_FEMALE_CLAWS,
CREATURE_QUEEN_TENTACLES,
CREATURE_QUEEN_SPIT,
BRASS_KNUCKLES,
UNDER_GLAUNCHER,
ROCKET_LAUNCHER,
BLOODCAT_CLAW_ATTACK,
BLOODCAT_BITE,
MACHETE,
ROCKET_RIFLE,
AUTOMAG_III,
CREATURE_INFANT_SPIT,
CREATURE_YOUNG_MALE_SPIT,
CREATURE_OLD_MALE_SPIT,
TANK_CANNON,
DART_GUN,
BLOODY_THROWING_KNIFE,
FLAMETHROWER,
CROWBAR,
AUTO_ROCKET_RIFLE,
MAX_WEAPONS
CLIP9_15
CLIP9_30,
CLIP9_15_AP,
CLIP9_30_AP,
CLIP9_15_HP,
CLIP9_30_HP,
CLIP38_6,
CLIP38_6_AP,
CLIP38_6_HP,
CLIP45_7,
CLIP45_30,
CLIP45_7_AP,
CLIP45_30_AP,
CLIP45_7_HP,
CLIP45_30_HP,
CLIP357_6,
CLIP357_9,
CLIP357_6_AP,
CLIP357_9_AP,
CLIP357_6_HP,
CLIP357_9_HP,
CLIP545_30_AP,
CLIP545_30_HP,
CLIP556_30_AP,
CLIP556_30_HP,
CLIP762W_10_AP,
CLIP762W_30_AP,
CLIP762W_10_HP,
CLIP762W_30_HP,
CLIP762N_5_AP,
CLIP762N_20_AP,
CLIP762N_5_HP,
CLIP762N_20_HP,
CLIP47_50_SAP,
CLIP57_50_AP,
CLIP57_50_HP,
CLIP12G_7,
CLIP12G_7_BUCKSHOT,
CLIPCAWS_10_SAP,
CLIPCAWS_10_FLECH,
CLIPROCKET_AP,
CLIPROCKET_HE,
CLIPROCKET_HEAT,
CLIPDART_SLEEP,
CLIPFLAME,
// explosives
STUN_GRENADE
TEARGAS_GRENADE,
MUSTARD_GRENADE,
MINI_GRENADE,
HAND_GRENADE,
RDX,
TNT,
HMX,
C1,
MORTAR_SHELL,
MINE,
C4,
TRIP_FLARE,
TRIP_KLAXON,
SHAPED_CHARGE,
BREAK_LIGHT,
GL_HE_GRENADE,
GL_TEARGAS_GRENADE,
GL_STUN_GRENADE,
GL_SMOKE_GRENADE,
SMOKE_GRENADE,
TANK_SHELL,
STRUCTURE_IGNITE,
CREATURE_COCKTAIL,
STRUCTURE_EXPLOSION,
GREAT_BIG_EXPLOSION,
BIG_TEAR_GAS,
SMALL_CREATURE_GAS,
LARGE_CREATURE_GAS,
VERY_SMALL_CREATURE_GAS,
// armor
FLAK_JACKET,
FLAK_JACKET_18,
FLAK_JACKET_Y,
KEVLAR_VEST,
KEVLAR_VEST_18,
KEVLAR_VEST_Y,
SPECTRA_VEST,
SPECTRA_VEST_18,
SPECTRA_VEST_Y,
KEVLAR_LEGGINGS,
KEVLAR_LEGGINGS_18,
KEVLAR_LEGGINGS_Y,
SPECTRA_LEGGINGS,
SPECTRA_LEGGINGS_18,
SPECTRA_LEGGINGS_Y,
STEEL_HELMET,
KEVLAR_HELMET,
KEVLAR_HELMET_18,
KEVLAR_HELMET_Y,
SPECTRA_HELMET,
SPECTRA_HELMET_18,
SPECTRA_HELMET_Y,
CERAMIC_PLATES,
CREATURE_INFANT_HIDE,
CREATURE_YOUNG_MALE_HIDE,
CREATURE_OLD_MALE_HIDE,
CREATURE_QUEEN_HIDE,
LEATHER_JACKET,
LEATHER_JACKET_W_KEVLAR,
LEATHER_JACKET_W_KEVLAR_18,
LEATHER_JACKET_W_KEVLAR_Y,
CREATURE_YOUNG_FEMALE_HIDE,
CREATURE_OLD_FEMALE_HIDE,
TSHIRT,
TSHIRT_DEIDRANNA,
KEVLAR2_VEST,
KEVLAR2_VEST_18,
KEVLAR2_VEST_Y,
// kits
FIRSTAIDKIT
MEDICKIT,
TOOLKIT,
LOCKSMITHKIT,
CAMOUFLAGEKIT,
BOOBYTRAPKIT,
// miscellaneous
SILENCER,
SNIPERSCOPE,
BIPOD,
EXTENDEDEAR,
NIGHTGOGGLES,
SUNGOGGLES,
GASMASK,
CANTEEN,
METALDETECTOR,
COMPOUND18,
JAR_QUEEN_CREATURE_BLOOD,
JAR_ELIXIR,
MONEY,
JAR,
JAR_CREATURE_BLOOD,
ADRENALINE_BOOSTER,
DETONATOR,
REMDETONATOR,
VIDEOTAPE,
DEED,
LETTER,
TERRORIST_INFO,
CHALICE,
BLOODCAT_CLAWS,
BLOODCAT_TEETH,
BLOODCAT_PELT,
SWITCH,
// fake items
ACTION_ITEM,
REGEN_BOOSTER,
SYRINGE_3,
SYRINGE_4,
SYRINGE_5,
JAR_HUMAN_BLOOD,
OWNERSHIP,
// additional items
LASERSCOPE,
REMOTEBOMBTRIGGER,
WIRECUTTERS,
DUCKBILL,
ALCOHOL,
UVGOGGLES,
DISCARDED_LAW,
HEAD_1,
HEAD_2,
HEAD_3,
HEAD_4,
HEAD_5,
HEAD_6,
HEAD_7,
WINE,
BEER,
PORNOS,
VIDEO_CAMERA,
ROBOT_REMOTE_CONTROL,
CREATURE_PART_CLAWS,
CREATURE_PART_FLESH,
CREATURE_PART_ORGAN,
REMOTETRIGGER,
GOLDWATCH,
GOLFCLUBS,
WALKMAN,
PORTABLETV,
MONEY_FOR_PLAYERS_ACCOUNT,
CIGARS,
KEY_1 = FIRST_KEY,
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_6,
KEY_7,
KEY_8,
KEY_9,
KEY_10,
KEY_11,
KEY_12,
KEY_13,
KEY_14,
KEY_15,
KEY_16,
KEY_17,
KEY_18,
KEY_19,
KEY_20,
KEY_21,
KEY_22,
KEY_23,
KEY_24,
KEY_25,
KEY_26,
KEY_27,
KEY_28,
KEY_29,
KEY_30,
KEY_31,
KEY_32,
SILVER_PLATTER,
DUCT_TAPE,
ALUMINUM_ROD,
SPRING,
SPRING_AND_BOLT_UPGRADE,
STEEL_ROD,
QUICK_GLUE,
GUN_BARREL_EXTENDER,
STRING,
TIN_CAN,
STRING_TIED_TO_TIN_CAN,
MARBLES,
LAME_BOY,
COPPER_WIRE,
DISPLAY_UNIT,
FUMBLE_PAK,
XRAY_BULB,
CHEWING_GUM, // 320
FLASH_DEVICE,
BATTERIES,
ELASTIC,
XRAY_DEVICE,
SILVER,
GOLD,
GAS_CAN,
UNUSED_26,
UNUSED_27,
UNUSED_28,
UNUSED_29,
UNUSED_30,
UNUSED_31,
UNUSED_32,
UNUSED_33,
UNUSED_34,
UNUSED_35,
UNUSED_36,
UNUSED_37,
UNUSED_38, // 340
UNUSED_39,
UNUSED_40,
UNUSED_41,
UNUSED_42,
UNUSED_43,
UNUSED_44,
UNUSED_45,
UNUSED_46,
UNUSED_47,
UNUSED_48, // 350
MAXITEMS
} ITEMDEFINE;
[/PHP] Weedit lässt wieder grüßen
@ Items.c
@ line 54 eine wichtige Tabelle die man nach belieben änder kann
@ line 487 sind die Kombinationen
@ Weapon.h stehen blos dinge wie ab 50 Schaden Platz der Kopf oder so
@ weapon.c
@line 120 da ist wieder ne Liste
ok überall einfach die Zeilen so anpassen wie es sein muss oder eine Hinzufügen
@ tactical/Item Types.h
@ line 275
[PHP]#define FIRST_WEAPON 1
#define FIRST_AMMO 71
#define FIRST_EXPLOSIVE 131
#define FIRST_ARMOUR 161
#define FIRST_MISC 201
#define FIRST_KEY 271
[/PHP]
das stellt die Anfangsdaten dar am besten kann man das sich hier wie die Liste bei Weedit vorstellen
@ line 284
[PHP]#define NOTHING NONE
typedef enum
{
NONE
// weapons
GLOCK_17
GLOCK_18,
BERETTA_92F,
BERETTA_93R,
SW38,
BARRACUDA,
DESERTEAGLE,
M1911,
MP5K,
MAC10,
THOMPSON,
COMMANDO,
MP53,
AKSU74,
P90,
TYPE85,
SKS,
DRAGUNOV,
M24,
AUG,
G41,
MINI14,
C7,
FAMAS,
AK74,
AKM,
M14,
FNFAL,
G3A3,
G11,
M870,
SPAS15,
CAWS,
MINIMI,
RPK74,
HK21E,
COMBAT_KNIFE,
THROWING_KNIFE,
ROCK,
GLAUNCHER,
MORTAR,
ROCK2,
CREATURE_YOUNG_MALE_CLAWS,
CREATURE_OLD_MALE_CLAWS,
CREATURE_YOUNG_FEMALE_CLAWS,
CREATURE_OLD_FEMALE_CLAWS,
CREATURE_QUEEN_TENTACLES,
CREATURE_QUEEN_SPIT,
BRASS_KNUCKLES,
UNDER_GLAUNCHER,
ROCKET_LAUNCHER,
BLOODCAT_CLAW_ATTACK,
BLOODCAT_BITE,
MACHETE,
ROCKET_RIFLE,
AUTOMAG_III,
CREATURE_INFANT_SPIT,
CREATURE_YOUNG_MALE_SPIT,
CREATURE_OLD_MALE_SPIT,
TANK_CANNON,
DART_GUN,
BLOODY_THROWING_KNIFE,
FLAMETHROWER,
CROWBAR,
AUTO_ROCKET_RIFLE,
MAX_WEAPONS
CLIP9_15
CLIP9_30,
CLIP9_15_AP,
CLIP9_30_AP,
CLIP9_15_HP,
CLIP9_30_HP,
CLIP38_6,
CLIP38_6_AP,
CLIP38_6_HP,
CLIP45_7,
CLIP45_30,
CLIP45_7_AP,
CLIP45_30_AP,
CLIP45_7_HP,
CLIP45_30_HP,
CLIP357_6,
CLIP357_9,
CLIP357_6_AP,
CLIP357_9_AP,
CLIP357_6_HP,
CLIP357_9_HP,
CLIP545_30_AP,
CLIP545_30_HP,
CLIP556_30_AP,
CLIP556_30_HP,
CLIP762W_10_AP,
CLIP762W_30_AP,
CLIP762W_10_HP,
CLIP762W_30_HP,
CLIP762N_5_AP,
CLIP762N_20_AP,
CLIP762N_5_HP,
CLIP762N_20_HP,
CLIP47_50_SAP,
CLIP57_50_AP,
CLIP57_50_HP,
CLIP12G_7,
CLIP12G_7_BUCKSHOT,
CLIPCAWS_10_SAP,
CLIPCAWS_10_FLECH,
CLIPROCKET_AP,
CLIPROCKET_HE,
CLIPROCKET_HEAT,
CLIPDART_SLEEP,
CLIPFLAME,
// explosives
STUN_GRENADE
TEARGAS_GRENADE,
MUSTARD_GRENADE,
MINI_GRENADE,
HAND_GRENADE,
RDX,
TNT,
HMX,
C1,
MORTAR_SHELL,
MINE,
C4,
TRIP_FLARE,
TRIP_KLAXON,
SHAPED_CHARGE,
BREAK_LIGHT,
GL_HE_GRENADE,
GL_TEARGAS_GRENADE,
GL_STUN_GRENADE,
GL_SMOKE_GRENADE,
SMOKE_GRENADE,
TANK_SHELL,
STRUCTURE_IGNITE,
CREATURE_COCKTAIL,
STRUCTURE_EXPLOSION,
GREAT_BIG_EXPLOSION,
BIG_TEAR_GAS,
SMALL_CREATURE_GAS,
LARGE_CREATURE_GAS,
VERY_SMALL_CREATURE_GAS,
// armor
FLAK_JACKET,
FLAK_JACKET_18,
FLAK_JACKET_Y,
KEVLAR_VEST,
KEVLAR_VEST_18,
KEVLAR_VEST_Y,
SPECTRA_VEST,
SPECTRA_VEST_18,
SPECTRA_VEST_Y,
KEVLAR_LEGGINGS,
KEVLAR_LEGGINGS_18,
KEVLAR_LEGGINGS_Y,
SPECTRA_LEGGINGS,
SPECTRA_LEGGINGS_18,
SPECTRA_LEGGINGS_Y,
STEEL_HELMET,
KEVLAR_HELMET,
KEVLAR_HELMET_18,
KEVLAR_HELMET_Y,
SPECTRA_HELMET,
SPECTRA_HELMET_18,
SPECTRA_HELMET_Y,
CERAMIC_PLATES,
CREATURE_INFANT_HIDE,
CREATURE_YOUNG_MALE_HIDE,
CREATURE_OLD_MALE_HIDE,
CREATURE_QUEEN_HIDE,
LEATHER_JACKET,
LEATHER_JACKET_W_KEVLAR,
LEATHER_JACKET_W_KEVLAR_18,
LEATHER_JACKET_W_KEVLAR_Y,
CREATURE_YOUNG_FEMALE_HIDE,
CREATURE_OLD_FEMALE_HIDE,
TSHIRT,
TSHIRT_DEIDRANNA,
KEVLAR2_VEST,
KEVLAR2_VEST_18,
KEVLAR2_VEST_Y,
// kits
FIRSTAIDKIT
MEDICKIT,
TOOLKIT,
LOCKSMITHKIT,
CAMOUFLAGEKIT,
BOOBYTRAPKIT,
// miscellaneous
SILENCER,
SNIPERSCOPE,
BIPOD,
EXTENDEDEAR,
NIGHTGOGGLES,
SUNGOGGLES,
GASMASK,
CANTEEN,
METALDETECTOR,
COMPOUND18,
JAR_QUEEN_CREATURE_BLOOD,
JAR_ELIXIR,
MONEY,
JAR,
JAR_CREATURE_BLOOD,
ADRENALINE_BOOSTER,
DETONATOR,
REMDETONATOR,
VIDEOTAPE,
DEED,
LETTER,
TERRORIST_INFO,
CHALICE,
BLOODCAT_CLAWS,
BLOODCAT_TEETH,
BLOODCAT_PELT,
SWITCH,
// fake items
ACTION_ITEM,
REGEN_BOOSTER,
SYRINGE_3,
SYRINGE_4,
SYRINGE_5,
JAR_HUMAN_BLOOD,
OWNERSHIP,
// additional items
LASERSCOPE,
REMOTEBOMBTRIGGER,
WIRECUTTERS,
DUCKBILL,
ALCOHOL,
UVGOGGLES,
DISCARDED_LAW,
HEAD_1,
HEAD_2,
HEAD_3,
HEAD_4,
HEAD_5,
HEAD_6,
HEAD_7,
WINE,
BEER,
PORNOS,
VIDEO_CAMERA,
ROBOT_REMOTE_CONTROL,
CREATURE_PART_CLAWS,
CREATURE_PART_FLESH,
CREATURE_PART_ORGAN,
REMOTETRIGGER,
GOLDWATCH,
GOLFCLUBS,
WALKMAN,
PORTABLETV,
MONEY_FOR_PLAYERS_ACCOUNT,
CIGARS,
KEY_1 = FIRST_KEY,
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_6,
KEY_7,
KEY_8,
KEY_9,
KEY_10,
KEY_11,
KEY_12,
KEY_13,
KEY_14,
KEY_15,
KEY_16,
KEY_17,
KEY_18,
KEY_19,
KEY_20,
KEY_21,
KEY_22,
KEY_23,
KEY_24,
KEY_25,
KEY_26,
KEY_27,
KEY_28,
KEY_29,
KEY_30,
KEY_31,
KEY_32,
SILVER_PLATTER,
DUCT_TAPE,
ALUMINUM_ROD,
SPRING,
SPRING_AND_BOLT_UPGRADE,
STEEL_ROD,
QUICK_GLUE,
GUN_BARREL_EXTENDER,
STRING,
TIN_CAN,
STRING_TIED_TO_TIN_CAN,
MARBLES,
LAME_BOY,
COPPER_WIRE,
DISPLAY_UNIT,
FUMBLE_PAK,
XRAY_BULB,
CHEWING_GUM, // 320
FLASH_DEVICE,
BATTERIES,
ELASTIC,
XRAY_DEVICE,
SILVER,
GOLD,
GAS_CAN,
UNUSED_26,
UNUSED_27,
UNUSED_28,
UNUSED_29,
UNUSED_30,
UNUSED_31,
UNUSED_32,
UNUSED_33,
UNUSED_34,
UNUSED_35,
UNUSED_36,
UNUSED_37,
UNUSED_38, // 340
UNUSED_39,
UNUSED_40,
UNUSED_41,
UNUSED_42,
UNUSED_43,
UNUSED_44,
UNUSED_45,
UNUSED_46,
UNUSED_47,
UNUSED_48, // 350
MAXITEMS
} ITEMDEFINE;
[/PHP] Weedit lässt wieder grüßen
@ Items.c
@ line 54 eine wichtige Tabelle die man nach belieben änder kann
@ line 487 sind die Kombinationen
@ Weapon.h stehen blos dinge wie ab 50 Schaden Platz der Kopf oder so
@ weapon.c
@line 120 da ist wieder ne Liste
ok überall einfach die Zeilen so anpassen wie es sein muss oder eine Hinzufügen
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Eigene maps
Kann mir jemand genau erklären wie man wenn man einen oder mehrere sektoren fertig hat die kampagne ans laufen kriegt.
-
- Elite-Söldner
- Beiträge: 4582
- Registriert: 22 Nov 2003, 19:37
man könnte also die wedit tabellen verlängern, indem man diese line 275 ändert und dann die jeweiligen items verschiebt? so define first ammo 100 z.B, dann könnte man bis item 99 waffen einbauen?
leider hab ich so meine probleme, dat mitm source geregelt zu kriegen, naja, vieleicht gibts bald idiotensichere tuts...
@ace24
kampagnen für UB musst du normalerweise in der ub-campaign utility einstellen, die maps sollten sich dann im richtigen ordner befinden (gleicher name wie die kampagne)
den anfangssektor kannst du glaub bei UB ich im normalfall nicht ändern (gibts vieleicht progs oder patches, weiss nicht)
vieleicht liegts ja daran.
in ja2 kopierst du deine karte einfach in den ordner "maps" im data-verzeichnis.
leider hab ich so meine probleme, dat mitm source geregelt zu kriegen, naja, vieleicht gibts bald idiotensichere tuts...
@ace24
kampagnen für UB musst du normalerweise in der ub-campaign utility einstellen, die maps sollten sich dann im richtigen ordner befinden (gleicher name wie die kampagne)
den anfangssektor kannst du glaub bei UB ich im normalfall nicht ändern (gibts vieleicht progs oder patches, weiss nicht)
vieleicht liegts ja daran.
in ja2 kopierst du deine karte einfach in den ordner "maps" im data-verzeichnis.
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
müsste eigendlich gehn wenn weedit mit der deutschen bzw englischen 1.12 gehnOriginal geschrieben von smilingassassin
man könnte also die wedit tabellen verlängern, indem man diese line 275 ändert und dann die jeweiligen items verschiebt? so define first ammo 100 z.B, dann könnte man bis item 99 waffen einbauen?
leider hab ich so meine probleme, dat mitm source geregelt zu kriegen, naja, vieleicht gibts bald idiotensichere tuts...
nachteil ist ich denk das Weedit es anders in ja2 schreiben wird bzw nicht alles
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Also könnte amn rein theoretisch soviele Waffen adden wie man Lust und Laune hat ?
Mitm Source umzugehen ist in bestimmten Bereichen kein Prob für mich ... der is ähnlich aufgebaut wie der von Max Payne 2 .... naja n bisschen ähnlich.
Nur das compilen wird n Akt .... muss gucken wo ich n Prog herbekomm
Mitm Source umzugehen ist in bestimmten Bereichen kein Prob für mich ... der is ähnlich aufgebaut wie der von Max Payne 2 .... naja n bisschen ähnlich.
Nur das compilen wird n Akt .... muss gucken wo ich n Prog herbekomm
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
ok jetzt mal wieder was von mir die anderen sind ja alle Tot
so unter http://mitglied.lycos.de/fallendeath/ sich den Erweiterten Source und die Benötigten Daten ziehn
dann den Source als Debug compilen ( genauers in der Readme)
dann die Utils daten in den ja2ordner extrahieren (ist selbstentpackend also keine weitern Tools nötig)
die ja2.exe dann in editor umbenennen oder die editor.bat nach belieben mit nen Texeditor umändern
dann eigendlich nur noch mit der editor.bat öffnen jetzt kommt der normale betaeditor aber mit 50 Tilesets ;-)
zum hinzufügen bin ich auch in der readme eingegangen ist eigendlich nur ne Zeile im Code
was von nöten ist sind Kenntnisse mit Tilesetedit von der Basis aber dort gabs auch ne Anleitung
der hinzugefügte Ordner muss eigendlich nicht sein bzw mein Inhalt da wenn er leer ist ja2 auf die Generic Tileset zurückgreift
es ist aber zu beachten das man bei ja2 immer dann die Ordner anlegen muss im Tilesetordner
zb 50 ,51 ...............................................
so das wars
so unter http://mitglied.lycos.de/fallendeath/ sich den Erweiterten Source und die Benötigten Daten ziehn
dann den Source als Debug compilen ( genauers in der Readme)
dann die Utils daten in den ja2ordner extrahieren (ist selbstentpackend also keine weitern Tools nötig)
die ja2.exe dann in editor umbenennen oder die editor.bat nach belieben mit nen Texeditor umändern
dann eigendlich nur noch mit der editor.bat öffnen jetzt kommt der normale betaeditor aber mit 50 Tilesets ;-)
zum hinzufügen bin ich auch in der readme eingegangen ist eigendlich nur ne Zeile im Code
was von nöten ist sind Kenntnisse mit Tilesetedit von der Basis aber dort gabs auch ne Anleitung
der hinzugefügte Ordner muss eigendlich nicht sein bzw mein Inhalt da wenn er leer ist ja2 auf die Generic Tileset zurückgreift
es ist aber zu beachten das man bei ja2 immer dann die Ordner anlegen muss im Tilesetordner
zb 50 ,51 ...............................................
so das wars
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
-
- Bravo-Squad
- Beiträge: 575
- Registriert: 14 Mär 2003, 21:32
- Kontaktdaten:
Howdy Rowdies!
Ich muss mal ein bisschen Kritik einbringen. Also, ich glaube nicht, dass jemand mal versucht hat neue Waffen einzufügen, aber so wie es hier beschrieben ist, geht es nicht. Man kann so nur leere Slots überschreiben, was wohl nicht der Sinn eines Tutorials seien sollte, da es - laut Nitrat - schon vorher möglich war.
@smilingassassin,
ich rate dir ab die line 275 in der Item Types.h zu editieren, da du so die ganzen Bilder durcheinander bringst. Ich nehme jetzt einfach mal an Shadow the death(?) hat sein eigenes Tutorial nie angewandt.
Zum Waffentutorial noch was . . . es wird nicht erklärt, wie man eine neue Gegenstandsbeschreibung und neue Sounddateien zuweist. Wenn man ein Tutorial macht, dann doch bitte ganz und anhand von Beispielen/Bildern. Wenn mir mal jemand zeigen würde, wie man einen neuen Gegenstandsslot erfolgreich hinzufügt, wäre ich bereit ein ausführlicheres Tutorial zu schreiben.
Dr.X
Ich muss mal ein bisschen Kritik einbringen. Also, ich glaube nicht, dass jemand mal versucht hat neue Waffen einzufügen, aber so wie es hier beschrieben ist, geht es nicht. Man kann so nur leere Slots überschreiben, was wohl nicht der Sinn eines Tutorials seien sollte, da es - laut Nitrat - schon vorher möglich war.
@smilingassassin,
ich rate dir ab die line 275 in der Item Types.h zu editieren, da du so die ganzen Bilder durcheinander bringst. Ich nehme jetzt einfach mal an Shadow the death(?) hat sein eigenes Tutorial nie angewandt.
Zum Waffentutorial noch was . . . es wird nicht erklärt, wie man eine neue Gegenstandsbeschreibung und neue Sounddateien zuweist. Wenn man ein Tutorial macht, dann doch bitte ganz und anhand von Beispielen/Bildern. Wenn mir mal jemand zeigen würde, wie man einen neuen Gegenstandsslot erfolgreich hinzufügt, wäre ich bereit ein ausführlicheres Tutorial zu schreiben.
Dr.X
"I believe in the golden rule. The man with the gold . . . rules!" - Mr.T
[Tutorial zum Waffenbilder und -werte ändern]
[Tutorial zum Waffenbilder und -werte ändern]
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
Original geschrieben von Mysterious Dr.X
Howdy Rowdies!
Ich muss mal ein bisschen Kritik einbringen. Also, ich glaube nicht, dass jemand mal versucht hat neue Waffen einzufügen, aber so wie es hier beschrieben ist, geht es nicht. Man kann so nur leere Slots überschreiben, was wohl nicht der Sinn eines Tutorials seien sollte, da es - laut Nitrat - schon vorher möglich war.
@smilingassassin,
ich rate dir ab die line 275 in der Item Types.h zu editieren, da du so die ganzen Bilder durcheinander bringst. Ich nehme jetzt einfach mal an Shadow the death(?) hat sein eigenes Tutorial nie angewandt.
Zum Waffentutorial noch was . . . es wird nicht erklärt, wie man eine neue Gegenstandsbeschreibung und neue Sounddateien zuweist. Wenn man ein Tutorial macht, dann doch bitte ganz und anhand von Beispielen/Bildern. Wenn mir mal jemand zeigen würde, wie man einen neuen Gegenstandsslot erfolgreich hinzufügt, wäre ich bereit ein ausführlicheres Tutorial zu schreiben.
Dr.X
sorry ich hab wirklich einiges Vegessen das lag aber am Zeitdruck
ich habs angewannt aber zu spät mitgekriegt um es zu ändern ich werd mich für euch wieder hinsetzen um es zu überarbeiten dauert aber erstmal da ich auch andere Projekte hab
dafür hab ich aber wenigsten das Tilesettut getestet
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Mysterious Dr.X....is dir schonmal aufgefallen, dass es hier im forum andere tuts gibt, die genau dass beschreiben was bei shadows tut fehlt?
Man muss nich alles reinschreiben, wenn das was fehlt leicht woanders hergenommen werden kann.
aber zum tut selbst....es geht nich...wie myst es schon gesagt hat....hoffe das wird geedited ^^
ansonsten good job würd ich sagen. mach weiter so
Man muss nich alles reinschreiben, wenn das was fehlt leicht woanders hergenommen werden kann.
aber zum tut selbst....es geht nich...wie myst es schon gesagt hat....hoffe das wird geedited ^^
ansonsten good job würd ich sagen. mach weiter so
Ich hab mich am 11.02.2002 um 11:28 hier im Forum angemeldet und habe am 17.10.2002 um 20:22 meinen 1000.Post geschrieben!!!
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
am besten ist ja das du noch lebst hast ja lange nichts von dir und dein Projekten was hören lassen
und das Thema mit den Tut hat sich schon lange erledigt hab blos vergessen noch was Dr.x zu schicken
wollte es eigendlich schon Anfang der Ferien machen
ok jetzt mal was einfaches
in der builddefines.h muss das
[PHP]#ifndef _BUILDDEFINES_H
#define _BUILDDEFINES_H
#include "Language Defines.h"
// Beta version
// #define JA2BETAVERSION
// Normal test version
// #define JA2TESTVERSION
// If we want to include the editor
//#define JA2EDITOR
#ifdef _DEBUG
#define JA2BETAVERSION
#define JA2EDITOR
#endif
// Do combinations
#ifdef JA2TESTVERSION
#define JA2BETAVERSION
#define JA2EDITOR
#endif
#ifdef JA2BETAVERSION
#define SGP_DEBUG
#define FORCE_ASSERTS_ON
#define SGP_VIDEO_DEBUGGING
#endif
//#define CRIPPLED_VERSION
// Huge speed and memory hog, but thorough -- will work with release builds.
// #define EXTREME_MEMORY_DEBUGGING
#endif[/PHP] stehn dann hab ihr wenn ihr im Debugmodus compieled dei Beta mit Debug und den Editor ps. ihr müsst ihn mit den Parameter -EDITORAUTO ändern
und extrem wichtig ihr braucht den CVS Source sonst gehts nicht da eine .lib fehlt die da nicht benötig wird
@ all die sich an den XML stören werde ich bald eine XML freie on stellen
und das Thema mit den Tut hat sich schon lange erledigt hab blos vergessen noch was Dr.x zu schicken
wollte es eigendlich schon Anfang der Ferien machen
ok jetzt mal was einfaches
in der builddefines.h muss das
[PHP]#ifndef _BUILDDEFINES_H
#define _BUILDDEFINES_H
#include "Language Defines.h"
// Beta version
// #define JA2BETAVERSION
// Normal test version
// #define JA2TESTVERSION
// If we want to include the editor
//#define JA2EDITOR
#ifdef _DEBUG
#define JA2BETAVERSION
#define JA2EDITOR
#endif
// Do combinations
#ifdef JA2TESTVERSION
#define JA2BETAVERSION
#define JA2EDITOR
#endif
#ifdef JA2BETAVERSION
#define SGP_DEBUG
#define FORCE_ASSERTS_ON
#define SGP_VIDEO_DEBUGGING
#endif
//#define CRIPPLED_VERSION
// Huge speed and memory hog, but thorough -- will work with release builds.
// #define EXTREME_MEMORY_DEBUGGING
#endif[/PHP] stehn dann hab ihr wenn ihr im Debugmodus compieled dei Beta mit Debug und den Editor ps. ihr müsst ihn mit den Parameter -EDITORAUTO ändern
und extrem wichtig ihr braucht den CVS Source sonst gehts nicht da eine .lib fehlt die da nicht benötig wird
@ all die sich an den XML stören werde ich bald eine XML freie on stellen
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
-
- Alpha-Squad
- Beiträge: 1593
- Registriert: 01 Feb 2002, 19:22
- Kontaktdaten:
ok 2 neue Sachen
1. den Editor bei den normalen Source
man muss Strategic/Auto Resolve.c
in Zeile 57
[PHP]#include "vtuneapi.h"[/PHP]
in
[PHP]//#include "vtuneapi.h"[/PHP]
somit ist das dann deaktiviert
2. erstellen einer Deutschen Exe
die Language Defines.h muss so aussehn
[PHP]#ifndef __LANGUAGE_DEFINES_H
#define __LANGUAGE_DEFINES_H
//ONLY ONE OF THESE CAN BE DEFINED AT A TIME!
//#define ENGLISH
#define GERMAN
//#define RUSSIAN
//#define DUTCH
//#define POLISH
#define BLOOD_N_GORE_ENABLED
//if the language represents words as single chars
#ifdef TAIWAN
#define SINGLE_CHAR_WORDS
#endif
#endif[/PHP]
Erklärung Sachen die hinter // werden als Kommentare angesehn und nicht compielt
man könnte auch /**/ machen das hätte den Selben efekt
1. den Editor bei den normalen Source
man muss Strategic/Auto Resolve.c
in Zeile 57
[PHP]#include "vtuneapi.h"[/PHP]
in
[PHP]//#include "vtuneapi.h"[/PHP]
somit ist das dann deaktiviert
2. erstellen einer Deutschen Exe
die Language Defines.h muss so aussehn
[PHP]#ifndef __LANGUAGE_DEFINES_H
#define __LANGUAGE_DEFINES_H
//ONLY ONE OF THESE CAN BE DEFINED AT A TIME!
//#define ENGLISH
#define GERMAN
//#define RUSSIAN
//#define DUTCH
//#define POLISH
#define BLOOD_N_GORE_ENABLED
//if the language represents words as single chars
#ifdef TAIWAN
#define SINGLE_CHAR_WORDS
#endif
#endif[/PHP]
Erklärung Sachen die hinter // werden als Kommentare angesehn und nicht compielt
man könnte auch /**/ machen das hätte den Selben efekt
Führer der SoS (soldiers of shadow)
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror
Enominis Satanis
Die Your God is Dead
Behold Satans Rise
(Action)Gamer für Gewalt und Terror