You last visited: Today at 11:23
Advertisement
[RELEASE] Lua Editor
Discussion on [RELEASE] Lua Editor within the S4 League Hacks, Bots, Cheats & Exploits forum part of the S4 League category.
05/24/2025, 19:44
#91
elite*gold: 0
Join Date: Dec 2013
Posts: 53
Received Thanks: 1
Quote:
Originally Posted by
Kurayami1123
so if i understood it right the 10000 should be 60000 right? bc 1 min timer
Put 60000 otherwise u will get a disconnect.
i typed the other dude who talked like you but he knows nothing about programming
Works like a charm.
got something new for you
--게스트들에게 hostarg리셋을 요청한다.( 호스트는 직접 스크립트에�* Init() 호출해줘야 함! )
function LuaInitHostArg( ArcadeSystem, HostController )
HostController:InitHostArgCommand();
end
--아케이드 모드가 실행될때 총 스테이지를 정한다.
function LuaTotalStage( ArcadeSystem, HostController, u8TotalStage )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "TOTAL_STAGE", u8TotalStage );
HostController:RequestStageClear();
end
--스테이지를 클리어했을 때 호출
function LuaRequestStageClear( ArcadeSystem, HostController )
HostController:RequestStageClear();
end
--스테이지를 실패했을 때 호출
function LuaRequestStageFailed( ArcadeSystem, HostController )
HostController:RequestStageClear();
end
--스테이지 정보설정
function LuaSetStageInfo( ArcadeSystem, HostController, u32StageID, u32StageTime )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "STAGE_ID", u32StageID );
InputArg:PushLU32( "STAGE_TIME", u32StageTime );
HostController:SetStageInfo( InputArg );
end
--host, guest의 데이터를 동기�*시키는 함수, 방장 이전을 대비해�* 동기�*시켜준다.
function LuaSyncHostData( ArcadeSystem, HostController, strDataSetName )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "SYNC_HOST_DATA", strDataSetName );
HostController:SyncHostData( InputArg );
end
--AI액터의 킬 진행율을 보여준다!
function LuaKillProgressReg( ArcadeSystem, HostController, szAIActorName, u32TotalCount )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "KILLPROG_REG_TYPE", szAIActorName );
InputArg:PushLU32( "KILLPROG_TOT", u32TotalCount );
HostController:KillProgressReg( InputArg );
end
--AI액터의 킬 진행율을 없앤다.
function LuaKillProgressUnreg( ArcadeSystem, HostController, szAIActorName )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "KILLPROG_UNREG_TYPE", szAIActorName );
HostController:KillProgressUnreg( InputArg );
end
--AI 킬 진행율을 모두 없앤다.
function LuaKillProgressUnregAll( ArcadeSystem, HostController )
InputArg = ArcadeSystem:GetInputArg();
HostController:KillProgressUnregAll( InputArg );
end
--무비를 플레이해주는함수
function LuaMoviePlay( ArcadeSystem, HostController, u32MovieID )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "MOVIESYSTEM_ID",u32MovieID );
HostController:PlayMovie( InputArg );
end
--미션 아이디를 설정해주는 함수
function LuaChangeMissionID( ArcadeSystem, HostController, u32MissionID )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "MISSION_ID", u32MissionID );
HostController:ChangeMissionID( InputArg );
end
--미션 인포를 보여주는 함수
function LuaViewMissionInfo( ArcadeSystem, HostController, u32MissionID, fRed, fGreen, fBlue, fAlpha, u32LifeTime )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "MISSIONINFO_ID", u32MissionID );
InputArg:PushLFloat( "MISSIONINFO_R", fRed );
InputArg:PushLFloat( "MISSIONINFO_G", fGreen );
InputArg:PushLFloat( "MISSIONINFO_B", fBlue );
InputArg:PushLFloat( "MISSIONINFO_A", fAlpha );
InputArg:PushLU32( "MISSIONINFO_LIFETIME", u32LifeTime );
HostController:ViewMissionInfo( InputArg );
end
--bgm을 플레이해주는 함수
function LuaPlayBGM( ArcadeSystem, HostController, szBGM )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "BGM_FILE", szBGM );
HostController:PlayBGM( InputArg );
end
--bgm을 정지시키는 함수
function LuaStopBGM( ArcadeSystem, HostController )
InputArg = ArcadeSystem:GetInputArg();
HostController:StopBGM( InputArg );
end
--효과음을 플레이해주는 함수
function LuaPlaySFX( ArcadeSystem, HostController, szSFX )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "SFX_FILE", szSFX );
HostController:PlaySFX( InputArg );
end
--포그 속성을 변경해주는 함수
function LuaChangeFogProperty( ArcadeSystem, HostController, fFogMinDist, fFogMaxDist, fFogR, fFogG, fFogB )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLFloat( "FOG_MINDIST", fFogMinDist );
InputArg:PushLFloat( "FOG_MAXDIST", fFogMaxDist );
InputArg:PushLFloat( "FOG_R", fFogR );
InputArg:PushLFloat( "FOG_G", fFogG );
InputArg:PushLFloat( "FOG_B", fFogB );
HostController:ChangeFogProperty( InputArg );
end
--포그 속성을 원래대로 복원해주는 함수
function LuaRestoreFogProperty( ArcadeSystem, HostController )
InputArg = ArcadeSystem:GetInputArg();
HostController:RestoreFogProperty( InputArg );
end
--스카이박스를 숨길지를 설정해주는 함수.
function LuaShowSkyBox( ArcadeSystem, HostController, bShowSkyBox )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLBool( "SHOW", bShowSkyBox );
HostController:ShowSkyBox( InputArg );
end
--지정한 위치에 아이템을 스폰시킨다.
function LuaItemSpawn( ArcadeSystem, HostController, u32ItemID, bRandomShow, fPosX, fPosY, fPosZ, fDirX, fDirY, fDirZ )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "ITEM_ID", u32ItemID );
InputArg:PushLBool( "RANDOM_SHOW", bRandomShow );
InputArg:PushLFloat( "POS_X", fPosX );
InputArg:PushLFloat( "POS_Y", fPosY );
InputArg:PushLFloat( "POS_Z", fPosZ );
InputArg:PushLFloat( "DIR_X", fDirX );
InputArg:PushLFloat( "DIR_Y", fDirY );
InputArg:PushLFloat( "DIR_Z", fDirZ );
HostController:SpawnItem( InputArg );
end
--특정 노드에 아이템을 스폰시킨다.
function LuaItemSpawnByNode( ArcadeSystem, HostController, u32ItemID, bRandomShow, strSpawnNode )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "ITEM_ID", u32ItemID );
InputArg:PushLBool( "RANDOM_SHOW", bRandomShow );
InputArg:PushLStr( "SPAWN_NODE", strSpawnNode );
HostController:SpawnItembyNode( InputArg );
end
--AI액터의위치에 아이템을 스폰시킨다.
function LuaItemSpawnByAIActor( ArcadeSystem, HostController, u32ItemID, bRandomShow, pAIActor )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "ITEM_ID", u32ItemID );
InputArg:PushLBool( "RANDOM_SHOW", bRandomShow );
InputArg:PushLVoid( "AI_ACTOR", pAIActor );
HostController:SpawnItemByAIActor( InputArg );
end
--스폰된 아이템들을 모두 지운다.
function LuaRemoveAllItem( ArcadeSystem, HostController )
HostController:RemoveAllItem();
end
--특정노드에 player를 스폰시킨다.
function LuaPlayerSpawnByNode( ArcadeSystem, HostController, strSpawnNode )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "SPAWN_NODE", strSpawnNode );
HostController:PlayerSpawnByNode( InputArg );
end
--특정좌표에 ai를 소환한다.
function LuaSpawnAIActor( ArcadeSystem, HostController, strAITypeName, strActorTypeName, fPosX, fPosY, fPosZ, fDirX, fDirY, fDirZ )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "AI_TYPE", strAITypeName );
InputArg:PushLStr( "ACTOR_TYPE", strActorTypeName );
InputArg:PushLFloat( "POS_X", fPosX );
InputArg:PushLFloat( "POS_Y", fPosY );
InputArg:PushLFloat( "POS_Z", fPosZ );
InputArg:PushLFloat( "DIR_X", fDirX );
InputArg:PushLFloat( "DIR_Y", fDirY );
InputArg:PushLFloat( "DIR_Z", fDirZ );
HostController:SpawnAIActor( InputArg );
end
--특정노드에 ai를 소환한다.
function LuaSpawnAIActorByNode( ArcadeSystem, HostController, strAITypeName, strActorTypeName, strSpawnNode )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "AI_TYPE", strAITypeName );
InputArg:PushLStr( "ACTOR_TYPE", strActorTypeName );
InputArg:PushLStr( "SPAWN_NODE", strSpawnNode );
HostController:SpawnAIActorByNode( InputArg );
end
--특정액터의 위치에 ai를 소환한다.
function LuaSpawnAIActorByActorPos( ArcadeSystem, HostController, strAITypeName, strActorTypeName, pActor )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "AI_TYPE", strAITypeName );
InputArg:PushLStr( "ACTOR_TYPE", strActorTypeName );
InputArg:PushLVoid( "TARGET_ACTOR", pActor );
HostController:SpawnAIActorByActorPos( InputArg );
end
--해당 타입의 모든 ai를 없엔다.
function LuaRemoveAllAIActorByType( ArcadeSystem, HostController, strAITypeName )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLStr( "AI_TYPE", strAITypeName );
HostController:RemoveAllAIActorByType( InputArg );
end
--모든 ai를 없엔다.
function LuaRemoveAllAIActor( ArcadeSystem, HostController )
HostController:RemoveAllAIActor();
end
--지정한 액터를 공격
function Command_Attack( pAIActor, pTargetActor, szAttackType, bRotateToTarget, fAimOffset )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "ATTACK" );
Arg:SetActor( "TARGET_ACTOR", pTargetActor );
Arg:SetLStr( "ATTACK_TYPE", szAttackType );
Arg:SetLBool( "ROTATE_TO_TARGET", bRotateToTarget );
Arg:SetLFloat( "AIM_OFFSET", fAimOffset );
pAIActor:Command();
end
--지정한 위치로 이동하면�* 공격
function Command_MovingAttack_ToPos( pAIActor, u32CommandTime, pTargetActor, szAttackType, bRotateToTarget, fTargetPosX, fTargetPosY, fTargetPosZ, fOffsetPosX, fOffsetPosZ, fAimOffset )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "MOVINGATTACK_POS" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetActor( "TARGET_ACTOR", pTargetActor );
Arg:SetLStr( "ATTACK_TYPE", szAttackType );
Arg:SetLBool( "ROTATE_TO_TARGET", bRotateToTarget );
Arg:SetLFloat( "TARGETPOS_X", fTargetPosX );
Arg:SetLFloat( "TARGETPOS_Y", fTargetPosY );
Arg:SetLFloat( "TARGETPOS_Z", fTargetPosZ );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
Arg:SetLFloat( "AIM_OFFSET", fAimOffset );
pAIActor:Command();
end
--지정한 노드위치로 이동하면�* 공격
function Command_MovingAttack_ToNode( pAIActor, u32CommandTime, pTargetActor, szAttackType, bRotateToTarget, szNode, fOffsetPosX, fOffsetPosZ, fAimOffset )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "MOVINGATTACK_NODE" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetActor( "TARGET_ACTOR", pTargetActor );
Arg:SetLStr( "ATTACK_TYPE", szAttackType );
Arg:SetLBool( "ROTATE_TO_TARGET", bRotateToTarget );
Arg:SetLStr( "NODE_NAME", szNode );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
Arg:SetLFloat( "AIM_OFFSET", fAimOffset );
pAIActor:Command();
end
--지정한 액터를 향해 이동하면�* 공격
function Command_MovingAttack_ToActor( pAIActor, u32CommandTime, pTargetActor, szAttackType, bRotateToTarget, fOffsetPosX, fOffsetPosZ, fAimOffset )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "MOVINGATTACK_ACTOR" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetActor( "TARGET_ACTOR", pTargetActor );
Arg:SetLStr( "ATTACK_TYPE", szAttackType );
Arg:SetLBool( "ROTATE_TO_TARGET", bRotateToTarget );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
Arg:SetLFloat( "AIM_OFFSET", fAimOffset );
pAIActor:Command();
end
--지정한 액터 반대를 향해 이동하면�* 공격
function Command_BackMovingAttack_ToActor( pAIActor, u32CommandTime, pTargetActor, szAttackType, bRotateToTarget, fMoveDist, fOffsetPosX, fOffsetPosZ, fAimOffset )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "BACKMOVINGATTACK_ACTOR" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetActor( "TARGET_ACTOR", pTargetActor );
Arg:SetLStr( "ATTACK_TYPE", szAttackType );
Arg:SetLBool( "ROTATE_TO_TARGET", bRotateToTarget );
Arg:SetLFloat( "COMMON_VALUE_3", fMoveDist );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
Arg:SetLFloat( "AIM_OFFSET", fAimOffset );
pAIActor:Command();
end
--지정한 위치로 이동
function Command_Move_ToPos( pAIActor, u32CommandTime, fTargetPosX, fTargetPosY, fTargetPosZ, fOffsetPosX, fOffsetPosZ )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "MOVE_POS" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetLFloat( "TARGETPOS_X", fTargetPosX );
Arg:SetLFloat( "TARGETPOS_Y", fTargetPosY );
Arg:SetLFloat( "TARGETPOS_Z", fTargetPosZ );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
pAIActor:Command();
end
--지정한 노드위치로 이동
function Command_Move_ToNode( pAIActor, u32CommandTime, szNode, fOffsetPosX, fOffsetPosZ )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "MOVE_NODE" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetLStr( "NODE_NAME", szNode );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
pAIActor:Command();
end
--가까운 공격위치로 이동
function Command_Move_ToAttackArea( pAIActor, u32CommandTime,fOffsetPosX, fOffsetPosZ )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "MOVE_ATTACKAREA" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
pAIActor:Command();
end
--가까운 수비위치로 이동
function Command_Move_ToDefenseArea( pAIActor, u32CommandTime,fOffsetPosX, fOffsetPosZ )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "MOVE_DEFENSEAREA" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
pAIActor:Command();
end
--지정한 액터를 향해 이동
function Command_Move_ToActor( pAIActor, u32CommandTime, pTargetActor, fOffsetPosX, fOffsetPosZ )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "MOVE_ACTOR" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetActor( "TARGET_ACTOR", pTargetActor );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
pAIActor:Command();
end
--지정한 액터 반대를 향해 이동
function Command_BackMove_ToActor( pAIActor, u32CommandTime, pTargetActor, fMoveDist, fOffsetPosX, fOffsetPosZ )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "BACKMOVE_ACTOR" );
Arg:SetLU32( "COMMAND_TIME", u32CommandTime );
Arg:SetActor( "TARGET_ACTOR", pTargetActor );
Arg:SetLFloat( "COMMON_VALUE_3", fMoveDist );
Arg:SetLFloat( "COMMON_VALUE_1", fOffsetPosX );
Arg:SetLFloat( "COMMON_VALUE_2", fOffsetPosZ );
pAIActor:Command();
end
--지정한 노드로 순간 이동
function Command_Teleport_ToNode( pAIActor, szNode )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "TELEPORT_NODE" );
Arg:SetLStr( "NODE_NAME", szNode );
pAIActor:Command();
end
--현재 위치에�* 대기
function Command_Stop( pAIActor )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "STOP" );
pAIActor:Command();
end
--죽음
function Command_Death( pAIActor )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "DEATH" );
pAIActor:Command();
end
--회피
function Command_Dodge( pAIActor, bLeft )
fDodgeDirValue = 1;
if bLeft == false then
fDodgeDirValue = -1;
end
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "DODGE" );
Arg:SetLFloat( "COMMON_VALUE_1", fDodgeDirValue );
pAIActor:Command();
end
--지정한 액터를 정면으로 바라보고 회피
function Command_Dodge_ToActor( pAIActor, pTargetActor, bLeft )
fDodgeDirValue = 1;
if bLeft == false then
fDodgeDirValue = -1;
end
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "DODGE_ACTOR" );
Arg:SetActor( "TARGET_ACTOR", pTargetActor );
Arg:SetLFloat( "COMMON_VALUE_1", fDodgeDirValue );
pAIActor:Command();
end
--지정한 액터에게 바인드스킬을 사용
function Command_SkillBind( pAIActor, pTargetActor, fAimOffset )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "SKILL_BIND" );
Arg:SetActor( "TARGET_ACTOR", pTargetActor );
Arg:SetLFloat( "AIM_OFFSET", fAimOffset );
pAIActor:Command();
end
--투명�*스킬 온오프
function Command_SkillInvisible( pAIActor, bOnOff )
fOnOffValue = 1;
if bOnOff == false then
fOnOffValue = -1;
end
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "SKILL_INVISIBLE" );
Arg:SetLFloat( "COMMON_VALUE_1", fOnOffValue );
pAIActor:Command();
end
--AI의 HP를 변경
function Command_ChangeHP( pAIActor, fHPRate )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "CHANGE_HP" );
Arg:SetLFloat( "COMMON_VALUE_1", fHPRate );
pAIActor:Command();
end
video:
that is somehow what i want to archieve...
Quote:
Originally Posted by
Feuerdrachenzauber
If anyone need(Only for stage 8)
05/24/2025, 19:48
#92
elite*gold: 0
Join Date: Mar 2019
Posts: 182
Received Thanks: 28
Quote:
Originally Posted by
Kurayami1123
spy dagger cannonade was easy but thise one is rip.
or better said spy dagger right click dps ok but aoe range in horizontal isnt big enough
[/SPOILER]
Then write your own spy dagger lua script instead of download here everything?
05/24/2025, 19:59
#93
elite*gold: 0
Join Date: Dec 2013
Posts: 53
Received Thanks: 1
Quote:
Originally Posted by
Feuerdrachenzauber
Then write your own spy dagger lua script instead of download here everything?
? its my own fixed ur right click but not perfect
btw its a data in an public forum.
05/24/2025, 20:23
#94
elite*gold: 0
Join Date: Mar 2019
Posts: 182
Received Thanks: 28
Quote:
Originally Posted by
Kurayami1123
? its my own fixed ur right click but not perfect
btw its a data in an public forum.
I mean the other part: "but aoe range in horizontal
isnt big enough "
Its sounds like my edit on the script is bad
05/24/2025, 20:28
#95
elite*gold: 0
Join Date: Dec 2013
Posts: 53
Received Thanks: 1
Quote:
Originally Posted by
JearsHD
im really wondering what you are acting so cocky for, after you been the one that asked 1000 questions and didnt even get the simplest thing to run. dont act like you know shit
yo toxif fuck shut ur mouth when u listen my words ok?
Quote:
Originally Posted by
Feuerdrachenzauber
I mean the other part: "but aoe range in horizontal isnt big enough "
Its sounds like my edit on the script is bad
nono there are 2 cannonade luas in the first pages.
1 was with a lil delay that didnt work well the other one was without delai dps auto hit and co. i tried to edit the range from the bubble " hit scan " so i can hit enemies like around a corner.
sames goes for the 1min thing.
its stressfull tonot afk it so im looking for a way to decrease the mob spawn or delete the mobs.
god mode would be good aswell or so
the funny part is even when the time is over u cant finish the mission with ths creen without a quick relouad like a kill or so...
in the video i posted before u can see it from the lobby.
lobby-loads ingame- finish screen
in short lobby- ingame-evenemy spawn-instant dead-finish screen...
05/25/2025, 01:20
#96
elite*gold: 0
Join Date: Jul 2011
Posts: 333
Received Thanks: 1,203
Quote:
Originally Posted by
Kurayami1123
atm tryng it with arcade but cant get it to work found some old stuff but that doesnt work aswell.
-------------------------------------------------------------------------------------------------------------------
-- 스테이지1의 진행과 관련된 내용이 담겨있는 함수
-------------------------------------------------------------------------------------------------------------------
function Stage01()
Arcade:Print( string.format( "스테이지1 실행" ) );
-- 테스트코드
u32TRobotA = HostArg:GetLU32( "TR_A01" );
Arcade:Print( string.format( "로봇A=%d", u32TRobotA ) );
if u32PhaseCheck == 0 then
-- 중간결과 요청
LuaRequestStageClear( Arcade, Host );
-- 페이즈15됨
PhaseAdd();
end
end
cleared it a lil bit
-- Function that handles the execution and logic for Stage 1
function Stage01()
-- Print message indicating Stage 1 has started
Arcade:Print(string.format("Stage 1 started"))
-- Retrieve the value for Robot A from the host arguments
u32TRobotA = HostArg:GetLU32("TR_A01")
Arcade:Print(string.format("Robot A = %d", u32TRobotA))
-- Check if this is the first phase
if u32PhaseCheck == 0 then
-- Request to mark the stage as cleared
LuaRequestStageClear(Arcade, Host)
-- Advance to the next phase
PhaseAdd()
end
end
05/25/2025, 04:12
#97
elite*gold: 0
Join Date: Mar 2019
Posts: 182
Received Thanks: 28
Anyone know why my edit doesnt work? I would remove the Dmg from the revolver and add Heal
function StandardRevolver(OneShotTime, Power, Accuracy, AdditionalPower)
STATE:SetFrontOffset(275);
STATE:InitLua(260.0, 40.0, -40.0, 250.0, 800, 650);
Attack1 = CreateCAttack();
Attack1:InitAttack1(WEAPONTYPE_REVOLVER, ATTACKATTRIB_REVOLVER, 150, 0, 0);
Attack1:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0, 0.02, -1), RayDistanceLimit), 1, 1, false);
Attack1:SetDamageApplyType(3);
Attack1:SetDistanceDamageLength(3000);
Attack1:SetCollisionRangeAdjust(false, false);
Attack1:SetCritical(2.5, 0);
Attack1:SetConsumeAmmo(1);
Attack1:SetCameraShakeEnable(true, true, 0);
Attack1:AddPushCondition(100, 1700.0, -5000.0); --(200,2000,-5000)
Attack1:SetCameraShakeSetFactor1(50, 25, 20);
Attack1:SetCameraShakeSetFactor2(1.0, 1.0, 1000.0, 1500.0);
Attack1:SetCameraShakeRandomDir(true);
Attack1:SetHealingHP(20, 30);
AddAttack(ATTACKS, Attack1);
Attack2 = CreateCAttack();
Attack2:InitAttack1(WEAPONTYPE_REVOLVER, ATTACKATTRIB_REVOLVER, 150, 0, 0);
Attack2:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0, -0.5 * Accuracy, -1), RayDistanceLimit), 1, 1, false);
Attack2:SetDamageApplyType(3);
Attack2:SetDistanceDamageLength(3000);
Attack2:SetCollisionRangeAdjust(false, false);
Attack2:SetCritical(2.5, 0);
Attack2:AddPushCondition(100, 1700.0, -5000.0); --(200,2000,-5000)
Attack2:SetHealingHP(20, 30);
AddAttack(ATTACKS, Attack2);
Attack3 = CreateCAttack();
Attack3:InitAttack1(WEAPONTYPE_REVOLVER, ATTACKATTRIB_REVOLVER, 150, 0, 0);
Attack3:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0.5 * Accuracy, 0.5 * Accuracy, -1), RayDistanceLimit), 1, 1, false);
Attack3:SetDamageApplyType(3);
Attack3:SetDistanceDamageLength(3000);
Attack3:SetCollisionRangeAdjust(false, false);
Attack3:SetCritical(2.5, 0);
Attack3:AddPushCondition(100, 1700.0, -5000.0); --(200,2000,-5000)
Attack3:SetHealingHP(20, 30);
AddAttack(ATTACKS, Attack3);
Attack4 = CreateCAttack();
Attack4:InitAttack1(WEAPONTYPE_REVOLVER, ATTACKATTRIB_REVOLVER, 150, 0, 0);
Attack4:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(-0.5 * Accuracy, 0.5 * Accuracy, -1), RayDistanceLimit), 1, 1, false);
Attack4:SetCollisionRangeAdjust(false, false);
Attack4:SetCritical(2.5, 0);
Attack4:AddPushCondition(100, 1700.0, -5000.0); --(200,2000,-5000)
Attack4:SetHealingHP(20, 30);
AddAttack(ATTACKS, Attack4);
end
05/25/2025, 08:50
#98
elite*gold: 0
Join Date: Dec 2013
Posts: 53
Received Thanks: 1
Quote:
Originally Posted by
Silone1993
cleared it a lil bit
-- Function that handles the execution and logic for Stage 1
function Stage01()
-- Print message indicating Stage 1 has started
Arcade:Print(string.format("Stage 1 started"))
-- Retrieve the value for Robot A from the host arguments
u32TRobotA = HostArg:GetLU32("TR_A01")
Arcade:Print(string.format("Robot A = %d", u32TRobotA))
-- Check if this is the first phase
if u32PhaseCheck == 0 then
-- Request to mark the stage as cleared
LuaRequestStageClear(Arcade, Host)
-- Advance to the next phase
PhaseAdd()
end
end
like this?
Quote:
function Stage01()
--Arcade:Print( string.format( "��������1 ����" ) );
-- ��Ʈ�ڵ�
u32TRobotA = HostArg:GetLU32( "TR_A01" );
Arcade:Print( string.format( "�κ�A=%d", u32TRobotA ) );
if (u32AccumulateTime > 60000) then
u32PhaseCheck = 3;
LuaRequestStageClear( Arcade, Host );
PhaseAdd();
end
end
"didnt work like this freeze"
or without (u32AccumulateTime > 60000) thenbc there is also DELTA_TIME
Quote:
LuaRemoveAllAIActorByType( Arcade, Host, "TypeTRA" );
LuaRemoveAllAIActorByType( Arcade, Host, "TypeTRB" );
doesnt work aswell bc the mob hp is not 0
i mean the mob doesnt despawn bc the hp is not 0 so the lines
LuaRemoveAllAIActorByType( Arcade, Host, "TypeTRA" );
LuaRemoveAllAIActorByType( Arcade, Host, "TypeTRB" );
had no effect besides some rndm lags.
my logic:
player shoots with weapon to kill the monster.
whats is the monster hp?
100 i guess.
so somewhere should be the hp from the mob.
100 = 0
LuaRemoveAllAIActorByType( Arcade, Host, "TypeTRA" );
LuaRemoveAllAIActorByType( Arcade, Host, "TypeTRB" );
game finish
for other mode i guess it look like this:
function RemoveMonster( monster )
if true == missionChecked then
return;
end
PhaseKillCount = PhaseKillCount + 1;
if PhaseGoalCount == PhaseKillCount then
PhaseGoalCount = 0;
PhaseKillCount = 0;
local accumKillCount = RULE:GetAccumKillCount();
local missionMonsterCount = ruleArg:GetLU32( "MissionMonsterCount" ); -- �ִ� ������ ������ �������.
if missionMonsterCount ~= accumKillCount then
if u32PhaseCheck == 1 then
isKnightSpawn = true;
PhaseGoalCount = 1;
PhaseGoto( 2 );
elseif u32PhaseCheck == 2 then
PhaseGoalCount = math.min(79, missionMonsterCount - accumKillCount );
isKnightSpawn = false;
PhaseGoto( 1 );
end
end
end
or maybe we find: actorHP bc
--[[
if missionMonsterCount == accumKillCount then
-- ���Ӽ���
RULE:MissionSuccess();
missionChecked = true;
return;
end
--]]
--[[
local actorHP = RULE:GetMyActorHP();
if 0 >= actorHP then
-- ���ӽ���
RULE:MissionFail();
missionChecked = true;
return;
end
--]]
and then change the rule to win
or for the monster hp we could edit:
function TypeTRA_Big_Init()
TEAM_ALPHA = 1;
TEAM_BETA = 2;
AIActor:SetTeamByID( TEAM_BETA );
AIActor:SetBaseMoveSpeedMax( 500.0 );
AIActor:SetBaseHP( 200 );
AIActor:SetOrigBoundWidth( 200 );
AIActor:SetOrigBoundHeight( 320 );
AIActor:SetScale( 1.2, 1.2, 1.2 );
AIActor:SetSceneFileName( "Resources/Model/Monster/jaco_strong_bip.scn" );
AIActor:RegisterDamageSound( "Resources/Sound/Acade/robotAdamage.ogg" );
AIActor:SetUsingLowerPart( false );
AIActor:SetBoundingVolume( 100.0 );
-- ���ε� ����
AIActor:SetApplyBind( false );
end
like hp 0 for a death spawn
AIActor:SetBaseHP( 0 );
or maybe bound it to the spawn location with:
AIActor:SetApplyBind( false )
or take the time from the monster like:
AIActor:SetBaseMoveSpeedMax( 500.0 );
to
AIActor:SetBaseMoveSpeedMax( 5.0 );
or the dps:
StateFactory:AddTRA_Attacks( state, 800, 5.0, 500.0 );
StateFactory:AddTRA_Attacks( state, 800, 5.0, 0.0 );
(state,range,cooldown,dps)
or
StateFactory:AddTRB_Attack2_Attacks( state, 300, 450, 600, 15.0, 500.0 );
05/25/2025, 09:15
#99
elite*gold: 0
Join Date: Nov 2021
Posts: 21
Received Thanks: 7
Quote:
Originally Posted by
Feuerdrachenzauber
Anyone know why my edit doesnt work? I would remove the Dmg from the revolver and add Heal
function StandardRevolver(OneShotTime, Power, Accuracy, AdditionalPower)
STATE:SetFrontOffset(275);
STATE:InitLua(260.0, 40.0, -40.0, 250.0, 800, 650);
Attack1 = CreateCAttack();
Attack1:InitAttack1(WEAPONTYPE_REVOLVER, ATTACKATTRIB_REVOLVER, 150, 0, 0);
Attack1:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0, 0.02, -1), RayDistanceLimit), 1, 1, false);
Attack1:SetDamageApplyType(3);
Attack1:SetDistanceDamageLength(3000);
Attack1:SetCollisionRangeAdjust(false, false);
Attack1:SetCritical(2.5, 0);
Attack1:SetConsumeAmmo(1);
Attack1:SetCameraShakeEnable(true, true, 0);
Attack1:AddPushCondition(100, 1700.0, -5000.0); --(200,2000,-5000)
Attack1:SetCameraShakeSetFactor1(50, 25, 20);
Attack1:SetCameraShakeSetFactor2(1.0, 1.0, 1000.0, 1500.0);
Attack1:SetCameraShakeRandomDir(true);
Attack1:SetHealingHP(20, 30);
AddAttack(ATTACKS, Attack1);
Attack2 = CreateCAttack();
Attack2:InitAttack1(WEAPONTYPE_REVOLVER, ATTACKATTRIB_REVOLVER, 150, 0, 0);
Attack2:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0, -0.5 * Accuracy, -1), RayDistanceLimit), 1, 1, false);
Attack2:SetDamageApplyType(3);
Attack2:SetDistanceDamageLength(3000);
Attack2:SetCollisionRangeAdjust(false, false);
Attack2:SetCritical(2.5, 0);
Attack2:AddPushCondition(100, 1700.0, -5000.0); --(200,2000,-5000)
Attack2:SetHealingHP(20, 30);
AddAttack(ATTACKS, Attack2);
Attack3 = CreateCAttack();
Attack3:InitAttack1(WEAPONTYPE_REVOLVER, ATTACKATTRIB_REVOLVER, 150, 0, 0);
Attack3:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(0.5 * Accuracy, 0.5 * Accuracy, -1), RayDistanceLimit), 1, 1, false);
Attack3:SetDamageApplyType(3);
Attack3:SetDistanceDamageLength(3000);
Attack3:SetCollisionRangeAdjust(false, false);
Attack3:SetCritical(2.5, 0);
Attack3:AddPushCondition(100, 1700.0, -5000.0); --(200,2000,-5000)
Attack3:SetHealingHP(20, 30);
AddAttack(ATTACKS, Attack3);
Attack4 = CreateCAttack();
Attack4:InitAttack1(WEAPONTYPE_REVOLVER, ATTACKATTRIB_REVOLVER, 150, 0, 0);
Attack4:InitAttack2(MAKERAY(MAKEVECTOR3(0, 0, 0), MAKEVECTOR3(-0.5 * Accuracy, 0.5 * Accuracy, -1), RayDistanceLimit), 1, 1, false);
Attack4:SetCollisionRangeAdjust(false, false);
Attack4:SetCritical(2.5, 0);
Attack4:AddPushCondition(100, 1700.0, -5000.0); --(200,2000,-5000)
Attack4:SetHealingHP(20, 30);
AddAttack(ATTACKS, Attack4);
end
You can't use just mind energy's "SetHealingHP" like that.
I tried using Mind Shock's damage like that and it just break the weapon.
Everything using "STATE:" usually break weapon not made for it.
05/25/2025, 12:47
#100
elite*gold: 0
Join Date: Dec 2013
Posts: 53
Received Thanks: 1
does someone have an ID List? or does someone know how i can get a new one?
like that:
first one are smg second katana, mind schock,cs
female
TypeA_CostumeSetting()
SetCostume( 1000002, 3 );
SetCostume( 1010001, 0 );
SetCostume( 1021040, 0 );
SetCostume( 1031040, 0 );
SetCostume( 1041040, 0 );
SetCostume( 1051040, 0 );
SetCostume( 1061040, 0 );
SetCostume( 1, 6, 10 );
SetCostume( 1001041, 1 );
SetCostume( 1010009, 0 );
SetCostume( 1021041, 1 );
SetCostume( 1031041, 1 );
SetCostume( 1041041, 1 );
SetCostume( 1051041, 1 );
SetCostume( 1060000, 0 );
male
SetCostume( 1000002, 3 );
SetCostume( 1010001, 0 );
SetCostume( 1021040, 1 );
SetCostume( 1031040, 1 );
SetCostume( 1041040, 1 );
SetCostume( 1051040, 1 );
SetCostume( 1061040, 1 );
SetCostume( 1001042, 0 );
SetCostume( 1010004, 0 );
SetCostume( 1021042, 0 );
SetCostume( 1031042, 0 );
SetCostume( 1041042, 0 );
SetCostume( 1051042, 0 );
dunno
SetCostume( 1001039, 0 );
SetCostume( 1010001, 0 );
SetCostume( 1021039, 0 );
SetCostume( 1031039, 0 );
SetCostume( 1041039, 0 );
SetCostume( 1051039, 0 );
monk
SetCostume( 1000019, 0 );
SetCostume( 1010022, 0 );
SetCostume( 1020041, 0 );
SetCostume( 1030039, 0 );
SetCostume( 1040001, 0 );
SetCostume( 1050001, 0 );
TargetActor = Util:GetActorByMinDist( true, AIActor, 10000, 30000, false, true );
enemy player as enemie " true,false",bot,distance 10-30000,dead player ignore,line of sight
edit2:
i can alrdy afk stage 1 working on the other ones atm.
the problem atm is i cant change the weapon dps just the aim from the bot.
Quote:
Originally Posted by
carbuc
You can't use just mind energy's "SetHealingHP" like that.
I tried using Mind Shock's damage like that and it just break the weapon.
Everything using "STATE:" usually break weapon not made for it.
state:InitMindEnergyAIActorState( 800, 700, true, LIMITEDTAGET_ENEMY, ATTACKATTRIB_MINDSTORM_ATTACK1 );
function TypeMindShock_AddAttackRunLowerState( state )
local lowerState = StateFactory:GetRunAILowerState();
state:AddLowerState( ALSTATE_RUN, lowerState );
lowerState:InitRunAILowerState( true );
lowerState:SetNextStateID( ALINPUT_NORMAL, ALSTATE_NORMAL );
lowerState:SetNextStateID( ALINPUT_JUMP, ALSTATE_JUMP );
HP Stuff:
function ChangeHp()
function Command_ChangeHP( pAIActor, fHPRate )
Arg = pAIActor:GetArg();
Arg:SetLStr( "COMMAND", "CHANGE_HP" );
Arg:SetLFloat( "COMMON_VALUE_1", fHPRate );
pAIActor:Command();
end
Stage:
function LuaSetStageInfo( ArcadeSystem, HostController, u32StageID, u32StageTime )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "STAGE_ID", u32StageID );
InputArg:PushLU32( "STAGE_TIME", u32StageTime );
HostController:SetStageInfo( InputArg );
end
function LuaTotalStage( ArcadeSystem, HostController, u8TotalStage )
InputArg = ArcadeSystem:GetInputArg();
InputArg:PushLU32( "TOTAL_STAGE", u8TotalStage );
HostController:SetTotalStage( InputArg );
end
05/25/2025, 13:40
#101
elite*gold: 0
Join Date: Apr 2025
Posts: 34
Received Thanks: 16
Quote:
Originally Posted by
Kurayami1123
does someone have an ID List? or does someone know how i can get a new one?
like this?
05/25/2025, 14:01
#102
elite*gold: 0
Join Date: Dec 2013
Posts: 53
Received Thanks: 1
Quote:
Originally Posted by
NocturneCheats
like this?
yes that is what did on my old acc
atm work in progress
cleared stage afk:1,5,7,8
semi afk: 4
still working on: 2,3,6
Update:
got all afk gonna share it later.
its not perfect but ok for now i guess.
stag:4 and 6 and 7 are afkable but not like i want them to...
they are still moving, dealing dmg.
The perfect one would have an auto kill function.
or instant clear.
Update: All afk - ArcadeF�rDumme.rar
05/25/2025, 17:15
#103
elite*gold: 0
Join Date: Mar 2011
Posts: 213
Received Thanks: 65
is it possible to change achievement mission rewards with a script? or make it easy like just 1 kill or somethig
Quote:
Originally Posted by
Kurayami1123
yes that is what did on my old acc
atm work in progress
cleared stage afk:1,5,7,8
semi afk: 4
still working on: 2,3,6
Update:
got all afk gonna share it later.
its not perfect but ok for now i guess.
stag:4 and 6 and 7 are afkable but not like i want them to...
they are still moving, dealing dmg.
The perfect one would have an auto kill function.
or instant clear.
Update: All afk - ArcadeF�rDumme.rar
Its not working
05/26/2025, 02:16
#104
elite*gold: 0
Join Date: Dec 2016
Posts: 7
Received Thanks: 3
When I try to inject LuaEditor.dll into Client_Release.exe, I get this error message:
"An error occurred while injecting 'LuaEditor.dll' into 'Client_Release.exe'.
System.UnauthorizedAccessException: Unable to open the specified process for injection."
I've already run both the injector and the game as administrator, and I made sure no antivirus is blocking it.
Still, the error keeps popping up every time I inject.
05/26/2025, 11:27
#105
elite*gold: 18
Join Date: Aug 2014
Posts: 85
Received Thanks: 76
Quote:
Originally Posted by
sorakimera
When I try to inject LuaEditor.dll into Client_Release.exe, I get this error message:
"An error occurred while injecting 'LuaEditor.dll' into 'Client_Release.exe'.
System.UnauthorizedAccessException: Unable to open the specified process for injection."
I've already run both the injector and the game as administrator, and I made sure no antivirus is blocking it.
Still, the error keeps popping up every time I inject.
Inject on start up
Similar Threads
[Release]Simple Lua Editor[Tool]
05/20/2024 - Elsword - 40 Replies
Hi guys! I have writed a simple tool in vb.net for edit .lua files, have 2 decryptions/encryptions working perfect, and open and save the files well :P
http://i.epvpimg.com/THNDf.png
Download: ElswordLuaEditor
[Selling] ✅ MWII/WZ2.0 AIO✅ CAMO EDITOR✅ 240 FOV✅ PLAYER CHAMS✅ CLAN TAG EDITOR✅ PERK EDITOR✅
12/13/2022 - Call of Duty Trading - 0 Replies
https://sellproduction.s3.eu-west-2.amazonaws.com/ store/3364/listings/bxy3u7qLIACDCaM64ih2KIEas0y2sR MhlUvr820i.gif
AIO Features:
CHAMS (PLAYER OUTLINES LIKE E$P)
FOV Changer
Class Name Editor (Colors & Symbols)
[Request] DB Editor / Client Editor / PK2 Editor.
08/30/2013 - SRO Private Server - 3 Replies
Would like to make some Updates on the Server and need some peoples to make em. - Add me on Skype : Saint.sinner8 ( will be rewarded )
All times are GMT +2. The time now is 11:24 .