EWPForDummies
Write, check and test Expand World Prefabs scripts in game, without typing yaml. Anyone can look; saving needs server admin.EWP for Dummies
Write, check and fix Expand World Prefabs scripts in game, without typing yaml.
Press Ctrl+F12. Anyone can open the window and look. Saving needs admin on the server.
Write scripts by picking things
- Scripts and sections. A script is one yaml file; each block in it is a section, named by the
#comment above it. The list shows your scripts and their sections. Save script writes the file, and only that section's lines change. Right-click a section to remove, duplicate or move it. - Step by step. A new section opens one step at a time, and every list only offers what fits your object and trigger (no breeding values for a Deathsquito, no chest items for a creature). "Show everything" turns the guide off.
- Pick the object, pick what starts the script, add filters, pick chance or weight, then add actions. Every box shows the real EWP name, a short tip under it, and more help when you hover it.
- Starter templates: "Spawn something when X dies", "Replace a prefab", "Drop extra loot", "Change a creature when it spawns" and more.
- Parameters made visible. The values a trigger passes in (par0, par1...) show as colored chips with what each one means. Explain this value works through any value step by step, innermost token first, and gives the result the way EWP would.
- Checks while you build. Mistakes and slow patterns are flagged as you go, with how to fix them. Many have a one-click fix.
- Test this section. For sections that run when an object appears or is destroyed, the tool spawns that object next to you and shows the live trace.
Check every script on the server
- Check scripts reads every EWP file on the server, not only yours. Each script gets a plain sentence saying what it does, plus any problems: misspelled settings (with the right name suggested), unknown objects, triggers that never fire, filters that can never pass, scripts that block each other, slow patterns, and EWP's own error lines.
- Which scripts poke which. Every
type: pokescript lists the scripts that can start it, or says that none do. Every script with apoke:lists the scripts it can start. Click one to open it. - Live trace shows which scripts run, on what and where. Great for "why didn't my script fire?".
- Knows your server's EWP version. On an older Expand World Prefabs, anything that version can't do is marked, and the tool won't suggest it or write it.
Fix things where they are
Server files are edited in place: the script or data entry is changed in its own file, and no second copy is left running.
- Edit in writer opens any script in the writer. Settings the writer has no field for are kept exactly as written. Save script writes it back in place; only that section's lines change.
- Edit in text opens the whole script (the yaml file) as text and keeps every comment.
- Right-click a hint → Apply fix opens the lines that hint is about, highlighted, often with a one-click suggestion.
- Fix it appears only on scripts that use something that no longer works in EWP 1.65:
<amount>(now<pokecount>) andtype: damage/repair(nowstate, damage/state, repair). Older ways of writing that still work are left alone. - Data entries and value groups on the Data and Groups tabs are edited and saved in place the same way.
Every write is checked first: if EWP couldn't load the file afterwards, nothing is written and you're told why. Only that script's or entry's own lines are replaced, and the rest of the file stays exactly as it was. Edit in text and Fix it keep the script's own comments as well. The writer lays the script out in its own style. EWP reloads the file by itself.
Data, groups and saved keys
- Data entries: pick common keys (health, level, tamed, sign text, chest items...) and the type fills itself. Starters like "Tamed creature" or "Chest contents". "Used by" shows which scripts use an entry.
- Value groups: named lists like "bosses" that you can use as a prefab.
- Saved keys (
ewp_data.yaml): see what your scripts saved, which scripts write and read each key, and change or delete values safely.
Languages
English, French, Spanish, Portuguese and Vietnamese. The window follows the game's language, or the Language setting.
Every text is in an editable file, BepInEx/config/EWPForDummies/lang/<language>.cfg, with the English original above each line. If a translation reads wrong, fix it there. Your edits are kept: updates only add new lines at the end. A missing or broken line simply shows the English.
EWP's own words (setting names, triggers, functions, prefab names) stay in English everywhere, because that's how EWP reads them.
Install
Install on the server and on the admins' game. Players who are not admins don't need it. Made for Expand World Prefabs 1.65.0 and works on older versions too (see "Knows your server's EWP version" above).
Where new things are saved
A new section goes into the script you pick at the top (or a new script you name there). Data presets and new sections with no script picked go into the tool's own files on the server:
BepInEx/config/expand_world/expand_prefabs_EWPForDummies.yamlBepInEx/config/expand_world/expand_data_EWPForDummies.yaml
Settings
Open key(default Ctrl+F12).Language: Auto (the game's language), en, fr, es, pt or vi.- The window remembers its size, position and opacity. Drag the title bar to move it, and drag the corner of the window or any popup to resize it.
- The preview can be dragged by its title: drop it on the window's left, right or bottom edge to dock it, anywhere else to let it float.
- While the window is open, game keys (chat, map, inventory...) are blocked, and Esc closes it.
New in 0.2.0
- Scripts and sections: your yaml files are the scripts, their blocks are sections named by their
#comment. One Save writes the script. - Step by step, and only what fits: a new section opens one step at a time, and every list shows only what your object and trigger can really use.
- Drag the preview to dock it left, right or below, or let it float.
- Fixes: checking no longer fails on files with older forms (
type: damage,type: command...), so every script file shows again; no more error spam in the log after "Edit in writer"; game keys no longer go through while you type. Full details: see the changelog.
