Closed armoha closed 1 year ago
:: Example euddraft config file (.eds/edd) [chatEvent] __addr__: addr __patternAddr__: patternAddr __ptrAddr__: ptrAddr __lenAddr__: lenAddr @판매: 11 @테란다판다: 12 @저그다판다: 13 @토스다판다: 14 ^@홀짝 .*.*$: 11 ^@용 .*.*$: 101 ^@신화 마린 .*.*$: 102 ^@전설 마린 .*.*$: 103 ^@보물 마린 .*.*$: 104 ^@영웅 마린 .*.*$: 105 ^@희귀 마린 .*.*$: 106 ^@고급 마린 .*.*$: 107 ^@일반 마린 .*.*$: 108 ^@신화 히드라 .*.*$: 109 ^@전설 히드라 .*.*$: 110 ^@보물 히드라 .*.*$: 111 ^@영웅 히드라 .*.*$: 112 ^@희귀 히드라 .*.*$: 113 ^@고급 히드라 .*.*$: 114 ^@일반 히드라 .*.*$: 115 ^@신화 드라군 .*.*$: 116 ^@전설 드라군 .*.*$: 117 ^@보물 드라군 .*.*$: 118 ^@영웅 드라군 .*.*$: 119 ^@희귀 드라군 .*.*$: 120 ^@고급 드라군 .*.*$: 121 ^@일반 드라군 .*.*$: 122 ^@라운드 .*.*$: 123 ^@미네랄 .*.*$: 124 ^@가스 .*.*$: 125 ^@상평통보 .*.*$: 126 ^@테란 업글 .*.*$: 127 ^@저그 업글 .*.*$: 128 ^@플토 업글 .*.*$: 129 @P1: 101 @P2: 102 @P3: 103 @P4: 104 @플1: 101 @플2: 102 @플3: 103 @플4: 104 @리셋: 105 @초기화: 106 @5배속: 107 [test.eps]
// Example epScript code var addr, patternAddr, ptrAddr, lenAddr; function onPluginStart() { EUDRegisterObjectToNamespace("addr", addr); EUDRegisterObjectToNamespace("patternAddr", patternAddr); EUDRegisterObjectToNamespace("ptrAddr", ptrAddr); EUDRegisterObjectToNamespace("lenAddr", lenAddr); } function chat() { SetResources(AllPlayers, Add, 1, Ore); if (!(addr >= 1)) return; SetResources(AllPlayers, Add, 1, Gas); const chatDict = py_eval('{\ "@판매": 11,\ "@테란다판다": 12,\ "@저그다판다": 13,\ "@토스다판다": 14,\ "@P1": 101,\ "@P2": 102,\ "@P3": 103,\ "@P4": 104,\ "@리셋": 105,\ "@초기화": 106,\ "@5배속": 107,\ }'); // "@플1": 101,\ // "@플2": 102,\ // "@플3": 103,\ // "@플4": 104,\ setcurpl(getuserplayerid()); if (addr >= 2) { EUDSwitch(addr); foreach(chat, id : chatDict.items()) { EUDSwitchCase()(id); println("\x07채팅 인식: \x04'{}' (id: {})", chat, id); break; } EUDSwitchDefault()(); println("\x08버그: \x04유효하지 않은 값 ({})", addr); EUDEndSwitch(); return; } const patternDict = py_eval('{\ "@홀짝 ": 11,\ "@용 ": 101,\ "@신화 마린 ": 102,\ "@전설 마린 ": 103,\ "@보물 마린 ": 104,\ "@영웅 마린 ": 105,\ "@희귀 마린 ": 106,\ "@고급 마린 ": 107,\ "@일반 마린 ": 108,\ "@신화 히드라 ": 109,\ "@전설 히드라 ": 110,\ "@보물 히드라 ": 111,\ "@영웅 히드라 ": 112,\ "@희귀 히드라 ": 113,\ "@고급 히드라 ": 114,\ "@일반 히드라 ": 115,\ "@신화 드라군 ": 116,\ "@전설 드라군 ": 117,\ "@보물 드라군 ": 118,\ "@영웅 드라군 ": 119,\ "@희귀 드라군 ": 120,\ "@고급 드라군 ": 121,\ "@일반 드라군 ": 122,\ "@라운드 ": 123,\ "@미네랄 ": 124,\ "@가스 ": 125,\ "@상평통보 ": 126,\ "@테란 업글 ": 127,\ "@저그 업글 ": 128,\ "@플토 업글 ": 129,\ }'); var commandLength; const patternDebug = StringBuffer(); patternDebug.insert(0); EUDSwitch(patternAddr); EUDSwitchCase()(0); DisplayText("\x05아무 채팅/패턴에도 속하지 않음"); return; foreach(pattern, id : patternDict.items()) { EUDSwitchCase()(id); patternDebug.appendf("\x07패턴 인식: \x04'{}' (id: {}) ", pattern, id); commandLength = py_len(u2utf8(pattern)); break; } EUDSwitchDefault()(); println("\x08버그: \x04유효하지 않은 패턴 ({})", patternAddr); return; EUDEndSwitch(); const number, digit = parse(ptrAddr + commandLength); if (digit == 0) { patternDebug.append("\x08명령어 오류: 숫자가 아님"); } else { patternDebug.appendf("{} ({}자리)", number, digit); } patternDebug.Display(); } function afterTriggerExec() { chat(); }