-
Announcement
-
Simtropolis Returns! 05/26/2026
See here for details about our site recovery efforts.
-
Search the Community
Showing results for tags 'script'.
Found 22 results
-
I am having the toughest time with the program. I've searched on the Index for what I am missing for dependencies. I proceed to download the right one, but it still says it's missing?! The image below shows the issue I am running into. I've rescanned and deleted the dependency pack and totally replaced it, but still getting errors.
-
.NET library for reading and loading data from SimCity 4 savegames
Killeroo posted a topic in SC4 Modding - Open Discussion
TLDR; I created an open source .NET library that you can use to easily load data and subfiles from SimCity 4 games. It's called SC4Parser, you can find the source code, documentation (with examples) and the pre-built library over on GitHub. Hi, for the past few months I have been working a tool that creates pictures of maps from SimCity 4 save games. As part of the project I needed a way to load and read data and some subfiles from the SimCity 4 savegames. Unfortunately, dispite the format of SimCity 4 savegames being well documented, I could not find any libraries that did what I wanted and would work with C#. Additionally, most code that I did find also relied the same old C source file to decompress items within the save games, which was a pain to get working with .NET. So in the end I decided to use the excellent research and information on the SC4 Wikipedia to build a parsing library of my own, which may save some people some pain and time. It has the following features: Find and load data/files from save game using TypeID or TypeGroupInstance (TGI) Methods to load common subfiles from a save game (Zone, Building, Transport and Terrain files) Automatic QFS decompression As mentioned above, the library contains a few implementations of common subfiles found in SimCity 4 savegames, some of these implementations are fully complete and others are partially completed but can still be used: Buildings Subfile (Fully Implemented) - Contains a list of all buildings in a city TerrainMap Subfile (Fully Implemented) - Height map for a city Network Subfile 1 (Fully Implemented) - Contains all ground level network tiles (roads, rail, streets etc) Network Subfile 2 (Fully Implemented) - Contains all underground network tiles (subways etc) Bridge Network Subfile (Partially Implemented) - Contains all bridge tiles in the game (decoded during development) Lots Subfile (Partially Implemented) - Contains a list of zones in a city RegionView Subfile (Partially Implemented) - Contains general city information If you are interested, you can find more info about what is implemented, along with documentation and prebuilt versions of the libary as well as the source code over on GitHub. I hope that this provides a useful framework for others to build small tools, scripts and other programs using data found in SimCity 4 savegames and even if you don't use C# I hope that you find the code useful for working out how SimCity 4 save games are put together. Pull requests, issues and features are always welcome. Enjoy. -
I started playing SC4 again after many many years. I want to give CAM a try. I have many growables in my old plugins folder, and I would like to loop through them to determine whether they're PIMXed and therefore CAMpatible. Is it possible to determine the PIMX state via the command line, so it's scriptable?
-
Anybody know anything wrong with this my LUA script?
BobbyHPB posted a topic in SC4 Modding - Open Discussion
Dear Simtropolis people, anybody know how to make my LUA below works? Or anything wrong with it? It just seem never work, all files are inside the lot and only this script I think never work, thanks in advance. --#-package:c65081a0# -- package signature ----------------created by BobHPB------------------- ------------------------------------------------------ ----------------- Reward - My City Hall ------ ------------------------------------------------------ dofile("_adv_sys.lua") dofile("_adv_advice.lua") dofile("adv_game_data.lua") dofile("adv_fluffnews.lua") BobHPB_MyCityHall_ID = hex2dec("8c4a805b") -- R$$$ Population. a = create_reward_cityplanning('8c4a805b') a.type = advice_types.ENVIRONMENT function a.condition() if (game.g_city_r3_population > 250) then return reward_state.AVAILABLE else return [[text@8fd3874e]] end end a.timeout = 100 a.title = [[text@b95ab9f4]] a.message = [[text@be09e152]] a.priority = tuning_constants.ADVICE_PRIORITY_URGENT a.mood = advice_moods.GREAT_JOB a.persist = 1 a.once = 1 Appreciate for any helps. BobHPB- 7 Replies
-
- 1
-
-
- lua
- programming
-
(and 2 more)
Tagged with:
-
Hi there. Sorry I've been absent for so long. SC4 and simtropolis was in my thoughts but not in my agenda. I had to deal with so much crap over the past few months. I'm emotionally traumatised. There is no other way to describe this. Sound melodramatic and sudden. But it's the truth. I am now a broken shell. But I am just as willing to put self back together. So bring it. Round two. I'll show u. I was warming up, life. Ok Ok. What's this? wut? drama. Run. No. Wait. Please. (raptor bark) ok i deliver: (hopefully this post will be able to contain the volcanic eruption that is about to ha--) FOREWORD What you're about to read might appear weird to you. Do not panic. I want to weird you out, hopefully to intrigue you in visiting more... Yes, crumbs lead to paths, that lead to inhabited forests, that lead to underground stories. Wanna find out? Read. SCREENPLAY READING TIPS: - INT/EXT means interior exterios. It's a SCENE HEADING. It defines where the action is happening. - each action paragraph (normal text) is a camera shot. Short lines are quick/simple shots. Longer paragraphs are intricate shots. Maybe longtakes... - O.S. (OFF SCREEN) means character is in scene, audible, maybe visible, but not in shot. We can't see them. V.O. (VOICE OVER) means voice is recorded over the picture. Not necessarily a living character in story, or in the same place/time as scene. - (RADIO/INTERCOM) dialogue comes from specific source - PROLOGUE (introduction to story) , TEASER (snippet, to create hype)( , ACT 1 (beginning, introduction, stakes) , ACT 2 ( rising action, obstacle, choice, no turning back) , ACT 3 ( falling action, towards climax) , ACT 4 ( post-climax) , TAG (closing statement/teaser to next stuff) - SUPER : super-imposed text over picture. - **WEBSITE LINK**: do trust, will link to World Anvil site with explanation article on specific highlighted topic. Check **ANVIL VALLEY** for SC4 region map. Are you ready Set? Go! "Hold on to your butts" - J. Arnold SHELDER COLONIZATION 102 - Growth P.1 written by Marcus G. Burke "Shelder Colonization" side story RolePlay Script draft PROLOGUE SUPER: After 8 human colonists settled on planet Shelder, local dinosaur-like wildlife struggled to adapt to the strangers, and in an attempt to domesticate these creatures, the colonists implanted some of them with digital mind interface surgical brain implants, a mouthfull - a wonder - a potential catastrophe in the making... FADE IN: SHELDER-EVO VIDEOGAME EXT. **ANVIL VALLEY** - PRAIRIE - DAY A team of **Aralodon minoris** professional sound engineers gradually set up a stage... ADVERT POSTER: TRICKSTER SWITCH TONIGHT THE BAND - Frontman Wade, juvenile **Sheldoraptor lumen**, lead voice, lead choreography. Foreground, crossed-arms, serious pose. Emo-Metal accessories. - Harem x3 female juvenile raptors, backing vocals, backing choreography. Matched-attire KawaiiMetal themed. EXT. CONCERT HALL We don't have time to linger on the poster... INT. TRAILER - CONCERT HALL - DAY PAWN WADE? (waits) WADE! A young adult Sheldoraptor lumen is shouting out of the window, to the open prairie outside, at the concert setup. His voice gets lost in the noise of the operations... This is PAWN, the big brother of WADE. PAWN (CONT'D) WADE? (barking) WADE! Loud enough for the setup crew to snap their Aralodon heads towards him. EXT. CONCERT HALL Wade walks the prairie, practicing his parts in passionate whispers and faint animal snarls. WADE (singing) Jo-eee-aaaaaww wresta con meeeeee-owe-eaaaah! (hears barking) Uh? (turns) WHAT? INT. TRAILER PAWN (hears Wade) WADE! (snarling) COME HERE! (trilling) Come on, hurry... EXT. CONCERT HALL WADE (hears Pawn) OKAY! (trill) Now what? Wade walks back toward the trailer. INT. TRAILER Pawn smiles and leaves the window. He wonders in the narrow room staring at the desk full of documents. PAWN (broods) This is gonna take all day (trills) What time is it? Pawn looks up to ELVIN, sitting behind the desk, studying. ELVIN (looks up) urm... (thinks) 'bout three... Pawn frowns and starts pacing back and forth as he thinks. Elvin watches him for a bit. Then he goes back to reading. Wade opens the door with his clawed raptor hand. Even though it's a routine gesture now, he is reminded of the struggles learning it and clicks his lips. WADE tsk. He faces a nervous Pawn, and eyes a distracted Elvin. Where are the others? He doesn't see anyone else apart from archives and lockers. WADE (to Pawn) What is it? Pawn stops pacing when he realizes Wade is here. He eyes him... PAWN (fondly) Nani-bro! (frustrated) Fetch the full setlist, would you? ...and walks forward to rest a hand over his shoulders, smiling, for how much a raptor would smile plausibly. Wade appreciates the brotherly hand over his shoulder with a spontaneous smile. WADE (nervous) I-urr... It's not ready yet. He can't help glance at Elvin but doesn't see him react. Pawn freezes. PAWN (angry) What do you mean it's not ready? He strengthens the grip on Wade's shoulders, without hurting him though. Wade frowns. WADE (nervous) Queen said it needs refining... (shrugs) She said she'd call me when it's ready. (fondly) So I can bring it to you. Wade glances Elvin again. Pawn is pleasently surprised. PAWN Oh! (confused) Refining? (angry) What does she need to refine for? (frustrated) It's already refined! Pawn starts pacing again, brooding. WADE (wails) I'm sorry! I'm waiting for her to call me! She didn't call yet! PAWN (still pacing) It's okay, it's okay. Another young adult Sheldoraptor looks up at Pawn... It's ELVIN, the cousin of PAWN and WADE. ELVIN Don't stress out like that, cous'... (fondly) Rachel's be here in a minute. Pawn stops pacing and looks at Elvin. PAWN (softly) Did she d-m ya? Elvin shuts his eyes and slowly shakes his head. ELVIN No. (merry) But I just know. She won't be late. Pawn rolls his eyes and starts pacing again. WADE (confused) So, can I go? PAWN (still pacing) Yeah-yeah... Wade sighs, turns around, and walks back out. EXT. TRAILER WADE (walking) tsk. EXT. CONCERT HALL - LATER Wade walks to the MANAGER TRAILER... EXT. MANAGER TRAILER He knocks on the door with the feathery back of his raptor hand. WADE (politely) QUEEN? QUEEN (O.S.) (brief wait) Yeah, kid? WADE (nervous) PAWN WANTS TO KNOW IF THE FULL SETLIST IS READY... (holds a giggle) He's kinda... urr... nervous... QUEEN (O.S.) (brief wait) Mmmhh. OKAY DARLING, COME IN. Wade is caught off guard and walks one step back in insecurity. WADE Okay... He takes a breath and opens the door. Another flashback of learning how to even be able to... QUEEN (O.S.) Come on! Don't be Shy! (snarling) I don't bite you! Wade chuckles timidly and closes the door behind him. INT. MANAGER TRAILER Silence. The raptor MATRIARCH is sitting at the desk. Refining... This is QUEEN. Wade stands there, butterflies in his stomach. FADE OUT. ACT ONE FADE IN: SHELDER-EVO: EXT. ANVIL VALLEY PRAIRIE - CONCERT HALL - NIGHT Everything is set for an open door concert: Floodlights are on. The audience space on the ground is irradiated as if daytime and what could host ten thousand people is currently an empty field. The stage is dark. But the lighting equipment is ready to perform. Props and backstage are up. Behind the stage the atmosphere boils... EXT. CONCERT HALL - NIGHT The security staff, x5 **Sairasaura florensia** in security attire, open the temporary fence to let audience in. All local Sheldosaurs, so, other Sairas, Aralodons, Raptors, even the **Riviosaur**. Ofcourse these are are avatars of the real ones. The chipped creatures in the real world can control an avatar in this isolated cyberspace, a game within a game, whereas the unchipped are simply depicted as extra-NPC by the game engine. They start pouring in and filling the field... Generic rock music from the loudspeakers fills the air. INT. BACKSTAGE QUEEN (snarling) WADE! Queen prowls around props, equipment, performers, and crew.. ELVIN (O.S.) No! No! Not like that! I need that up there! PAWN (O.S.) (wailing) ELV! EEELV! ELVIN (O.S.) What? PAWN (O.S.) (CONT'D) EEEELV! ELVIN (O.S.) WHAT? QUEEN WADE! Queen notices a juvenile raptor still not dressed for show, chatting to his harem of three female child raptors, also still not ready for show. QUEEN (snarling) WHAT IS GOING ON HERE? She approaches them and stops. Intimidating as fuck. Wade and the harem freeze in the presence of the queen. WADE (gulping) Queen! Urm... (nervous) What's up? Wade steps away from the girls and turns to the queen. QUEEN (snarling) How are you not ready for the show still? (to girls) And you! What kind of behavior is this? The kid raptors blush at the scolding. They submit as guilty and bow. It's OFFICIAL. QUEEN (barks, intimidating as fuck) GO! Get changing! Queen sees the girls stand there like idiots. QUEEN (CONT'D) (leans over) GO! Get out of my sight! They scurry off. Wade remains... EXT. HALL The banter grows. More and more "people" flock in... The ambulant SNACK VENDORS walk in and start selling shit. People buy it happily. How do they pay? By CREDIT - an underground form of payment. You either know about it or you don't. INT. BACKSTAGE Wade notices the queen calm down and become more intimate with the girls gone. He sort of feel embarassed in front of her half-dressed like that... QUEEN (O.S.) (fondly) Darling. The full setlist is ready. Bring it to your brother. Will you darling? Wade relaxes his tense muscles and his plumage sinks back down, revealing intriguing reflections thanks to the bright lights of the backstage room. EXT. HALL Apparently, some folks are pushing drugs and other vices, too... INT. BACKSTAGE WADE (embarassed) Certainly, Queen. Wade looks down at Queen's powerfully built body covered by a smart suit tailored for her raptor body. He looks at her with stunned admiration. QUEEN Sweet boy. And go get dressed. You up in ten. Better be quick, or I bite yer head off. Wade's skin crawls up. WADE (O.S.) Okay, queen. I will. He scurries off. EXT. HALL Security notices a considerable decrease in arrivals. All but one crew members switch from bouncers to their prime positions as stage security. The gatekeeper counts a few more sporadic arrivals. GATEKEEPER (SAIRASAURA) Hey DAEN? DAEN (SAIRA) (O.S.) WHAT? GATEKEEPER Did you punch-in any player yet? DAEN (O.S.) NO, AL! NO PLAYERS YET! GATEKEEPER Alright Dael, see you later! DAEN (O.S.) SEE YA! The gatekeeper focuses back on the sporadic arrivals... INT. BACKSTAGE - LATER WADE (PRE-LAP) PAWN? PAAAAWN? Pawn is setting up his guitar. The instrument is tailor-made for his raptor anatomy and thus looks slightly different than a guitar made for humans. It does the same things and sounds the same nevertheless. PAWN (focused) WHAT? WADE (O.S.) (panting) PAWN! TIM OH! WADE! Come here bro. TIM is another young adult Sheldoraptor, childhood friend of ELVIN and PAWN. He is ready in rebel attire, macho-pumped but chill from smoking questionably-legal shit. EXT. GATE Yome could not have passed on this opportunity. She signed up a mini-game avatar, took the night off surveillance duties at Camp One, and she is now controlling herself as a raptorified creature, walking up to the gate to buy a ticket in. YOME (hyped) How the hell am I gonna pay with? Meat? GATEKEEPER (spotting Yome) Oh! A player! Hi! He gets on his hind legs and shows his hadrosaur arms in a welcoming pose. INT. BACKSTAGE Wade is in front of Pawn. Brothers. Eternal rivals. WADE (waves paper) I have the list. PAWN (eyes list) 'bout time! (extends claws) Give! WADE (pulls back) No! (close to chest) Mine! One step back. Wade wishes to keep the power of control the list gives him. He knows it's temporary. Pawn POUNCES Wade for the list. TIM (laughing) GET HIM! The Harem BARGES in, sparkly from their KAWAIIMETAL costumes. Simply, darkly, adorable. MINI I'm the prettiest! MANI No! I'm the prettiest! MONI Pfff. Neither. EXT. HALL Yome improvises. YOME (vaguely british) One ticket, please, gentle sir... GATEKEEPER (smiling) Sure thing, babe. The guy convalidates Yome a half-ripped ticket and hands it over to her. She grabs it, confused. YOME How much? GATEKEEPER It's one credit. Thank you for your custom. (points at crowd) There's some room in the corner there... YOME All paid? GATEKEEPER (smiles) Yes ma'am! Enjoy the night! YOME Thanks! She walks in.... EXT. HALL The white panel in the very back of the frontstage lights up from a projector and shows CCTV footage the side entrance to the backstage. Nobody can be seen but a corridor. Music lowers down and audio from the TV footage fades over the music to give the audience a peek to the ambience backstage. Audience can hear the performers BANTERING as they get ready. INT. BACKSTAGE Wade is dressed up: He's like batman, but raptor. A large cape with a thin veil of stuff that looks like plumage, making the costume seem like a natural extension of his body. Tailored carefully by the troupe. The Harem showcase past Wade. They all have performerintimacy going on... MINI (over the top) WADE! My prince! MANI You look gorgeous! MONI Get in character, girls! They walk off. They bully each other past the CCTV the audience can see, and stop before the frontstage entrance to peek at the audience still irradiated by light, unseen from them though, thanks to frontstage darkness. EXT. HALL Seems like everyone warmed up. Shady deals and vice as well as hype floats over the field. Suddenly the floodlights SHUT. DARKNESS. INT. FRONTSTAGE ENTRACE MINI (freaking out) That's it! [almost time] MONI Don't freak out! MANI Shut up! You're freaking me out! EXT. FRONTSTAGE Tim bombastically marches past the three kid raptors with extra-confidence to spare. He carelessly walks the stage as if it was a private living room. He settles at the drumkit. Suddenly a light shines over his head and kit, and he is pleased. He nods with pride, glances at the dark field imagining audience, and gets setup at the drums. Elvin follows Tim hugging his BLUE BASS. He also ignores the darkened audience and goes to his sideline to get his bass setup. Pawn follows Elvin hugging his GREY GUITAR and stops short of center stage to get his guitar plugged in. EXT. HALL The audience starts to get clued in that the performers are entering. An applause and cheers FADES in. EXT. FRONTSTAGE And now from the backstage come the three STRINGS players, Aralodons... They setup their VIOLINS and VIOLA alongside Tim's drums. Terry walks in with puffy drumsticks and flanks Tim, where he had been setup with orchestral drums for himself. EXT. HALL RAPTOR (elbows Yome) Wanna have a smoke? Yome glances over, it's a young stoner raptor passing her a joint. She shows raptor palms. YOME (embarassed) No thanks! EXT. FRONTSTAGE GREG enters, another young adult Sheldoraptor, long-time friend, carrying his personal microphone. And gets to the keyboard stand by Elvin. EXT. HALL Seasoned fans notice Greg and explode in JUVENILE HYPE. KID MOB GREG! GREG! GREG! GREG! GREG! The kid mob is mostly pre-mate aged raptors, and a few odd kid from other species. They incite with paper slogans and starlight bracelets. EXT. FRONTSTAGE Frontstage light ON. The band is almost complete. Sober applause is heard from the back of the field. Greg glances at the kid mob and smiles timidly. He sets up his keyboard. RACHEL enters. She is the other young adult Sheldoraptor posse member, in her full KAWAIIMETAL attire too. EXT. HALL A separate teen mob now chimes in for Rachel, rivalling the kid mob for Greg. TEEN MOB RAY-CHEL! RAY-CHEL! RAY-CHEL! RAY-CHEL! EXT. STAGE Rachel smiles at both mobs and waves hello, as she hugs her RED GUITAR and walks to the opposite side of Pawn. The HAREM enters stage. EXT. HALL Both kid and teen mob lose the chant pulse and various names are now being chanted at once, making it a jargled mess. YOUNG MOB GREG! RAY-CHEL! MINI! MANI! MONI! (continue ad lib) EXT. STAGE Wade enters. Nobody cares. Nah. Thats what he fears as he walks. Bit of a stage fright, well hidden behind his batraptor costume. He instead is welcome with a standing ovation and a few excited whistles and howls from the back. Encouraged, Wade raises his feathery tail and puffs up his plumage and cape and waves hello back. EXT. HALL Yome finds a realtively intimate corner of the audience space where she can clearly see everything and activates the footage record function. Whatever her avatar sees gets saved to Yome's real tablet. EXT STAGE Queen enters. Returning fans seem to know from experience to immediately shut up and freeze for full attention at the queen. The new and uninitiated keep bantering and are soon overwhelmed by... QUEEN (P.A.) (pumped) ANVIL FOREEEEEST! ARE YOU FUCKING READY TO ROCK? It's permission to EMOTE LOUD hype again. Her work is done... Queenie waves a smile to the performers, seeming to have a different goodbye emote for each individual performer. Then she leaves. Lighting fades to starting atmosphere and the dryice PUFFS in from below to give a HAZE. SYNTH BACKGROUND sets a dark tone. The band gets ready. Wade sets up his microphone, ready to sing lead. Pawn and Rachel look at each other for clues to coordinate the beginning riff, checking Elvin and Tim for sincopation. The rest, including the Harem, seem relaxed, if only smiling and generally in a good mood, but not really about to play or sing. It's not their part. Starting positions... FADE OUT. END OF ACT ONE Take a breather... You deserve it! ACT TWO FADE IN: SHELDER-EVO: EXT. ANVIL PRAIRIE - CONCERT HALL - NIGHT As the raptor band performs the first song - "Unfair". Two young rogue raptors meet in a corner of the audience space, taking advantage of the concert: LURION (secretly) God! (bows) You're here! ASARI (snarls) This is so cool! (bows) Honoured to meet you, Apprendista. Yome spots Lurion. She notices he's whispering to another raptor. YOME Target acquired. One unknown raptor. She waits for the concert noise to reach a quieter part... YOME (CONT'D) Memo: I was one of the last ones in. From what I heard, I was the first Player creature to attend. (contemplates) If that's Asari, they entered from somewhere other than the front door. End of memo. EXT. STAGE First song's done. Now the band plays "Red" with a TIGHT cheerful choreography. EXT. HALL Yome sneaks closer to Lurion and Asari, scooting past headbanging and dancing creatures of all kind and wearing different styles of attire. She stops a few heads away from theirs. She could read their lips if they were humans. Being raptors, all she can read is snarls and trills. YOME Targets are conversing. Might be able to infer emotions from body language. (skeptical) Hopefully... EXT. STAGE Third song is "No No No". Another tight choreography. Wade sticks with the Harem backing vocals forming anenergetic choir. EXT. HALL Yome keeps watching Lurion and Asari... LURION Snarl. ASARI Trill. LURION Trill. ASARI Snarl. She's bored. YOME (frustrated) Chutes! EXT. STAGE A brief pause on the stage as instruments are re-tuned or swapped, and singers catch their breath. Then they set a dark, depressing atmosphere... ...and they play "In the Attic". EXT. HALL DIMAR (INTERCOM) (excited) I'm in! YOME (intrigued) You hacked in? DIMAR (INTERCOM) Yeah! I'm running the protocols... YOME Sweet! Yeah, she was tired of watching them not being able to understand a thing. LURION Snarl. ASARI Snarl. LURION Trill. ASARI Trill. EXT. STAGE Atmosphere remains depressing... ...but the following song "Vanilla Sky" also brings nostalgia, romance, and a vague sense of hope, and the change in colored lighting effects reflects this. EXT. HALL DIMAR (INTERCOM) I've got it! Tell me when you hear... YOME Okay. LURION Snarl. ASARI Trill. LURION Trill. Yome hears NOISE in her ear. Then... LURION (CONT'D) [safe] --afe? ASARI (trilling) Sure it is. You will be sedated. You won't feel a thing... YOME Holy crap! It's working! DIMAR (INTERCOM) (chuckles) Cool! Let me know if you can catch all of it. LURION (trilling) And what will happen to my body? YOME Will do. Shush! ASARI (trilling) Will return to god, my son. LURION (gulps) Perfect! (sighs and nods) Very well! YOME (confused) What? EXT. STAGE Next song "Who Cares" is faster and a lot more upbeat. EXT. HALL ASARI (nods) Very well indeed. (trills) You look ready, Apprendista. You learnt to be a Guide. Now go! Teach your own Apprendisti! LURION (bows) Yes master! YOME Whatever this is about, sounds like they're plotting something... DIMAR (INTERCOM) Yeah. I've been listening... I'm analysing what you recorded before. I'll let you know. YOME Yeah. Good. EXT. STAGE The song ends dramatically with the band in a panting still pose and a big smile. Then they exit in orderly fashion for a break. Some floodlights come back ON in the audience space. EXT. HALL Yome squints her eyes at the floodlights and re-tunes her sensory settings in-game because of the sudden absence of loud music. When she looks back at Lurion and Asari... ...they're gone! YOME (sighs) I lost 'em. DIMAR (INTERCOM) Damn! FADE OUT. END OF ACT TWO TO BE CONTINUED... I hope you enjoyed and that I might meet you in Shelder Evolution discord or World Anvil! bye!
-
[Help] Removing despawn logic from code-placed buildings.
mcegla posted a topic in Cities: Skylines Modding - Open Discussion
Since pandemic started I found myself having too much time, so I returned to my master thesis mod to make it usable. I have basically rewritten all of it and now whole parsing is done with XML.LINQ in other process. I’m trying to use it in game (not in map editor as before), but buildings placed by my code are not really cooperating with Plop The Growables, and No Abandonment mods. Is there some simple way to disable zone check, abandoning etc. for those buildings on current patch? I want to keep buildings interactive (when placed in map editor, they will remain in one place, but will not have interactive popup windows, will not be “clickable” etc.). Here’s simple code snippet that I use for buildings creation: public class BuildingFactory { private static int temp = 0; public void Create(Vector2 point, float angle, string BuildingType) { if (temp < BuildingManager.MAX_BUILDING_COUNT) { int length = 0; BuildingInfo building = PrefabCollection<BuildingInfo>.FindLoaded(BuildingType); if (building == null) { Debug.LogError($"Building could not be found: {BuildingType}"); } else { SimulationManager.instance.AddAction(AddBuilding(point, angle, length, building)); temp++; } } else Debug.Log($"MAX_BUILDING_COUNT reached"); } private static IEnumerator AddBuilding(Vector2 point, float angle, int length, BuildingInfo building) { ushort buildingNum; var coordZ = Singleton<TerrainManager>.instance.SampleRawHeightSmoothWithWater(new Vector3(point.x, 0, point.y), false, 0f); BuildingManager.instance.CreateBuilding(out buildingNum, ref SimulationManager.instance.m_randomizer, building, new Vector3(point.x, coordZ, point.y), angle, length, Singleton<SimulationManager>.instance.m_currentBuildIndex); Singleton<SimulationManager>.instance.m_currentBuildIndex += 1u; yield return null; } } And this is what I’m talking about: Thanks -
Hey dear modders and fellow asset creators, I am working on new custom roads for the US Road Project and I'm struggling with custom tunnels. The models for the tunnels are all done, the problem is that vehicles just disappear when they enter a tunnel. I had a look at some custom roads by other creators and found out that I need to change the vehicle flags for the tunnel so that the cars don't disappear anymore. I stumbled across some ModTools scripts by Ronyx and I found something that worked: var asset = ToolsModifierControl.toolController.m_editPrefabInfo as NetInfo; var ai = (asset.m_netAI as RoadAI); ai.m_tunnelInfo.m_setVehicleFlags = 0; What I need, though, are the flags "Underground" and "Transition". "Underground" is on by default, but I need to add "Transition" to it. I saw Ronyx's script for changing building submesh flags and figured it has to be something like ai.m_tunnelInfo.m_setVehicleFlags = Underground | Transition; although ModTools always throws an error that either of the two flags "don't exist in the context". If somebody knows how to add the "Transition" flag to the vehicle flags, I'd be so grateful! I've tried this, but it doesn't work either. netAI.Flags.Underground | netAI.Flags.Transition; //or RoadAI.Flags.Underground | RoadAI.Flags.Transition; EDIT: Thanks to Ronyx for sending me the correct script: var asset = ToolsModifierControl.toolController.m_editPrefabInfo as NetInfo; var ai = (asset.m_netAI as RoadAI); ai.m_tunnelInfo.m_setVehicleFlags = Vehicle.Flags.Underground | Vehicle.Flags.Transition;
-
Replacing Road LOD texture with script
Cgameworld posted a topic in Cities: Skylines Modding - Open Discussion
I'm experimenting with ModTools scripts and I'm having trouble replacing the LOD of a road texture, I'm using a modified version of this code snippet var networkName = "Basic Road"; // replace with the one you want to edit var lodMaterial = PrefabCollection <NetInfo>.FindLoaded(networkName).m_segments[0].m_lodMaterial; Texture2D lodtexture2D; if (File.Exists("tt/" + "lodtest.png")) { lodtexture2D = new Texture2D(1, 1); lodtexture2D.LoadImage(File.ReadAllBytes("tt/" + "lodtest.png")); //lodtexture2D.anisoLevel = 16; lodMaterial.SetTexture("_MainTex", lodtexture2D); } In ModTools, the lod texture seems to be replaced when the script above is run, but in game the road doesn't update Does anyone have any ideas on how to make this work? Thanks lodtest.png- 2 Replies
-
- cities skylines
- modding
-
(and 2 more)
Tagged with:
-
discovery Modifying .sc4 savegames: It IS possible!
smf_16 posted a topic in SC4 Modding - Open Discussion
Hello SimCity 4 modders, After a hiatus of a year or two, I picked up SimCity again a few weeks ago and decided to start fresh with an entire new region and try to build it as realistic as possible. One thing that always bugged me is that this always involves a lot of clicking "Make Historical". After all, if you've finally managed to grow the building you wanted, you don't want to see it disappear by some R§§§ mansions. Most of the time I spent 15 minutes zoning, and then 3 hours clicking "Make Historical" until I couldn't feel my wrist anymore. Given that I have some programming capabilities, back in the days I've always played with the idea to create a script that would mark all buildings within a city historical. I did some research on this topic, but all resources I could find told me that it was possible to read savegames, but impossible to modify .sc4 savegames. This was due to the CRC checksum that is added in .sc4 files, whose algorithm was apparently unknown. Seems like this discussion was closed. However, by picking SC4 up again I also noticed the work that @simmaster07 did with the Prop Pox fix. Although I never suffered from Prop Pox myself, it is without a doubt one of the most important modding achievements ever. The importance and brilliance of his work cannot be underestimated. Being a programmer myself, I got interested in the technical details behind this masterpiece and I stumbled upon this piece of code. It basically is an override of how entries in the Prop Subfile are saved. I noticed the presence of a function called xcrc32 which carried out the CRC checksum of the entry. I don't know how @simmaster07 did it, but this turned out to be the "missing CRC checksum" algorithm. I immediately hacked some stuff together and noticed that it was indeed this CRC checksum function that was also used in the Lot Subfile. I was shaking. This couldn't mean that it would make modifying savegames possible, right? Well turns out it does! I put some code together and managed to read in an .sc4 savegame, parse all entries of the Lot Subfile and turned on the bit mask that identifies a lot as historical. I saved the file again, re-calculating the CRC checksums for each lot and opened up the file in SC4. I couldn't believe my eyes. I was expecting crashes, but all lots in my entire city were marked as historical and I could continue playing the game as normal. I then did some cycles of growing new lots and running my script aftewards and everything still worked. While having limited my test case to flipping 1 bit per lot subfile, I think this shows that it is possible to modify .sc4 savegames. Another result of @simmaster07's magnificent work. I'm already thinking of what could be possible. I'm thinking for instance of plopping residential lots using the LotPlop extra cheat and then running a script that modifies them as if they were grown so that the pathfinder could work on these lots. This would be a great help for CJ builders! The options are endless, you could basically program your entire city! In order to show that this worked, I've created a small command-line utility that can be used to make all buildings within a city historical. It is available on github here: https://github.com/sebamarynissen/sc4 where I also added installation instructions. It requires some effort to set up, however if you're familiar with node.js everything should be quite straightforward. I'm also willing to offer some help with those having troubles to install. Once you've installed the tool, you should be able to run the command sc4 historical path/to/your/city.sc4 from a command prompt. By default this will not override the input city, but create another city named HISTORICAL-[city name].sc4. If you want to override, run sc4 historical --force path/to/your/city.sc4 but MAKE SURE TO ALWAYS HAVE A BACKUP. Note that this tool is merely a proof of concept that it is actually possible to modify .sc4 savegames. This tool is not meant for public use, so I can't stress enough TO ALWAYS HAVE A BACKUP OF YOUR ENTIRE REGION. I AM NOT LIABLE FOR ANY OF THE CONSEQUENCES IF SOMETHING GOES WRONG. Anyway, it would really help me if some people were able to test this and report any issues if they found one - preferrably in the Github Repository. Let me know what you guys think. I hope that this opens up new possibilities for SimCity 4 and how we can build more amazing cities than ever! - Seba EDIT: I've published a version with prebuilt C++ libraries on npm. You should be able to install it using npm install -g sc4 if you have node 12 or higher without the need to compile the C++ libraries.- 229 Replies
-
- 46
-
-
-
-
javascript to make pavement tiles in Photoshop
AmiPolizeiFunk posted a topic in Cities: Skylines Modding - Open Discussion
I hacked the photoshop pattern "Brick Fill" script from photoshop CS6 to tile the pavement with color, brightness, and rotation variations. I'm a noob w javascript so any help or suggestions would be appreciated. I wanted to randomize the flip (mirror) sometimes too, but couldn't figure out how to do it. I was looking for a function like "RenderAPI.flip" or "RenderAPI.mirror" but those don't exist. I don't even know where to look for a list of these functions... maybe this whole method is totally out-of-date. I know you can do similar stuff in blender by routing texture variations into nodes, but I still haven't taken the time to learn the blender node system. Anyway, Mr.Maison asked me on twitter to share the script, so here it is: /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Here are a few parameters that you can change to modify the behavior of the patterm // Feel free to modify the values, don't change the variable names // Variation of color of the pattern. // For example, value of 0.2 means that each of the red, green, and blue color components // will be multiplied by a DIFFERENT random value from interval 0.8 and 1. // Set to 0 if you do not want to modify the pattern color. var colorRandomness = 0.01 // use a value between 0 and 1. The default is 0.2. // Variation of pattern brightness. // For example, value of 0.6 means that each of the red, green, and blue color components // will be multiplied by THE SAME random value from interval 0.4 and 1. // Set to 0 if you do not want to modify the pattern brightness. var brightnessRandomness = 0.1 // use a value between 0 and 1. The default is 0.4. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // You can modify the code below but keep in mind that as with any scripting // you can break things. Keep a backup copy. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // We could use Math.random but then we do not have control over the seed // Object rand rand.seed = 1 function rand() { rand.seed = (rand.seed*9301+49297) % 233280; return rand.seed/(233280.0); } function getRandomInt(max) { return Math.floor(Math.random() * Math.floor(max)); } /////////////////////////////////////////////////////////////////////////// // get the size of the output area var outputSize = RenderAPI.getParameter(kpsSize) // get the location of the top left corner of the bounding rectangle around the selected area var outputOrigin = RenderAPI.getParameter(kpsOrigin) // Get pattern and its size var pattern = RenderAPI.getParameter(kpsPattern) var patternSize = pattern.getParameter(kpsSize) RenderAPI.translateRel (patternSize.x/2, patternSize.y/2) RenderAPI.translateRel ( -(outputOrigin.x % patternSize.x), -(outputOrigin.y % patternSize.y)) var row = Math.floor( outputOrigin.y / patternSize.y ) var column = Math.floor( outputOrigin.x / patternSize.x ) pattern.setParameter (kpsColorBlendMode, kpsBlendMultiply) //pattern.setParameter (kpsColorBlendMode, kpsBlendLinearLight) for (var y = 0; y < outputSize.y + patternSize.y; y+= patternSize.y, row++) { RenderAPI.pushMatrix() var x = 0 for (var c = column; x < outputSize.x + patternSize.x; x+= patternSize.x, c ++) { if (getRandomInt(4)==1){ RenderAPI.pushMatrix() // Set the seed based on the current row and column - this assures that the color will be modified // in the same way for the pattern in the neighboring selected area rand.seed = row * 1234567 + c * 7654321 // setting seed for each pattern is not that good, but calling an extra rand helps rand() var rc = colorRandomness // color randomness var br = 1 - brightnessRandomness + rand()*brightnessRandomness // brightness RenderAPI.Color (kFillColor, br *(1 - rc + rand()*rc), br*(1 - rc + rand()*rc), br*(1 - rc + rand()*rc)) //RenderAPI.scale(rand()*0.1 + 1) RenderAPI.rotate(getRandomInt(4)*90) // my own little mod to rotate the pattern either 0, 90, 180, or 270 deg pattern.render(RenderAPI) RenderAPI.popMatrix() } RenderAPI.translate(patternSize.x, 0) } RenderAPI.popMatrix() RenderAPI.translate(0, patternSize.y) } To use this script in Photoshop, save it as "Pavement fill.jsx" and put it in your ...Photoshop->presets->Deco directory. Restart Photoshop. Do a Pattern fill an tick the "Scripted Patterns" box at the bottom. Select "Pavement fill" from the dropdown and use a square pattern. This particular version of the script scatters the selected pattern across the whole image, with a 1 in 4 chance to place a tile. The idea is that after you do a background fill of one tile, you use this script to make multiple passes, one time for each of 4 different tiles. It's probably a terrible way to do an already solved task, but in the end I was happy to get the result that I wanted. Have you guys solved this problem in other ways? -
Modifying MoveIt export XMLs with python script
AmiPolizeiFunk posted a topic in Cities: Skylines Modding - Open Discussion
I only discovered that terrain-party exports are ~4.166% bigger than they should be (terrain-party crams an 18km square area into a 17.28km square mapspace) while I was half-way through making a new Berlin 1:1 map. It was easy to upscale the heigtmap work that I had done (export my cleaned heightmap from the map editor, scale it up in photoshop, re-import it), but I was kinda stuck when it came to all of the work I did on rails and roads. I needed a global function to scale up my rails and roads in the x and z dimensions. Enter MoveIt! export->import and python. A friend wrote this script for me in Python v3 to go through the xml file and tweak the X and Z coordinates. All X and Z values are multiplied by 1.041666 Here are the MoveIt! XML export files before and after manipulation: https://www.coh2.org/file/16224/moveitexports.rar And a pic, showing the perfectly fitting result after the upscale: I think this kind of thing opens up some amazing possibilities! Next, I'm interested in scraping tree data from Berlin's databases and creating ploppable MoveIt! XML files from them. This is a bit out of my league tho, but I have the feeling that it can be done. -
Just a question for experts programmers Could anyone save a small script into a prop and execute the script when loading the prop? Thanks
-
Tutorial: Method for Automated SimCity 4 Screen Mode Switching
Cyclone Boom posted a topic in SimCity 4 General Discussion
A Neat Little Tool to use with the "Raise the UI Mod" Here is a tutorial explaining how to automatically raise SimCity 4's user interface (UI) when switching to windowed mode. This may specifically be useful for those who wish to alternate between running SC4 windowed and in full screen. Please Note To achieve this, it requires copying and saving simple command line scripts (.cmd), and adjusting relevant paths. The problem being, when running the game windowed and with a custom resolution, you may notice the taskbar inconveniently overlays the UI like so: To workaround this limitation, in Windows it's possible to use the "Auto-hide the taskbar" option from Taskbar Properties. This does what it says, and makes the taskbar hidden from view when not hovered over. However, this requires toggling back the setting once exiting the game. So while that works it's not the most ideal solution since to run the game windowed, it may be desired to have quick access to the taskbar at all times. A means of fixing this is by raising up the UI slightly. Then the taskbar can still be seen in full view while not obscuring the lower-positioned menu options in the game. A useful mod which does exactly this is the appropriately named Raise the UI Mod. Which upon installation in Plugins, will solve the problem like so: However... What if you'd then wish to play the game full screen, or often swap between both modes? Perhaps doing so would be useful if needing convenient access to other programs while playing. But later would like to change over based on your monitor configuration, or to benefit from the reduced memory usage in full screen. At least from testing, I found there was around 18% less system RAM used in a fully loaded large tile. This can be done manually by moving the mod in and out of Plugins when needed. But in terms of automating the process, that's where my little command line scripts may come in handy. Should that sound of interest, keep on reading on... Note: This is really intended for those comfortable working with batch files, and so this may not be the ideal solution for everyone. Prerequisites SimCity 4 Deluxe / RH installed and patched at least to the EP1 update. Digital versions other than Origin should come fully pre-patched. Although Notepad or a plain text editor will do the job, I recommend using Notepad++ to benefit from syntax highlighting. A Windows operating system (this has been tested on Win 7). Download the Raise the UI Mod created by @warrior. A local folder created outside of Plugins. Setting Up First of all, the initial step is to decide where you'd like to store the mod when not needed. This will be a holding folder and can be anywhere outside from your Plugins folder. Then when running the game windowed, it'll be moved into your Plugins so then the UI is raised accordingly. So either create a new folder, or copy the path of an existing folder where Raise the UI Mod.dat can be stored. A simple way of copying the path is by right clicking the location bar in Windows Explorer: Then click the "Copy address as text" option as highlighted. At the top of both scripts (which we'll get to in a moment), there are 4 adjustable options: File=<File Name> Description: This is the file name name of the mod, so needn't be changed unless renaming the actual file. E.g. File=Raise the UI Mod.dat PluginPath=<Path> Description: The location inside your Plugins folder to contain the mod. This can be in the root or inside a subfolder structure of your choice. Unless modified it should be the one in Documents. Leave out quotes since those are added in the main body of the code. E.g. PluginPath=C:\Users\<Account>\Documents\SimCity 4\Plugins HoldPath=<Path> Description: Here is the location of the holding folder where the mod will be stored. Use the "Copy address as text" method described earlier to make sure this is correctly specified. It can be set anywhere of your choice, providing the folder is fully accessible. E.g. HoldPath=C:\Users\<Account>\Documents\SimCity 4\Hold UI Mod TheGame="" "<Game Location>" <Shortcut Parameters> Description: It wouldn't be any use without starting the game itself, and that's what this option does. Here there are 2 variables which can be tailored specifically. The location of the game's executable file, and also the parameters (switches) used to set a custom resolution, toggle windowed or full screen, force SC4 to run on a single core, skip the intro, or any other such options. E.g. Disc based game: TheGame="" "C:\Program Files (x86)\Maxis\SimCity 4 Deluxe\Apps\SimCity 4.exe" -CustomResolution:enabled -r1600x900x32 -w E.g. Digital game from GOG: TheGame="" "C:\GOG Games\SimCity 4 Deluxe Edition\Apps\SimCity 4.exe" -CustomResolution:enabled -r1600x900x32 -w For a custom resolution, this must be specified to the desired screen width and height. The above examples represent my own monitor's size of 1600x900 pixels. The x32 at the end is the bit colour depth, which in normal circumstances can be safely left as is. Those using Steam or other launchers may need to experiment with workarounds to start the game directly for this to work. The empty quotes ("") at the beginning are required since they pass a null title in the command. However the rest of the command can simply be copied over from an existing desktop shortcut Target line, with the format being identical. Note: Where applicable for it to be valid, the <Account> path must be changed to the name of your user account. Windowed Script Here is the script for running the game windowed. It does the following: First checks whether Raise the UI Mod.dat is located in your Plugins folder. If found, the game is started using any parameters specified. If not present, it moves Raise the UI Mod.dat from the holding folder to your Plugins, before starting the game. Should the file not be found in the holding folder, a message pops up in a command window making that known. For Example (Modify custom paths as needed) @Echo Off Set File=Raise the UI Mod.dat Set PluginPath=C:\Users\<Account>\Documents\SimCity 4\Plugins Set HoldPath=C:\Users\<Account>\Documents\SimCity 4\Hold UI Mod Set TheGame="" "C:\Program Files (x86)\Maxis\SimCity 4 Deluxe\Apps\SimCity 4.exe" -CustomResolution:enabled -r1600x900x32 -w If Not Exist "%PluginPath%\%File%" ( If Not Exist "%HoldPath%\%File%" ( Start "" cmd /C "Echo %File% not found in: &Echo( %HoldPath% &Echo( &Pause" Goto :End ) Else Move "%HoldPath%\%File%" "%PluginPath%" ) Else ( Goto :StartSC4 ) :StartSC4 Start %TheGame% :End Exit Important: For the game's parameters, it's essential the -w switch is used, or else the game won't be told to run windowed. Full Screen Script Here is the script for running the game in full screen. It does the following: Checks whether Raise the UI Mod.dat is located in your Plugins folder. If found, it moves the file back to your holding folder, then starts the game. If not found, it just starts the game, also using any parameters specified. For Example (Modify custom paths as needed) @Echo Off Set File=Raise the UI Mod.dat Set PluginPath=C:\Users\<Account>\Documents\SimCity 4\Plugins Set HoldPath=C:\Users\<Account>\Documents\SimCity 4\Hold UI Mod Set TheGame="" "C:\Program Files (x86)\Maxis\SimCity 4 Deluxe\Apps\SimCity 4.exe" -CustomResolution:enabled -r1600x900x32 -f If Exist "%PluginPath%\%File%" ( Move "%PluginPath%\%File%" "%HoldPath%\%File%" ) Else ( Goto :StartSC4 ) :StartSC4 Start %TheGame% Important: For the game's parameters, it's essential the -f switch is used here, or else the game won't be told to run in full screen. Saving the Scripts Both work by saving them as command line scripts with the .cmd file extension. This can be done using any plain text editor, including Windows Notepad. Personally as hinted above, I would recommend Notepad++ for the benefit of the code syntax highlighting. It also handily comes with many other features for manipulating text, featuring a powerful find & replace tool with regex ability (advanced search mode). But in terms of what's required here as a simple copy, paste and save to file, these are just little extras which you may find useful for other projects in future. The end goal is to have both scripts saved, ideally for convenience to the same folder. For instance: The actual task of saving is very simple. I'll describe the steps for both Notepad++ and Windows Notepad using the windowed mode code. However as this part may well be self-explanatory, feel free to skip the following instructions and continue onto setting up the desktop shortcuts. Using Notepad++ OR Using Windows Notepad Creating Desktop Shortcuts To run either of the scripts, it's possible by navigating to their folder and double clicking on them. This will do the job just fine. However for accessibility and since it's probably what you're already familiar with, I recommend linking each via a shortcut placed on your desktop (or wherever is convenient). Then there will be two shortcuts – One referencing the windowed script, the other for full screen. Step 1 of 3 First make a copy of your existing SC4 shortcut. Or if you don't have one already, go to your game's installation path and open the Apps subfolder. Then right click the executable file ( SimCity 4.exe ), and in the context menu choose: Send to > Desktop (create shortcut). Then make a duplicate copy so you've got two exactly the same. Rename accordingly to whatever you'd like them called. For example: For the next steps I'll explain the process with the windowed shortcut. Repeat the same for your full screen one... Step 2 of 3 The next task involves editing the Target path in the shortcut. Right click and open the Properties. Then remove the current path pointing to the game's executable. This is no longer needed because the script does this part, along with passing the parameters to set a custom resolution and toggle between windowed or full screen modes. Then paste in the path to the script like so: Note: This can be easily obtained by navigating to the script, holding the Shift key, then right clicking and choosing the Copy as path option. If you copied in a path which didn't contain spaces, the quotation marks will automatically be removed from the Target line upon saving and opening the shortcut Properties. Those are only needed to preserve a path should there be any spaces included. Step 3 of 3 Click Apply, then OK and close the shortcut. Repeat for the full screen shortcut or vice versa. At this point it's good to go, but there is an additional adjustment possible should you wish... Addendum A big thanks to @CorinaMarie for inspiration behind this idea, helping me with technical aspects, and also sharing many valuable suggestions along the way. There could be other uses with this or similar techniques. For example, to potentially expand and tailor scripts specifically to: Move another mod file in and out, such as the Diagonal Bridge Enabler. Control sets of custom content by moving multiple files in and out of your Plugins folder as needed. Have a multiple choice option in the command line for using certain shortcut parameters. Log the time when starting SC4 to keep track of how long you're in the mayor's office. Create incremental backups of your Regions before starting the game. So that brings this tutorial to a conclusion. Once you've saved both scripts and created the shortcuts, the game can then be fully enjoyed in either full screen or windowed mode with a simple double click. Hopefully this may come in useful and even inspire other possibilities. Be creative! Any feedback, comments or questions welcome. -
Would anyone be able to help with a script that sets various road settings, such as segment colour or road halfwidth in the road editor. I've tried creating a script but my knowledge is poor. If the majority of the settings could be set into a script it would speed up the process loads. Even if someone gives me a way of setting one item I should be able to follow that logic to adjust the others. Thanks!
-
Hello. I trying to build sunken Walls. I have drawn a model in Sketchup and it looks well in the asset editor, but i can't sink it into floor. I have try many solutiions, the NO BASE script, sunken templates, I have even made a script to change mesh bounds value. Nothing at all. I have read a lot of post in differents fórums. Nothing at all. I'm missing something and I don't know what it is. Helpplease (excuse my english).
-
I've just come across a post by @Reddonquixote over on SC4D, it would appear our problems with using BAT4Max on newer 3DS max releases are over. In one of the scripts is a reference to a function that was removed entirely from 3DS Max, it would appear that trying to call this function was causing the scripts to fail on newer 3DS Max releases. Now of course right now, this isn't hugely tested so I don't want to jump the gun, but it seems if 3DS 2017 works with this fix, then it should work for earlier affected versions, am I right in saying that's 2016, possibly 2015 too? Anyhow, all credit obviously goes to RDQ for finding this problem, but rather than everyone edit their scripts. I've made a patched file you can simply use to replace the one with the faulty reference (attached). Instructions (Readme included with fix also): Download/Install BAT4Max as usual Find the install location for the scripts included with BAT4Max Default = 3DS MAX INSTALL DIR\gamepacks\BAT\scripts Copy the included SF_LtbL_functions.ms file, overwriting the original Remember to backup the original (just in case), by copying/moving it elsewhere outside of the 3DS Max install path Lastly, if you've not already don't so, don't forget to also get the Gamma Fix for 3DS Max from here too: Disclaimer: I personally use 3DS Max 2011, so have no way of testing this fix. But it can't cause any harm, it either works or it doesn't. Worst case scenario, restore the original file and you are back to square one (i.e. it still doesn't work). Lastly, please can those who might make use of the patch confirm if it works and which version of 3DS Max they've applied the fix too. This will help greatly with troubleshooting the issue for other users and helping ensure 3DS Max can be used for batting models into the future. BAT4MAX_Fix.zip
-
Trying to get here, this topic, I got 2 or 3 script error messages, like this: (Tried to up load a pic of it, and got a " There was a problem processing the uploaded file. Please contact us for assistance.)". Then I wonder if the majority of medals aren't showing: Same error as above. Anyway, are they related? My comp gets sluggish, and eventually gets hung up. No CTD.
-
So I was watching "SimCity 4 - Building a real interchange" on YouTube by @Haljackey. Now, it was technically impressive, but you could tell it took several hours in real time. Sadly, that's not how most users would want to do things. Even though I do love NAM, I don't think I could devote several hours on one interchange. Most would just want some sort of plop. Obviously, plopping giant interchanges is unfeasible at best and NAM has said repeatedly that will never happen. But what about a script? Instead of trying to roll up all those individual puzzle pieces into a single hefty piece, what about a "script" lot that will activate putting those pieces exactly as they should be? RHW-4 (4,-1) RHW-4 (3,-1) LR30 (2, 1) To explain the code above, let's say, at the tile that it's placed at, it builds an RHW-4 tile four tiles to the north and one to the west, then another one at a different place, then places another piece at two spaces north and one to the east. Place the tile, and watch the interchange build itself. Obviously, it would need the NAM, or otherwise won't build puzzle pieces it's supposed to, but at the end the interchange is complete. Problem is, I don't know if this process has actually been done or can be done. Aren't the Digger lots this sort of thing, though? Sure seems like it...
-
Make your own network textures (Mod Tools Script)
boformer posted a topic in Cities: Skylines Modding - Open Discussion
Instructions: Subscribe to Mod Tools Open the game and make sure that Mod Tools is enabled Load a city Open the Mod Tools console with F7 Paste the contents of this script in the command line and press Run (change "Basic Road" in the first line to anything you want) The script will replace the textures of the network you specified in the script: Diffuse: Program Files (x86)\Steam\SteamApps\common\Cities_Skylines\tt\Basic Road_D.png Normal/Specular Map: Program Files (x86)\Steam\SteamApps\common\Cities_Skylines\tt\Basic Road_XYS.png Grass/Alpha/Concrete Map: Program Files (x86)\Steam\SteamApps\common\Cities_Skylines\tt\Basic Road_APR.png The textures must be .png files and named after the scheme above ([Network Name]_[TYPE].png). Place them in a "tt" directory in the game's installation directory. Replacement lasts until you return to the main menu. A few network names: Basic Road Highway Highway Bridge Medium Road Medium Road Bridge Train Track Train Track Elevated Train Track Bridge Quay Flood Wall Canal Canal2 Canal3 You can easily find the prefab textures by selecting the network in the menu. Then in the Mod Tools scene explorer (CTRL + E), find Tool Controller > NetTool on the left and expand m_prefab > m_segments > m_segment[0] > m_segmentTexture on the right. The network must be selected while you do that. Here are a few example textures: Quay_D.png Quay_XYS.png Basic Road_D.png Basic Road_APR.png -
Mod Tools script that lists up the usage of all growables in your city
boformer posted a topic in Cities: Skylines Modding - Open Discussion
I made a little mod tools script that lists up the usage of all growables in your city. Quite useful for people who suffer from long loading times. Get the script here: https://gist.github.com/boformer/ba290d983a685de45bdf Get Mod Tools here: http://steamcommunity.com/sharedfiles/filedetails/?id=450877484 Open the mod tools console ingame (F7) and paste the script in the command line! You can also find the output in your output_log (so you can copy paste the workshop id). -
Hi there. I found out that many mods alter the same files, especially SimCity-Scripts_287520926.package. What do I do if I want several mods that all change atleast one same file? Is there a way to merge .package files? greets jedi93
- 6 Replies
-
- 1
-
-
- mods
- incompatible
-
(and 3 more)
Tagged with:
-
Hello... I'd like to share something off-topic , thats good for finishing CJ's! I'd like to talk about two progams , one for making a language , the other a font. The first one is Fonstruct. A small profitable , but free font maker. Its find here: http://fontstruct.com/ . You can make Fonts for this type uses: The second one is Lingojam. That is a progam where you can make languages. Here is it: http://lingojam.com/. You can make languages for this type of uses: hope you like it XD , lets show suggestions and result here under. ;-)

