Staredit Network > Forums > SC1 UMS Theory and Ideas > Topic: My recent EUD tools - epScript
My recent EUD tools - epScript
Dec 12 2016, 12:54 am
By: trgk  

Dec 12 2016, 12:54 am trgk Post #1



epScript - Script language for eud

Example code:


import stages.py_timeline;

import stages.pattern01;
import stages.pattern02;
import stages.pattern02_var;
import stages.pattern03;

import player.lifesys as lSys;

const stagesFuncs = [
pattern02.funcs, // Basic tutorial
pattern02_var.funcs, // Basic tutorial 2
pattern01.funcs, // Thing
pattern03.funcs,
0
];

////////////////////////////////

var currentStage = 0;
const currentStageProc = EUDFuncPtr(0, 0)();
var isGameCompleted = 0;

function nextStage() {
if(isGameCompleted) return;
const stageFuncs = stagesFuncs[currentStage];
currentStage++;
if(stageFuncs == 0) {
isGameCompleted = 1;
return;
}

KillUnit('(any unit)', Force2);
RemoveUnit('Avoider', Force1);
lSys.createPlayers();

const stageFunc2 = EUDArray(stageFuncs);
const stageName, stageStarter, stageProc =
DBString(stageFunc2[0]),
EUDFuncPtr(0, 0)(stageFunc2[1]),
EUDFuncPtr(0, 0)(stageFunc2[2]);

SetCurrentPlayer(getuserplayerid());

const buffer = DBString(50);
const k1 = dbstr_print(buffer, "\x0F#", currentStage, ". \x04");
dbstr_addstr(k1, stageName.GetStringMemoryAddr());
DoActions(buffer.GetDisplayAction());
EUDFuncPtr(0, 0)(stageStarter)();
currentStageProc.setFunc(stageProc);
}

function gameCompleteProc();

function runStageProc() {
// Staging
if(currentStage == 0 || Bring(Force1, AtLeast, 1, 'Avoider', 'stageEnd')) {
nextStage();
}
if(isGameCompleted) {
gameCompleteProc();
return;
}
(currentStageProc)();
}

function gameCompleteProc() {

}


epScript compiles your javascript-like code to python code.
Python code can be compiled to starcraft triggers using eudplib.


Just some recent news. I'm encountering numerous bugs to catch day by day, so this is something very far from release.

Of course all of my tools require EUDA + 1.16.1 version of starcraft.

Repo here



EUD

Dec 14 2016, 8:34 pm Wormer Post #2



So, is it an example of code resulting from from epScript to feed for eudplib?



Some.

Jan 6 2017, 3:33 pm trgk Post #3



It is the code being fed to epScript.
epScript then outputs something like this

Collapsable Box


Resulting python code is then fed to eudplib to generate triggers.



EUD

Jan 20 2017, 8:05 am verssuss Post #4



how can i got this eudeditor 2
http://cafe.naver.com/edac.cafe?iframe_url=/ArticleRead.nhn%3Fclubid=17046257%26page=1%26menuid=223%26boardtype=L%26articleid=49215%26referrerAllArticles=false



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[2026-7-31. : 4:32 pm]
lil-Inferno -- "I think they doubled these limits. (not dimensions)" -NudeRaider
[2026-7-30. : 7:12 am]
NudeRaider -- cwinowich
cwinowich shouted: guys does anyone know, what is the max unit limit on extended now ?
don't quote me on it, but I think they doubled these limits. (not dimensions)
[2026-7-30. : 7:10 am]
NudeRaider -- Ultraviolet
Ultraviolet shouted: these guys may as well be pissing in the wind
sounds liberating
[2026-7-30. : 4:43 am]
cwinowich -- i cant quite remember, and cant find it anywhere, 2400 or something? idk
[2026-7-30. : 4:43 am]
cwinowich -- guys does anyone know, what is the max unit limit on extended now ?
[2026-7-30. : 2:47 am]
Ultraviolet -- these guys may as well be pissing in the wind
[2026-7-29. : 12:59 pm]
Vrael -- 1
[2026-7-29. : 10:32 am]
NudeRaider -- too much text. i cant tell which one yuo want removed. tell me 1, 2 or 3 for the one you want to keep.
[2026-7-29. : 3:16 am]
Symmetry -- that is a serious crime
[2026-7-29. : 3:11 am]
O)FaRTy1billion[MM] -- right to jail
Please log in to shout.


Members Online: Symmetry, RIVE, jun3hong