64 bit compiling

Discussion in 'Fallout General Modding' started by Josan12, Oct 27, 2015.

  1. Josan12

    Josan12 Vault Senior Citizen

    Oct 15, 2007
    I'm unable to compile scripts (through FSE) because i recently upgraded to a 64 OS (Win 7). Is there a 64 bit version of DOS4GW? Or some other solution?

    Thanks guys.
     
  2. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    • [Like] [Like] x 1
  3. Josan12

    Josan12 Vault Senior Citizen

    Oct 15, 2007
    Ah yes, i'd forgotten about that. I'll give it a try.
     
  4. Magnus

    Magnus Water Chip? Been There, Done That
    Modder

    953
    Dec 6, 2007
    Josan, you're still alive! High five!
     
  5. Josan12

    Josan12 Vault Senior Citizen

    Oct 15, 2007
    Ok, hopefully anyone who's not busy playing FO4 can help me with this:



    As you can probably see i'm trying to compile Suliks script using sfall's compiler. It's giving me an error in the condition.h header file. I have no idea how to solve this - can anyone help me? It's probably a basic mistake/omission on my part as i'm back to (vault) 101 scripting.

    Thanks.

    EDIT: i should probably also mention i'm editing killaps RP 2.3 source .ssl's as that probably has something to do with it.
     
    Last edited: Nov 16, 2015
  6. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    Try removing any trailing spaces in the header. If you're using stock source code files from killap, in line 98 there should be a trailing space.
     
    • [Like] [Like] x 1
  7. Magnus

    Magnus Water Chip? Been There, Done That
    Modder

    953
    Dec 6, 2007
    Was just about to tell you exactly this. NovaRain is correct.
     
  8. Josan12

    Josan12 Vault Senior Citizen

    Oct 15, 2007
    Nailed it. Why on earth does one BLANK space at the end of one line stop an entire script compiling?!?! :confused:
     
  9. Josan12

    Josan12 Vault Senior Citizen

    Oct 15, 2007
    Ok who can tell me what elementary mistake i'm making here. As you can probably guess i'm trying to make Sulik use a different TH when wearing different armor:

    Code:
    else if ((Sulik_In_Party) or (party_is_waiting)) then begin
       if ((obj_pid(critter_inven_obj(self_obj,0))== 232) or (obj_pid(critter_inven_obj(self_obj,0))== 3 )) then begin
             start_gdialog(NAME,self_obj,4,HEAD_SULIK,PartyMemberBackground);
             gSay_Start;
             call Node1000;
             //call Node065;
             gSay_End;
             end_dialogue;
             end
             
             else
             if (obj_pid(critter_inven_obj(self_obj,0))== 0) then begin
             start_gdialog(NAME,self_obj,4,HEAD_SULIK,PartyMemberBackground);
             gSay_Start;
             call Node1000;
             //call Node065;
             gSay_End;
             end_dialogue;
             end
      end
    It works fine when he is wearing PA (232, 3) but when i have him take it off and go to no armor (0) I can't talk to him at all.

    Thanks guys.
     
  10. Magnus

    Magnus Water Chip? Been There, Done That
    Modder

    953
    Dec 6, 2007
    It looks like you are trying to call obj_pid on a null pointer, which I suspect is crashing the script.

    Critter_inven_obj returns 0 if it cannot find an object (he is not wearing an armor). Then you are trying to get the obj_pid of an object stored at memory address 0, and of course this is an illegal operation. The script doesn't know what to do in this case, so it shuts down and Sulik stops working.

    Remove the obj_pid call in the second branch and just check if critter_inv_obj returns 0 (actually, check if it returns <= 0, because I'm not sure if it returns 0 or -1).

    Additionally, put the second branch first so that you determine if there actually is an armor before you try to get its ID. Otherwise it will still fail.
     
    Last edited: Nov 18, 2015