RPG2K [연구] 신개념 액알, 노가다를 최소한으로?
2007.01.29 11:26
아아.. 방금 감을 되찾기 위해
2k를 켜서 메뉴를 훝어보다가 엄청난것을 발견했습니다(..)
그나저나 제 글은 항상 길어지는군요.. ㅡㅡ;
스크롤 압박이 좀 심합니다
쓴 성의를 생각해서라도 추천 한방 정도 ㄱㄱㅅ
보통 액알을 만들때는 시스템이 복잡해질수록
적 하나를 추가하는데 필요한 노가다가 많아집니다..
저도 뼈저리게 느껴봤죠 ㅜㅜ
이 글은 전체적으로 액알의 수준을 높이면서도 그런 노가다를 최소한으로 할수있는 획기적인 방법이라 생각합니다
우리가 거의 쓰지않고있던 메뉴가 있습니다 (설마 나만?)
적어도 지금까지 제가 봤던 액알 관련 글에서는 찾아보지 못했군요....
"지정위치의 이벤트 ID 취득" 이라는 메뉴
바로 X,Y 좌표에 있는 이벤트가 뭐냐! 하는것입니다
자자 그럼 이게 어떻게 유용하게 쓰일까요
보통을 액알을 만들때 발동조건을 결정키가 눌러졌을때, 로 설정합니다
쉽게말해서, 말을 걸면 데미지 처리가 들어간다는거죠 ㅡㅡ;;;
여기서 크나큰 문제가 생깁니다
----------------------------------------------------------
우선 적이 3~4놈이 아니라 개떼같이 몰려나올때,
노가다죠... 상상하기도 싫습니다
이벤트 하나하나 어떤변수를 어떻게 조작해라 하고 설정해줘야 합니다
그리고 두번째, 범위 마법이 힘들다는겁니다
꼭 범위 마법이 아니라도 활,창등의 경우 원거리 공격을 해야 하는데 말입니다
이러려면 역시 노가답니다...
근접공격외에 따로 시스템을 만들어야 하죠
또 두번째와 연관되지만 일괄 공격이 어렵습니다..
여러명의 적을 한번에 공격하려해도 역시 별도의 시스템이 필요해지죠
--------------------------------------------------------------
하지만 지정위치의 어쩌고.... 메뉴를 사용하면 한번에 해결이 가능합니다
방법은 이렇습니다
기존의 액알에서 칼질을 표시할때처럼 주인공을 따라다니는 이벤트를 만들거나 정기병렬 이벤트로
결정키가 눌렸을때 무언가가 실행되게 해줍시다
그리고 그 무언가에 이렇게 해주는거죠
현재 주인공의 위치에서 보고있는 방향으로 1칸 앞 좌표의 이벤트ID를 입력(A)한후
그 이벤트 번호를 적당히 조작 해서
예를들어 적1 의 HP변수가 101번이고 적1의 이벤트 번호가 10번이라면
A+91 을 해서 타격시 조작되야할 변수의 번호와 맞춰주는겁니다
이러기 위해서는 적의 번호와 이벤트를 만든 순서가 일치해야 합니다
이벤트 ID를 정렬시키기 위해서죠...
그리고 그 변수로 해당 변수를 조작해 데미지 처리등을 하면 됩니다
아시죠? X의 번호의 변수를 조작...
그리고 타격이펙트 등은 역시 같은방법으로 적이벤트마다 부여된 특정 스위치를 온,오프 해서
적이벤트의 타격 페이지를 발동되게 합시다
그리고 해당 위치에 이벤트가 없을 경우는 변수에 0이,
여러개의 이벤트가 겹쳐있을 경우는 가장 큰 번호의 이벤트가 인식됩니다
그리고 꼭 적이벤트가 아니더라도 그위치에 이벤트가 있다면 무조건 인식합니다
그래서 적의 숫자를 변수에 저장시켜 1번 적캐릭터의 번호를 이용해 적이벤트의 아이디는 X~Y 까지이다.
라고 설정해주고 기타 시스템 이벤트등을 주인공이나 적이벤트가 닿지 못하는 곳에 배치해야 합니다 (겹침 방지)
그리고 원거리, 범위 공격의 경우는 타격지점의 좌표를 주인공 위치에서 얼마나 차이가 나는곳으로 지정하느냐,
에 따라서 마음대로 정할수 있습니다
예를들어 창은 2칸의 범위를 가진다고 하면
주인공의 좌표에서 보고있는방향으로 1,2칸 앞에있는 좌표의 이벤트번호를 읽어오면 되는겁니다
관통공격은 불가능하다. 라는 경우에는
반복처리로 1칸앞을 스캔한뒤 적 이벤트가 존재한다면 반복을 종료해버리면 되는거구요
활의 경우는 그냥 앞으로 몇칸까지 스캔하느냐, 하는것만 설정해주면 금방 원거리 액알이 만들어 집니다
뭐 화살의 움직임은 따로 만들어 줘야겠죠..
뭣하면 활대신 총을 넣고 "총알은 빨라서 안보입니다" 라고 얼버무려도 됩니다
범위 공격의 경우는 약간 노가다가 포함되지만
기껏해야 3*3, 4*4 정도의 범위일테니 약간의 노가다를 해서 좌표를 입력시켜 줍시다 ㅡ0ㅡ
이것으로 액알 노가다의 1/3, 시스템이 복잡해질수록 때에 따라서는 60~70% 까지 줄일수 있을거라 생각하지만
역시 아직은 노가다가 많이 필요합니다
적 각각의 움직임,출현조건등 변수로 조작할수 없는 부분은 결국 하나하나 설정해 줘야 하죠..
하지만 정 방법이 없는 출현조건을 제외하고는 해결할수 있을거라 생각합니다
뽀나스
비슷한 기능인 "지정위치의 지형설정ID 취득"
이라는것이 있습니다
이것은 어떻게 쓰일수 있느냐...
원거리 공격이 통과할수 없는 장애물의 경우 지형설정을 일반타일과 다른번호로 해서
원거리 공격으로 이벤트ID를 스캔할때 지형ID를 같이 스캔하는겁니다
그리고 경로에 있는 지형ID가 장애물과 같다면? 스캔을 취소 하면 됩니다
아주 간~단하게 장애물 설정까지 가능하죠
-------------------------------------------------------
하악하악..... 나한텐 역시 뭔가가 있어
어떤기능인지 앗흥 하며 확인함과 동시에 사용법이 쨔라란 떠오르며 액알에의 응용이 촤라락 하고 나타나는군요
(라지만 결국 몇년동안 이짓하면서 그게 뭔지도 몰랐다는 소리)
으흐흠... 심기 불편하게 해드린점 감사합니다
여러 응용도 가능하니 연구해서
결과물을 저에게 살짝 쪽지로 돌리십시오...ㅋㅋ
TTA에 유용하게 쓰도록 하죠 ㅡㅡ*
이 방법은 제 게임에도 지대한 영향을 미칠듯 하니 이 부분은 최대한 많이 연구해볼 생각입니다
이벤트 하나 복사해넣고 조금 깔짝깔짝해주면 몹 하나 추가 되게 하는게 목표죠 ㅡㅡㅋ
그때가 되면 제대로 정리해서 스샷, 예제와 합께 한번 올리겠습니다...
아아 지금은 귀찮구요 (.......)
댓글 22
-
SSS
2007.01.29 14:03
-
『덩키동크』
2007.01.29 22:43
와아... 꽤 심오하게 들어가네요.. 안그래도 며칠전부터 액알 배우기 시작하면서 이런게 필요했는데..
정말 감사합니다 ;ㅂ;
저도 안쓰던 기능이 있어서.. 한번 테스트해보고 궁금한점 쪽지로 보내볼께요.. (그게 언제가 될지-_-;; 주말에만 할수있어서..)
|+rp2+|2834|+rp3+|bibup -
삐야악
2007.01.29 22:52
덜덜덜|+rp2+|2835|+rp3+|bibup -
윈드
2007.01.30 00:25
헉......이건 제가 요며칠전에 알아낸 전투시스템 구상의 핵심인데......여기 올려졌을줄이야..|+rp2+|2836|+rp3+|bibup -
윈드
2007.01.30 00:26
선수칠걸..아깝다 ㅠ|+rp2+|2837|+rp3+|bibup -
SSS
2007.01.30 02:16
선빵필승(퍽!)
크흠,,,역시 제가 처음은 아니었군요 |+rp+|2837|+rp2+|2839|+rp3+|bibup -
윈드
2007.01.30 06:54
사실 저도 알아낸지 얼마 안됐습니다..요전에 전투시스템 만들다가 막힌곳을 뚫으려던 중에 발견했지요.. |+rp+|2837|+rp2+|2840|+rp3+|bibup -
새벽도둑
2007.01.30 19:18
다른필드의 같은 ID의 몬스터는 어떻게 되나요??|+rp2+|2841|+rp3+|bibup -
윈드
2007.01.31 00:08
애초에 다른필드의 위치는 지정할 수 없습니다. |+rp+|2841|+rp2+|2842|+rp3+|bibup -
새벽도둑
2007.01.31 00:37
제 말은, 예를 들어서 A필드의 2번아이디 몬스터와 B필드의 2번아이디 몬스터는 같은공식하에서는 같은변수로 처리되는데, 변수가 섞이게 되나요?|+rp2+|2843|+rp3+|bibup -
SSS
2007.01.31 01:18
아아.. 섞이게 됩니다
하지만 보통은 게임에 존재하는 모든 적의 변수를 각각 만드는게 아니라
한전투가 끝나면 초기화하고 계속 재활용기 때문에 큰 문제는 없지만
따로 관리하고 싶으시다면 각 맵마다 변수를 지정하는 수를 조정해주면 됩니다
A맵에서는 ID+50 B맵에선 ID+70 을 하는식으로요
|+rp+|2843|+rp2+|2844|+rp3+|bibup -
『덩키동크』
2007.02.04 23:48
예제좀 만들어주세요 ;ㅁ; 맞게 했는지 잘..|+rp2+|2865|+rp3+|bibup -
saladin
2007.02.21 04:02
멋져요 멋져요오!|+rp2+|2878|+rp3+|bibup -
카르고의날개
2007.02.21 19:31
저런건 어디서 배울까요....|+rp2+|2879|+rp3+|bibup -
청량요플레
2007.02.22 06:04
예전부터 알고 있던 건데...[..]|+rp2+|2881|+rp3+|bibup -
비창
2007.03.18 06:53
보고 이해했습니다만.....
프레이츠에 적용하기에는.
이미 늦었습니다...[당최 변수쓰는게 무진장 많아서 뒤죽박죽인데다가 이미 노가다 모드 상태 OTL]|+rp2+|2902|+rp3+|bibup -
다크아머
2007.03.21 20:27
아 그런커맨드가 있었구나;; 공식 다만들어놓고 지정위치의 지형설정 ID밖에 못찾아서 좌절했었는데...|+rp2+|2904|+rp3+|bibup -
|개새|
2007.05.08 09:40
xp엔 없는 것 같은데요... ㅜ.ㅡ|+rp2+|2941|+rp3+|bibup -
SSS
2007.05.10 02:22
음.. 그렇군요
XP는 거의 스크립트로 해결이 가능하다보니 메뉴를 많이 없앤듯..
|+rp+|2941|+rp2+|2945|+rp3+|bibup -
[모비딕]
2007.05.11 07:36
이건 srpg로 만드는것에도 응용할수 있겠군요! +_+
특히 지형 ID 취득은 잘만 응용하면
적(npc)들의 ai를 설정하는데 있어서 선택권을 크게 넓혀줄 수 있을것 같군요.
전에 생각해보려다가 결국 '장애물없는 전장만을 만든다'는 결론을 내려버렸었는데...;|+rp2+|2946|+rp3+|bibup -
검류혼
2007.05.12 08:01
후후.. 남자는 검!!|+rp2+|2947|+rp3+|bibup -
ChrisRPG
2007.07.17 23:54
음,, 지형id취득은 잘하면 텔레포트로도 쓸수 있겠군요. 보이지 않는 ghost같은 것을 히로가 보고있는 방향으로 5걸음 보내면서 정기적 병렬처리로 ghost가 쓸고 지나간 자리마다 지형id를 비교 분석해서 직선 방향으로 텔레포트 할수 있는 지 없는지를 분기 할수 있을듯 싶군요..;
|+rp2+|2990|+rp3+|bibup
주인공의 위치를 중심으로 특정 위치에 있는 이벤트의 ID를 읽어온뒤
그 번호를 액알에 사용될 변수의 번호에 맞춰 변수,스위치를 조작
액알 효과를 만든다
|+rp2+|2831|+rp3+|bibup