Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Donate
Collapse

Plutonium

  1. Home
  2. WAW Modding Support & Discussion
  3. Decompiler for custom zombie map .ff file?

Decompiler for custom zombie map .ff file?

Scheduled Pinned Locked Moved WAW Modding Support & Discussion
10 Posts 4 Posters 160 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F0nziesundefined Offline
    F0nziesundefined Offline
    F0nzies
    wrote last edited by
    #1

    Hello everyone,

    I'm looking for a working .ff decompiler for a Call of Duty World at War custom zombie map.

    The issue I'm having is that whenever I try to use "noclip" or any other developer commands, the game immediately crashes. I suspect this might be due to some code restrictions implemented in the map.

    Could anyone confirm if this type of crash is typically caused by custom code limitations? And if so, could you please share a reliable .ff decompiler that actually works?

    The tool I currently have ("Fast File Tool") only creates corrupted/unreadable output files.

    Thanks in advance for any help!

    1 Reply Last reply
    0
    • JezuzLizardundefined Offline
      JezuzLizardundefined Offline
      JezuzLizard
      Plutonium Staff
      wrote last edited by
      #2

      Use the "dump_assets" dvar to dump the scripts and investigate the scripts that check for the noclip "dvar".

      1 Reply Last reply
      0
      • F0nziesundefined Offline
        F0nziesundefined Offline
        F0nzies
        wrote last edited by
        #3

        Thanks for the solution. However, this way I can only read the code, not modify it, so the game will still crash. The only real solution would be to decompile the file, correct the code, and recompile it, but I need an external program for that. I already tried the 'Fast File tool' for CoD 5, but it only generates a .dump file that I can't open properly. Any advice? Thanks.

        1 Reply Last reply
        0
        • JezuzLizardundefined Offline
          JezuzLizardundefined Offline
          JezuzLizard
          Plutonium Staff
          wrote last edited by
          #4

          You can load scripts from raw and use the replacefunc builtin to modify existing code.
          You can look at the spawn_fix.gsc in the scripts folder in storage.

          1 Reply Last reply
          0
          • F0nziesundefined Offline
            F0nziesundefined Offline
            F0nzies
            wrote last edited by F0nzies
            #5

            Thanks for your time. I tried the dump_assets command and it works in the sense that it creates a folder with files, but unfortunately it's incomplete and only extracts interface files (or other specific basic files, not the actual map scripts). So perhaps the creator added additional protection against dumping.

            I've run out of ideas, but maybe you have some. I'll leave you the map name in case you want to take a look - if you have any suggestions I'd be really grateful.

            Map: Halloween Town (CoD WaW Zombie)

            Thanks and hope to hear from you.

            1 Reply Last reply
            0
            • F0nziesundefined Offline
              F0nziesundefined Offline
              F0nzies
              wrote last edited by F0nzies
              #6

              Thank you so much! I finally managed to extract all the files (it took quite a while, I must say), but I couldn't find any references to dvar, noclip, ufo, cheats, or any related key commands in any of the files. I used the search function to look through everything, so I don't think I missed anything manually.

              It's possible I might have overlooked something among all these folders and files. If you happen to know where else I should check or how to approach this, and if you have some time, could you please take a look? I would be really grateful if you could help out.

              Thanks a lot and sorry for the trouble!

              Xerxesundefined 1 Reply Last reply
              0
              • F0nziesundefined F0nzies

                Thank you so much! I finally managed to extract all the files (it took quite a while, I must say), but I couldn't find any references to dvar, noclip, ufo, cheats, or any related key commands in any of the files. I used the search function to look through everything, so I don't think I missed anything manually.

                It's possible I might have overlooked something among all these folders and files. If you happen to know where else I should check or how to approach this, and if you have some time, could you please take a look? I would be really grateful if you could help out.

                Thanks a lot and sorry for the trouble!

                Xerxesundefined Offline
                Xerxesundefined Offline
                Xerxes
                Plutonium Staff
                wrote last edited by
                #7

                F0nzies said in Decompiler for custom zombie map .ff file?:

                I used the search function to look through everything, so I don't think I missed anything manually.

                It's better to manually look through the gsc files getdvar( "n" + "o" + "c" + "l" + "i" + "p") for example is a very easy way prevent someone from searching noclip to find your code checking the dvar.

                1 Reply Last reply
                0
                • F0nziesundefined Offline
                  F0nziesundefined Offline
                  F0nzies
                  wrote last edited by F0nzies
                  #8

                  Hey, sorry for the long message but I wanted to provide all the details.

                  I found the anti-cheat issue in my nazi_zombie_halloween map. The problematic code is in _zombiemode_blockers_new.gsc:
                  "
                  pie_anti_cheat()
                  {
                  flag_wait("all_players_connected");
                  players = get_players();
                  players[0] SetClientDvar("sv_cheats", 0);
                  wait(2);
                  for(i = 0; i < players.size; i++)
                  {
                  if(players[i] usebuttonpressed() && players[i].playername == "AwesomePie")
                  {
                  players[i] SetClientDvar("sv_cheats", 1);
                  iprintlnbold("^3 CHEATS NOW ENABLED");
                  return;
                  }
                  }

                  crashGame = undefined;
                  while(1)
                  {
                  	crashGame = check_if_cheats_activated();
                  	if(crashGame && isdefined(crashGame))
                  	{
                  		ExitLevel(false);
                  	}
                  	wait(.05);
                  }
                  

                  }

                  check_if_cheats_activated()
                  {
                  cheats = false;
                  if(getDvar("sv_cheats") != "0") cheats = true;
                  if(getDvar("sf_use_ignoreammo") != "0") cheats = true;
                  if(getDvar("player_sustainammo") != "0") cheats = true;
                  if(getDvar("developer") != "0") cheats = true;
                  if(getDvar("timescale") != "1") cheats = true;
                  return cheats;
                  }
                  "
                  Original file location:
                  dump/scripts/mods/nazi_zombie_halloween - Copia/nazi_zombie_halloween/maps/_zombiemode_blockers_new.gsc

                  I created a replacement file with this code:
                  "
                  #include maps_utility;
                  #include common_scripts\utility;

                  main()
                  {
                  pie_func = getFunction("maps/_zombiemode_blockers_new", "pie_anti_cheat");
                  if(isDefined(pie_func))
                  replaceFunc(pie_func, ::empty_function, -1);

                  cheat_func = getFunction("maps/_zombiemode_blockers_new", "check_if_cheats_activated");
                  if(isDefined(cheat_func))
                      replaceFunc(cheat_func, ::always_false, -1);
                  

                  }

                  empty_function()
                  {
                  iprintlnbold("^1ANTI-CHEAT DISABILITATO!");
                  while(true) wait(999999);
                  }

                  always_false()
                  {
                  return false;
                  }
                  "
                  "Just to note - I noticed the original code uses replaceFunc with capital F, and I'm using the same in my replacement file."

                  My replacement file location:
                  raw/scripts/mods/nazi_zombie_halloween - Copia/nazi_zombie_halloween/maps/_zombiemode_blockers_new.gsc

                  The issue is that the replacement file doesn't seem to load at all - even a simple screen message doesn't appear. Could you check if I have the correct file paths/folders or if there's something wrong with my code structure?

                  I know this is a lot to ask and I really appreciate you taking the time to look into this. I've been trying to solve this for a while and your guidance would be incredibly helpful.

                  Thanks so much for your patience and help!

                  1 Reply Last reply
                  0
                  • AlexInVrundefined Offline
                    AlexInVrundefined Offline
                    AlexInVr
                    wrote last edited by
                    #9

                    Try tom's ff extractor

                    1 Reply Last reply
                    0
                    • F0nziesundefined Offline
                      F0nziesundefined Offline
                      F0nzies
                      wrote last edited by
                      #10

                      Thanks for the program, this one actually works unlike all the others I tried.

                      The only problem is that now I need the compiler (yours only decompiles).
                      I've been searching everywhere online but the only ones I found are either for console or are incompatible versions. Do you have any solution for the compiler program?

                      Thanks.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Donate