Jump to content

rilke1987

Premium Member
  • Posts

    13
  • Joined

  • Last visited

Everything posted by rilke1987

  1. Yes, and I've checked the XGStrategyAI.Determine<type>Squad functions and you're right. To be honest the first idea I increased the number of aliens is just to make the game more suitable for players like me who modified the DGC.INI...And untill a week ago I knew nothing about hex code edit of the game... It's this article which provided me a good sample for learning and now I think I could try something more complicated. Thanks guys and again I'm a newbie who might raise some silly question...
  2. Ehhh....Now I'm not sure if I've a clear enough expression since truly rarely I post something in a English forum and most of my English is coming from games, moives and TV Shows.... I just checked some other functions and found a temp variable "I" has been often used to acheive some purposes like up limit or count of a foreach etc. So I thought why couldn't I just use the same temp variable since it would be never called by other funtion otherwhere for that they're temp.... Then I check the function GetPodByName by UE and found the index of local variable I is 17021(in hex 7D 42) and so be it. So....sorry...I guess it's now a "new" variable but I think sucn a way is better than to use a widely called variable or constant... I
  3. According to the code above, I guess it's easy to control the number of aliens by change the value of "I" around J0X82 and J0XFB, for example, if you want each pod of 6 enemies, then "I" should be 1 in both sections. And still there's some spare code which in hex is "0B", so I think it's possible to make more change but such as a random number but I=rand(3) for example.
  4. And this is the scrip to the hex code above,where variable "I" has been used to control the number of alien support 1 and 2. simulated function array<XGGameData.ECharacter> GetPodCharArray(out TAlienPod kPod, out array<XGGameData.EItemType> arrAltWeapon) { local array<XGGameData.ECharacter> arrEnemies; // End:0x50 if(kPod.eMain > 0) { arrEnemies.AddItem(kPod.eMain); } // End:0xC9 if(kPod.eSupport1 > 0) { I = 1; J0x82: // End:0xC9 [Loop If] if(I <= 3) { arrEnemies.AddItem(kPod.eSupport1); ++ I; // [Loop Continue] goto J0x82; } } // End:0x153 if(kPod.eSupport2 > 0) { I = 1; J0xFB: // End:0x153 [Loop If] if(I <= 2) { arrEnemies.AddItem(kPod.eSupport2); ++ I; // [Loop Continue] goto J0xFB; } } return arrEnemies; return ReturnValue; }
  5. Let me see... 0F 00 7D 42 00 00 26 The hex code above is "I=1", and following is my whole hex code of function GetPodCharArray, Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000000 17 43 00 00 76 5F 00 00 00 00 00 00 04 43 00 00 . C . . v _ . . . . . . . C . .00000010 00 00 00 00 00 00 00 00 0B 43 00 00 00 00 00 00 . . . . . . . . . C . . . . . .00000020 9F 03 00 00 58 7F 00 00 67 01 00 00 F4 00 00 00 . . . . X . . . g . . . . . . .00000030 07 50 00 97 38 3A 35 3D 00 00 00 3F 00 00 00 00 . P . . 8 : 5 = . . . ? . . . .00000040 00 48 0B 43 00 00 38 3A 24 00 16 55 00 08 43 00 . H . C . . 8 : $ . . U . . C .00000050 00 1D 00 35 3D 00 00 00 3F 00 00 00 00 00 48 0B . . . 5 = . . . ? . . . . . H .00000060 43 00 00 16 07 C9 00 97 38 3A 35 3C 00 00 00 3F C . . . . . . . 8 : 5 < . . . ?00000070 00 00 00 00 00 48 0B 43 00 00 38 3A 24 00 16 0F . . . . . H . C . . 8 : $ . . .00000080 00 7D 42 00 00 26 07 C9 00 98 00 7D 42 00 00 2C . } B . . & . . . . . } B . . ,00000090 03 16 55 00 08 43 00 00 AD 00 35 3C 00 00 00 3F . . U . . C . . . . 5 < . . . ?000000A0 00 00 00 00 00 48 0B 43 00 00 16 A3 00 7D 42 00 . . . . . H . C . . . . . } B .000000B0 00 16 06 82 00 07 53 01 97 38 3A 35 3B 00 00 00 . . . . . . S . . 8 : 5 ; . . .000000C0 3F 00 00 00 00 00 48 0B 43 00 00 38 3A 24 00 16 ? . . . . . H . C . . 8 : $ . .000000D0 0F 00 7D 42 00 00 26 07 53 01 98 00 7D 42 00 00 . . } B . . & . S . . . } B . .000000E0 2C 02 16 55 00 08 43 00 00 1D 00 35 3B 00 00 00 , . . U . . C . . . . 5 ; . . .000000F0 3F 00 00 00 00 00 48 0B 43 00 00 16 A3 00 7D 42 ? . . . . . H . C . . . . . } B00000100 00 00 16 06 FB 00 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B . . . . . . . . . . . . . . . .00000110 0B 0B 0B 0B 0B 0B 0B 04 00 08 43 00 00 04 3A 09 . . . . . . . . . . C . . . : .00000120 43 00 00 53 00 00 00 02 01 42 00 70 3A 00 00 00 C . . S . . . . . B . p : . . .00000130 00 00 00 . . . Sorry for urgly pasting since I'm not so familiar with the forum system since I'm a Chinese.
  6. I have done this as well. I modified it to 57 and it still didn't work. Pls check if the change of DGC.INI is correct the easiest way is to change the rookie's ability range or change the continent bonus of Africa from 30 to 50.
  7. Originally I had the pod size limited to 6, but those six were individually defined, in theory allowing six distinct aliens as part of a pod. This wasn't terribly useful so I altered the mod so that there are 3 categories of aliens in a pod. All aliens within a category are of the same type, but each category can be of a distinct type. So only 3 types of aliens in one pod, max. Category 1 is the pod leader, of which there is only ever 1 unit. I added code which allowed defining a leader level and upgrading of this unit with perks and higher stats. The other 2 categories are "Support". Technically up to 255 of each support categories could be added, so the format allows up to 1 + 255 + 255 = 511 aliens to be defined in a pod. However a squad (all aliens or all players) has a hard-coded limit of 128 units. But yes, it would totally be possible to create pods of Sectoids+Seekers or Drones+Seekers. With buffed up cyberdiscs and sectopods it might make more sense to mix Sectopod + Drones + Seekers. Unfortunately the seeker AI is programmed to never strangle units that are immune to the damage. I think I'd like to change that so that they can still immobilize those units even though no damage is dealt, making late-game seekers more about "crowd control" than killing units. Hey Amineri, this is truly wonderful article which directed me to increase alien number in EW successfully. But I still have a question. Why in your modification of function, you are using the altweapon thing as up limit. Because I just defined a variable to do it and it seems to be easier to adjust. And why changing the initloadout thing then? Thanks very much if you could give a newbie like me some hints. Nice work again.
  8. I'm not using Modhelper but my best guess is that the right path of exe hasn't been appointed when you were using the modhelper. Further more, if you just need the game to read DGC.INI. I suggest a manual modification of exe file by hex code which could be easily learned from wiki (down currently).
  9. I've succeed increase the alien's number after I've read the "Increase Pod Size" article(http://forums.nexusmods.com/index.php?/topic/992479-increased-pod-size/) here. The way Amineri used still works except the hex code of those two involved functions is different now since the EW addon thing. But I'm not using the .altweapon as a ubound of alien number. I just simply defined a variable "I" and give it a certain number. And further more I didn't change anything in the initloadout function and saw no affect till now. So if you know anything about the reason why the initloadout be modified, please kindly give me some hints.
  10. I've tried and....Yes, the spawn points limitation is the rock blocking. And I've checked more into the Function ProcessPodTypes. I think it is to ensure the number of pods is from the Aliensnum/3 to Aliensnum/2 which means 3 Alien per pod max and 2 Alien per pod min. I can see how it will change the iNumAliens since it only works when the iNumaliens is more then 3*Arrtypes.Length ( Which I think is the podnum itself) and pulls the iNumaliens back to 3*Arrytype.Length
  11. The tool bokauk mentioned would be this one: http://hem.bredband.net/bertrich/XCOM/JumpRepairTool.htm It will verify and repair virtual memory size in the function header in addition to repairing jump offsets. Edit: Just ignore the red boxes and moronic warning that bytes doesn't match tokens in case you have 0B tokens in the function. Thanks indeed and it's truly the virtual size thing problem and I've manged to fix it by all the help from you guys.
  12. Thanks very much and I completely forget the virtual size thing. I'll check the Wiki when it's back online and make further change on my code; The code I change is about to add more alien(while still 3 per pod) into game by change the "determine*" function in the UPK, my idea is to cutoff some code which change the number with difficulty and make them the code to add more pod (by arrTypes.AddItem)
  13. Hey guys, nice to meet you here. I'm actually a newbie for modding XCOM. For now I could hex edit some functions' varaibles or constant. Thanks for the info provided by all of you. But recently when I try to modify some function in the Xcomstrategygame.UPK which means to add something and delete something, the game crashed. Before I started the game, I checked with UE and found nothing wrong: the function's complete and makes sense. Then I check the log file and found this: 0005.37] DevSHA: FSHA1::StoreFileSHAHash - FullFileSHAHashMap: onlinesubsystemsteamworks.upk Hash(B4224F7E713EE1C8ADA83DAD688747610B5BE7ED) VerifyHash(18011317310411) PackageHashString(18011317310411#) [0005.37] DevSHA: FSHA1::StoreFileSHAHash - FullFileSHAHashMap: xcomgame.upk Hash(CBA7A3FECC4D76D95E1D234F7CBB64D9899C7B5E) VerifyHash(20320494124137) PackageHashString(20320494124137#) [0005.37] Critical: appError called: Bad export index 774265191/22444 The last line occurs excatly when the Xcomstrategygame.UPK being checked. According to the wiki and forum talk, it's no hash check for EW anymore, then what's this and how to make it work. BTW, My game verstion is latest steam one.
×
×
  • Create New...