Jump to content
Sign in to follow this  
PurpleGaga27

C&C3 Mod SDK and WB FAQ (updated 9/23/2021)

Recommended Posts

63. Which sample unit, structure or other object source codes are available to download?

C&C4 Neutral Structures: http://www.gamefront...Neutral Str.rar

C&C4 Art Pack: http://www.gamefront...C4 Art Pack.rar

KW Art Pack: http://www.gamefront...KW Art Pack.rar

KW Sound Pack: http://www.gamefront..._Sound_Pack_rar

Links for these are broken.

 

C&C4 Neutral Structures: needs source link, unreachable atm

C&C4 Art Pack: http://www.gamefront.com/files/20854415/CNC4+Art+Pack.rar

KW Art Pack: http://www.gamefront.com/files/20837678/KW+Art+Pack.rar

KW Sound Pack: http://www.gamefront.com/files/20034929/KW_Sound_Pack_rar

Share this post


Link to post

Edited the C&C4 art pack and KW art/sound pack links. All the unit source codes from me need new links. The C&C4 Neutral Structure pack also needs a new link.

 

Some other links may have to be updated as well.

Share this post


Link to post

I updated/modified some questions/answers, updated some links and added a couple of new questions to the FAQ.

Share this post


Link to post

Once again, I updated the first post. However, there is an error editing that post, thinking after editing it still wants me to enter a post.

Share this post


Link to post

Updated the page for broken/simplified links and some simplified questions. Some questions have been eliminated from this FAQ.

Share this post


Link to post

BTW can't you extract stuff like the Titan and the Kidak again from your mod or Stygs mod and re-add them? they were available before so it not like you stealing them......

Edited by Egozi44

Share this post


Link to post

I have those files from my KW Reloaded mod, but the source codes are not mine to give away. Also I seemed to have lost some of the recent C&C3 source code files from other users during the time I was installing a new OS in my spare hard drive. If Stygs and Golan accept the new permissions, I will reupload the Titan, Kodiak and Salamander source codes.

Share this post


Link to post

Need to renew our license aren't we? xD

 

Well try ask them away (golden is not available though)

 

Theses stuff were in the net before for some years under their permission, so I assume they will agree

 

Ask them away just to be sure though

 

 

P.s Rebelmoon don't mind if we share his orca with MG, mammoth without missile pod, bulldog with beta skins (drivers look different), and most of his work if we credit him

 

 

Issue is they only in max files, I imported them to w3x but materials are missing, I assume they just the textures of NM, and SPM map though and can be added manually

 

 

Oh and if you haven't already, add Stygs predator missile model and these shaders to the list

 

http://www.moddb.com/members/egozi44/addons/cc3-shader-pack

Edited by Egozi44

Share this post


Link to post

What operating systems is WrathEd known to work on?

 

I'm on windows 10, and I have got WrathEd versions 1.05, 1.07, and 2.0, I've just been trying to get the SampleMod to compile with little success.

 

in v1.05 i can run the BuildMod.bat and it opens the cool KW-style gui showing the progress bar and I can see the the art assets for the Mirage Tank being processed however when I open the final .big file for the compiled mod, it only contains the mod.str string file, the video.ini, and the shader file, no .manifest or .bin and no XML assets seemed to have made it into the .big.

 

in v1.07 the buildmod.bat file still runs but the KW gui does not open, also I cant get the big viewer to open either (I am using WrathEd.exe in the tools folder as a big viewer). I just double click and nothing happens.

 

in v2.0 there is no buildmod.bat and the WrathEd.exe file wont open either, the same way it wont in v1.07 I have tried some windows compatibility settings and running as admin, but nothing is working.

 

oh I should add that the regular cnc3 SDK can compile mods just fine once you enable .Net 3.5.. well the XML assets at least.

Edited by GodofDeath

Share this post


Link to post

There is no public version of 2.0

Share this post


Link to post

There is no public version of 2.0

What's this?

 

http://www.ppmsite.com/?go=download&file=cnc3kw_wrathed2Beta_Jun2014.7z&classic=true

I cant find any version information in the files so this may not be genuine.

 

I figured out why WrathEd was crashing, but I still cant get anything to compile properly, looks like its not an OS issue though.

Edited by GodofDeath

Share this post


Link to post

It's 1.7, the one who placed it in their download section is just an ... and even after being told it's not 2.0 he seems to have refused to change it.

Which is why for any new version I will release I will change the versioning, so WrathEd 2 (which has no public release nor public source code) will be called WrathEd 2016.

 

You can also see the version in Help->About

Edited by Lauren

Share this post


Link to post

I've finally fixed the formatting on the guide, which you broke with two [ /ulr] (instead of [ /url]) tags in question 12, which led to everything beyond that be the link to one and the same thread on Revora. You'll have to find those links for question 12 on your own, though. And do use something more useful than bit.ly.

Share this post


Link to post

Well, Plokite. Ever since Zee Hypnotist took over operations and changed the forums, the formatting got all messed up, especially on what you mentioned. I'll fix them later though (including RA3 Mod SDK FAQs), including updating outdated links.

But what's better than bit.ly? The shorter the links, the less text and size used in one post.

Edited by PurpleGaga27

Share this post


Link to post
9 minutes ago, PurpleGaga27 said:

Ever since Zee Hypnotist took over operations and changed the forums, the formatting got all messed up

It was the upgrade to IPS4 that messed stuff up, Zee took over two months later.

Share this post


Link to post
58 minutes ago, PurpleGaga27 said:

the formatting got all messed up,

That's on you, because of the mentioned misused tags. That sort of thing can happen to anyone, though.

58 minutes ago, PurpleGaga27 said:

But what's better than bit.ly?

Using full links. You can attach links to custom text, you know.

Share this post


Link to post

Seven years since I first posted this FAQ, I finally re-edited the first post and fixed back the formatting and updated links. Now with 83 questions for the C&C3 Mod SDK and 8 for the Worldbuilder, that is huge.

Share this post


Link to post

I don't know if this question counts as frequently asked but it's mentioned in this very thread, also here and I ran into the same issue. That's at least three times, so I would like to contribute it, with some additional detail.

 

I have WrathEd but it won't work!

Make sure that you're using the newest version of WrathEd, which you can get here: https://forums.cncnz.com/topic/19116-unofficial-wrathed-108-gamma-released/ The version that is on ModDB is very old, but it's unfortunately the easiest one to find on Google.

If you were using an old version of WrathEd, clean out any old stuff that might be left behind. Make sure to delete the WrathEd folder out of your Documents.

You should also try running the .bat files in a cmd window rather than just double clicking them so you can read any error messages that might otherwise pop up too fast.

Share this post


Link to post

thank you very much for these tips and links for disable superweapons nothing methods work on other mods the only method that work is via lua script

you just need to edit your exact lua script that are inside you mod and create new .big file mod without make owner mod upset just you need to add these lines 

this also have new camera view ! , it need add new value to gamedata.ini , thanks to Mjstral user he made sagameta mod 

//These are the primary camera settings
    //****CHANGING ANY OF THESE VALUES WILL AFFECT CINEMATICS*****
    //------------------------------------------------------------------------------------------------------------
    DefaultCameraMinHeight            = 650.0    ;The minimum height of the camera relative to the terrain.
    DefaultCameraMaxHeight            = 520.0    ;The maximum height of the camera relative to the terrain.
    DefaultCameraPitchAngle            = 28.5    ;The pitch angle of the camera off top down view.
    DefaultCameraYawAngle            = 00.0    ;The direction the camera faces by default.
    DefaultCameraScrollSpeedScalar            = 1.0    ;How much faster or slower all scrolling is.
    //------------------------------------------------------------------------------------------------------------
    //****DO NOT CHANGE ABOVE VALUES *********
    //****PS: These values haven't been changed since original Generals anyways, this is an educational message.
    //------------------------------------------------------------------------------------------------------------
    //------------------------------------------------------------------------------------------------------------
        
    CameraLockHeightDelta = 1900.0
    CameraTerrainSampleRadiusForHeight = 1.0 ;Controls how sensitive the camera height adjust is to nearby terrain. If you move the camera near a mountain, it'll raise up sooner with a large value.

    JoypadScrollScalar = 1.0
    CursorMagnetismMode = 2
  
  ;;OK TO UNCOMMENT ;;  CameraEaseFactor = 0.2 ;for softening the tethered camera (while locked to an object or a drawable) 
  
  ;These figures are compatible with the new 25-degree projection angle
  MaxCameraHeight = 230.0  ;230.0
  MinCameraHeight = 100.0
  
  UseCameraInReplay = No    ;Not working, don't use it yet.
  CameraAdjustSpeed = 0.5      ; between 0 and 1 - this is how fast the camera snaps to the desired height
  ScrollAmountCutoff = 50.0      ; arbitrary units - above this value, we don't update height while scrolling
  ScrollPitchMultiplier = 0.63    ; The amount the camera pitches when zooming in and out.
  EnforceMaxCameraHeight = No      ; Obey max camera height while scrolling?
  TerrainHeightAtEdgeOfMap = 100.0
  UnitDamagedThreshold = 0.66
  UnitReallyDamagedThreshold = 0.33
  GroundStiffness = 0.8
  StructureStiffness = 0.3
  ; acceleration due to gravity, in dist/sec^2
  ; note that our distance units are roughly one foot, so 
  ; this corresponds to earth-normal gravity (32 ft/sec^2)
  ;Gravity = -32.0
  ; this "feels" better...
 

---------------------------------------------------------------------------------------------------------------
-----------------------------------------CUSTOM CODE SECTION---------------------------------------------------
---------------------------------------------------------------------------------------------------------------

-- function DisableSuperweapons()
-- setcallhook()
--    local Superweapons = {"GDIIonCannonControl", "SteelTalonsIonCannonControl", "ZOCOMIonCannonControl", "NODTempleOfNOD", 
--        "BlackHandTempleOfNOD", "MarkedOfKaneTempleOfNOD","AlienRiftGenerator", "Reaper17RiftGenerator","Traveler59RiftGenerator"}
--    for i=1,getn(Superweapons),1 do ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", Superweapons[i], 2) end
-- end
-- setcallhook(DisableSuperweapons)

function GenericCrateSpawner(self)
    PreloadLUAScript()
end

function PreloadLUAScript()
    if rename("scripts.lua","scripts.lua") then 
        dofile("scripts.lua") 
        ExecuteAction("DISPLAY_TEXT", "MESSAGE:ExternalLUAScriptsLoaded")
    end
end

SuperweaponPreventer_Init = false

function NoSuperweaponsOption(self)
    if not SuperweaponPreventer_Init then
        SuperweaponPreventer_Init = true
        SuperweaponsBuildability("NO")
        SpawnSuperweaponPreventerDummy(self)
    end
end

function SuperweaponsBuildability(what)
    local BUILDABILITY_TYPE = {["YES"]=0, ["IGNORE_PREREQUISITES"]=1, ["NO"]=2, ["ONLY_BY_AI"]=3}    
    ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", "GDIIonCannonControl", BUILDABILITY_TYPE[what])
    ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", "SteelTalonsIonCannonControl", BUILDABILITY_TYPE[what])    
    ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", "ZOCOMIonCannonControl", BUILDABILITY_TYPE[what])
    ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", "NODTempleOfNOD", BUILDABILITY_TYPE[what])
    ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", "BlackHandTempleOfNOD", BUILDABILITY_TYPE[what])
    ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", "MarkedOfKaneTempleOfNOD", BUILDABILITY_TYPE[what])
    ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", "AlienRiftGenerator", BUILDABILITY_TYPE[what])
    ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", "Reaper17RiftGenerator", BUILDABILITY_TYPE[what])
    ExecuteAction("TECHTREE_MODIFY_BUILDABILITY_OBJECT", "Traveler59RiftGenerator", BUILDABILITY_TYPE[what])
end

function SpawnSuperweaponPreventerDummy(self)
    for i=1,8,1 do
        ExecuteAction("CREATE_UNNAMED_ON_TEAM_AT_WAYPOINT", "SuperweaponPreventerDummy", "Player_" .. tostring(i) .. "/teamPlayer_" .. tostring(i), "Player_" .. tostring(i) .. "_Start")
        ExecuteAction("CREATE_UNNAMED_ON_TEAM_AT_WAYPOINT", "SuperweaponPreventerDummy", "Player_" .. tostring(i) .. "/defaultSkirmishTeamPlayer_" .. tostring(i), "Player_" .. tostring(i) .. "_Start")
        --ExecuteAction("UNIT_SPAWN_NAMED_LOCATION_ORIENTATION", "SuperweaponPreventerDummy_" .. i, "SuperweaponPreventerDummy", "Player_" .. i .. "/teamPlayer_" .. i, "((0.00,0.00,0.00))", 0)
    end
end

function GetValidTeamList()
    local TeamList={
    "Player_1/teamPlayer_1",
    "Player_2/teamPlayer_2",
    "Player_3/teamPlayer_3",
    "Player_4/teamPlayer_4",
    "Player_5/teamPlayer_5",
    "Player_6/teamPlayer_6",
    "Player_7/teamPlayer_7",
    "Player_8/teamPlayer_8",
    "Player_1/defaultSkirmishTeamPlayer_1",
    "Player_2/defaultSkirmishTeamPlayer_2",
    "Player_3/defaultSkirmishTeamPlayer_3",
    "Player_4/defaultSkirmishTeamPlayer_4",
    "Player_5/defaultSkirmishTeamPlayer_5",
    "Player_6/defaultSkirmishTeamPlayer_6",
    "Player_7/defaultSkirmishTeamPlayer_7",
    "Player_8/defaultSkirmishTeamPlayer_8",
    --"/team", --NeutralTeam
    --"PlyrCivilian/teamPlyrCivilian",
    --"PlyrCreeps/teamPlyrCreeps",
    --"ReplayObserver/teamReplayObserver",
    }    
    local ValidTeamList = {}
    for i=1,getn(TeamList),1 do
        local TempUnitRef = "UNITREF_" .. tostring(GetRandomNumber())
        ExecuteAction("UNIT_SPAWN_NAMED_LOCATION_ORIENTATION", TempUnitRef, "GDIHarvester", TeamList[i], "((0.00,0.00,0.00))", 0)
        if EvaluateCondition("NAMED_NOT_DESTROYED", TempUnitRef) then tinsert(ValidTeamList, TeamList[i]) end --EvaluateCondition("TEAM_DESTROYED", TeamList[i])
        ExecuteAction("NAMED_DELETE", TempUnitRef)
    end
    return ValidTeamList
end

SlowDownGame50PercentDummy_SpawnState = false

function SpawnSlowDownGame50PercentDummy(self)
    if not SlowDownGame50PercentDummy_SpawnState then
        SlowDownGame50PercentDummy_SpawnState = true
        ExecuteAction("UNIT_SPAWN_NAMED_LOCATION_ORIENTATION", "UNITREF_SlowDownGame50PercentDummy", "SlowDownGame50PercentDummy", "/team", "((0.00,0.00,0.00))", 0)
        ExecuteAction("MAP_CHANGE_CLOUD_SPEED", 50)
        --ExecuteAction("TEAM_EXECUTE_SEQUENTIAL_SCRIPT_LOOPING", "/team", "FPS_SCRIPT", 1)
        ExecuteAction("CAMERA_SET_DEFAULT", 0.00, 0.00, 1000)
    end
end
  
function HandleFPSAndGameSpeed()
    local CUSTOM_FPS=60
    local NORMAL_FPS=60
    ExecuteAction("SET_FPS_LIMIT", CUSTOM_FPS)
    ExecuteAction("SET_VISUAL_SPEED_MULTIPLIER", NORMAL_FPS/CUSTOM_FPS)
    ExecuteAction("MAP_CHANGE_CLOUD_SPEED", 100)
    ExecuteAction("CAMERA_SET_DEFAULT", 3.00, 0.00 , Camera_Max_Zoomable_Height )
    ExecuteAction("ENABLE_SCRIPT", "FPS_SCRIPT")
    ExecuteAction("TEAM_EXECUTE_SEQUENTIAL_SCRIPT_LOOPING", "/team", "FPS_SCRIPT", 1)  --is working, uses a map script from a library map
end

function EnableOptions()
    setcallhook()
    ExecuteAction("LOCK_CAMERA_ZOOM", 1, 1, 1)
    ExecuteAction("SET_CAMERA_CLIP_DEPTH_MULTIPLIER", 1);
    ExecuteAction("OPTIONS_SET_OCCLUSION_MODE", 1);
    ExecuteAction("CAMERA_MOD_SET_FINAL_SPEED_MULTIPLIER", 2.9)
    ExecuteAction("CAMERA_SET_DEFAULT", 10.9, 10.00, 2.9050)
    ExecuteAction("PITCH_CAMERA",37.5, 1, 1, 1)
    ExecuteAction("CAMERA_MOD_SET_ROLLING_AVERAGE", 5);
end
setcallhook(EnableOptions)


function GuardShieldAIActive_Function(self, source)  
  if (ObjectHasUpgrade(self, "Upgrade_GuardShieldAIModusON") == 1) then
    if ( (ObjectCountNearbyEnemies(self, 420) > 0) and (ObjectHasUpgrade(self, "Upgrade_GuardShieldON") == 0) )  then    
       ObjectDoSpecialPower(self, "SpecialPower_GuardShield")
     elseif ( (ObjectCountNearbyEnemies(self, 420) == 0) and (ObjectHasUpgrade(self, "Upgrade_GuardShieldON") == 1) ) then
       ObjectDoSpecialPower(self, "SpecialPower_GuardShield")
       --ExecuteAction("NAMED_USE_COMMANDBUTTON_ABILITY", self, "Command_SpecialPowerGuardShield")   --alternative
    end 
   end
end
 
function GuardShieldAIModusTrigger_Function(self, source) 
   if (ObjectHasUpgrade(self, "Upgrade_GuardShieldAIModusON") == 1) then 
       ObjectDoSpecialPower(self, "SpecialPower_GuardShieldAIModusActivator")
   end
    ObjectGrantUpgrade(self, "Upgrade_GuardShieldControllbarRefreshDummy")    --refresh upgrade stack
    ObjectRemoveUpgrade(self, "Upgrade_GuardShieldControllbarRefreshDummy") 
end    

function GuardShieldAIModusTriggerDelete_Function(self, source) 
   if ( (ObjectHasUpgrade(self, "Upgrade_GuardShieldAIModusON") == 0) and (ObjectHasUpgrade(self, "Upgrade_GuardShieldAIModusOFF") == 1) ) then 
       ObjectDoSpecialPower(self, "SpecialPower_GuardShieldAIModusDeactivator")
        if (ObjectHasUpgrade(self, "Upgrade_GuardShieldON") == 1) then
           ObjectDoSpecialPower(self, "SpecialPower_GuardShield")
        end
   end
end 
      
function GuardShieldOnUpgrade_Function(self)
    ObjectGrantUpgrade(self, "Upgrade_GuardShieldON") 
end
 
function GuardShieldOnUpgradeRemove_Function(self)
   ObjectRemoveUpgrade(self, "Upgrade_GuardShieldON") 
end
 
function GuardShieldONBroadcast_Function(self)
    ObjectBroadcastEventToAllies(self, "BeginChanting", 9999)
    ObjectSetChanting(self, true)    
    --ObjectBroadcastEventToUnits(self, "BeginChanting", 9999)  
end
 
function GuardShieldOFFBroadcast_Function(self)
    ObjectBroadcastEventToAllies(self, "StopChanting", 9999)   
    ObjectSetChanting(self, false)    
    --ObjectBroadcastEventToUnits(self, "StopChanting", 9999) 
end

---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------

 

Edited by nerozzero

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×