경마장 시스템 [구버전/디스구동기]
타이머쪽 스크립트
ONTIME201510{
broadcast 5, "[경마이벤트] 이벤트가 시작되었습니다. 2분후에 자동 진행됩니다." ;
timecount_all 2, 120;
set #horse_start , 1;
set #horse_timer , 30;
set #horse_rank , 0 ;
set #horse_reward , 0 ;
set #horse_rank1$ ,"";
set #horse_rank2$ ,"";
set #horse_rank3$ ,"";
npcspawn 65203, 0, 21, 2, 439 , "경마장타이머";
deleteallmob name2mobid("토끼"), name2mapid("경마장");
deleteallmob name2mobid("다람쥐"), name2mapid("경마장");
deleteallmob name2mobid("말"), name2mapid("경마장");
deleteallmob name2mobid("삽사리"), name2mapid("경마장");
deleteallmob name2mobid("강아지"), name2mapid("경마장");
deleteallmob name2mobid("돼지"), name2mapid("경마장");
deleteallmob name2mobid("늑대"), name2mapid("경마장");
deleteallmob name2mobid("숫사슴"), name2mapid("경마장");
deleteallmob name2mobid("경마장벽"), name2mapid("경마장");
for(set @y, 3; @y <= 39; set @y, @y+1){
npcspawn 65203, 8, @y, 2, 502 , "경마장벽";
}
for(set @i, 0; @i <40; set @i, @i+1)
{
set @ran , rand(0,32);
mobspawn name2mapid("경마장"), rand(9,88), rand(3,39), 1, name2mobid("토끼");
}
for(set @i, 0; @i <40; set @i, @i+1)
{
set @ran , rand(0,32);
mobspawn name2mapid("경마장"), rand(9,88), rand(3,39), 1, name2mobid("다람쥐");
}
for(set @i, 0; @i <40; set @i, @i+1)
{
set @ran , rand(0,32);
mobspawn name2mapid("경마장"), rand(9,88), rand(3,39), 1, name2mobid("말");
}
for(set @i, 0; @i <40; set @i, @i+1)
{
set @ran , rand(0,32);
mobspawn name2mapid("경마장"), rand(9,88), rand(3,39), 1, name2mobid("삽사리");
}
for(set @i, 0; @i <40; set @i, @i+1)
{
set @ran , rand(0,32);
mobspawn name2mapid("경마장"), rand(9,88), rand(3,39), 1, name2mobid("강아지");
}
for(set @i, 0; @i <40; set @i, @i+1)
{
set @ran , rand(0,32);
mobspawn name2mapid("경마장"), rand(9,88), rand(3,39), 1, name2mobid("돼지");
}
for(set @i, 0; @i <40; set @i, @i+1)
{
set @ran , rand(0,32);
mobspawn name2mapid("경마장"), rand(9,88), rand(3,39), 1, name2mobid("늑대");
}
for(set @i, 0; @i <40; set @i, @i+1)
{
set @ran , rand(0,32);
mobspawn name2mapid("경마장"), rand(9,88), rand(3,39), 1, name2mobid("숫사슴");
}
printf("[이벤트] 경마 시작합니다.");
}
ONTIME203010{
if (#horse_start == 1){
broadcast 5, "[경마장] 이벤트가 비정상 종료되어 변수를 초기화합니다." ;
set #horse_start , 0 ;
set #horse_rank , 0 ;
set #horse_timer , 30;
set #horse_reward , 0 ;
set #horse_rank1$ ,"";
set #horse_rank2$ ,"";
set #horse_rank3$ ,"";
set #horse_board , 0;
deletenpc obj_getxy(0, 21), 65203;
deleteallmob name2mobid("토끼"), name2mapid("경마장");
deleteallmob name2mobid("다람쥐"), name2mapid("경마장");
deleteallmob name2mobid("말"), name2mapid("경마장");
deleteallmob name2mobid("삽사리"), name2mapid("경마장");
deleteallmob name2mobid("강아지"), name2mapid("경마장");
deleteallmob name2mobid("돼지"), name2mapid("경마장");
deleteallmob name2mobid("늑대"), name2mapid("경마장");
deleteallmob name2mobid("숫사슴"), name2mapid("경마장");
}
}
경마장관련 일반 스크립트
경마장벽{
set @id, objid();
}
@경마장참가{
set @id, myid();
set @sd, mysd();
set @ret, list1("경마 이베트에 참가하시겠어요?\\n\\n말에서 내리시 마시고 대기하세요", "참가", "취소");
if(@ret == 1)
{
set_state @sd, 3;
set_horse @sd, 1;
updatelookpc @sd, 1;
spellaether @sd, name2spellid("비서말타기"), 3600;
warp @sd, 65203, rand(5,7), rand(17,24);
}
else
{
spellaether @sd, name2spellid("비서말타기"), 1;
warp @sd, 65203, rand(1,1), rand(20,24);
}
}
@경마장{
set @id, objid();
if (#horse_timer > 0)
{
if (#horse_timer%5 ==0)
{
broadcast 5 , "[경마이벤트] " + ( #horse_timer * 4 ) + "초 뒤에 이벤트가 시작합니다" ;
say @id , 0 , "[경마이벤트] "+ ( #horse_timer * 4 ) + " 초 뒤 이벤트가 시작됩니다.";
}
set #horse_timer , #horse_timer - 1;
if (#horse_timer == 1){say @id , 1 , "[경마이벤트] "+ ( #horse_timer * 4 ) + " 초 뒤 이벤트가 시작됩니다.";
say @id , 1 , "[경마이벤트] "+ ( #horse_timer * 4 ) + " 초 뒤 이벤트가 시작됩니다.";
say @id , 1 , "[경마이벤트] "+ ( #horse_timer * 4 ) + " 초 뒤 이벤트가 시작됩니다.";}
/*비매너유저확인*/
for(set @i, 8; @i <= 92; set @i, @i+1)
{
for(set @j, 3; @j <= 39; set @j, @j+1)
{
set @target_id, obj_getxy(@i, @j);
if (@target_id > 0 && @target_id != @id && istype(@target_id) == 1)
{
warp id2sd(@target_id), 65203, rand(1,1), rand(20,24);
}
}
}
end;
}
else
{
set #horse_board , #horse_board + 1;
if (#horse_reward == 0) {
say @id , 1 , "[경마이벤트] 경마이벤트를 시작합니다.";
say @id , 1 , "[경마이벤트] 목적지까지 3위안에 도착하시면 보상을 지급합니다..";
for(set @y, 3; @y <= 39; set @y, @y+1){
deletenpc obj_getxy(8, @y), 65203;
}
}
set #horse_reward , 1 ;
// deletenpc obj_getxy(0, 21), 65203;
if (rand(0,1) ==0)
{
say @id , 1 , "[경마이벤트] 현재 순위 알림판";
/*현재순위 확인하기*/
for(set @i, 92; @i >= 3; set @i, @i-1)
{
for(set @j, 3; @j <= 39; set @j, @j+1)
{
set @target_id, obj_getxy(@i, @j);
if (@target_id > 0 && @target_id != @id && istype(@target_id) == 1)
{
set @rr , @rr+1;
say @id , 1 , "[경마이벤트] 현재 "+ @rr+" 위 :" + get_name(id2sd(@target_id));
if (@rr == 3) {end;}
}
}
}
}
}
}
@경마장피니쉬{
set @id, myid();
set @sd, mysd();
if ( #horse_rank1$ == get_name(@sd) || #horse_rank2$ == get_name(@sd) || #horse_rank3$ == get_name(@sd)){end;}
if (#horse_reward == 1)
{
if ( #horse_rank == 0 ) {
set #horse_rank1$ , get_name(@sd);
broadcast 5 , "[경마이벤트] 1위 " +get_name(@sd) + "님 축하합니다" ;
additem @sd, name2itemid("인연재료상자"), 1;
additem @sd, name2itemid("레이드코인"), 500;
additem @sd, name2itemid("황금"), 300;
set #horse_rank , 1 ;
}
else if ( #horse_rank == 1 ) {
set #horse_rank2$ , get_name(@sd);
broadcast 5 , "[경마이벤트] 2위 " +get_name(@sd) + "님 축하합니다" ;
additem @sd, name2itemid("레이드코인"), 300;
additem @sd, name2itemid("황금"), 200;
set #horse_rank , 2 ;
}
else if ( #horse_rank == 2 ) {
set #horse_rank3$ , get_name(@sd);
broadcast 5 , "[경마이벤트] 3위 " +get_name(@sd) + "님 축하합니다" ;
additem @sd, name2itemid("레이드코인"), 200;
additem @sd, name2itemid("황금"), 100;
set #horse_start , 0 ;
set #horse_rank , 0 ;
set #horse_reward , 0 ;
set #horse_rank1$ ,"";
set #horse_rank2$ ,"";
set #horse_rank3$ ,"";
set #horse_board , 0;
deletenpc obj_getxy(0, 21), 65203;
deleteallmob name2mobid("토끼"), name2mapid("경마장");
deleteallmob name2mobid("다람쥐"), name2mapid("경마장");
deleteallmob name2mobid("말"), name2mapid("경마장");
deleteallmob name2mobid("삽사리"), name2mapid("경마장");
deleteallmob name2mobid("강아지"), name2mapid("경마장");
deleteallmob name2mobid("돼지"), name2mapid("경마장");
deleteallmob name2mobid("늑대"), name2mapid("경마장");
deleteallmob name2mobid("숫사슴"), name2mapid("경마장");
broadcast 5 , "[경마이벤트] 이벤트가 종료되었습니다. 수고하셨습니다." ;
}
}
}
경마장관련 warp_db
65203 90 3 @경마장피니쉬 1 99
65203 90 4 @경마장피니쉬 1 99
65203 90 5 @경마장피니쉬 1 99
65203 90 6 @경마장피니쉬 1 99
65203 90 7 @경마장피니쉬 1 99
65203 90 8 @경마장피니쉬 1 99
65203 90 9 @경마장피니쉬 1 99
65203 90 10 @경마장피니쉬 1 99
65203 90 11 @경마장피니쉬 1 99
65203 90 12 @경마장피니쉬 1 99
65203 90 13 @경마장피니쉬 1 99
65203 90 14 @경마장피니쉬 1 99
65203 90 15 @경마장피니쉬 1 99
65203 90 16 @경마장피니쉬 1 99
65203 90 17 @경마장피니쉬 1 99
65203 90 18 @경마장피니쉬 1 99
65203 90 19 @경마장피니쉬 1 99
65203 90 20 @경마장피니쉬 1 99
65203 90 21 @경마장피니쉬 1 99
65203 90 22 @경마장피니쉬 1 99
65203 90 23 @경마장피니쉬 1 99
65203 90 24 @경마장피니쉬 1 99
65203 90 25 @경마장피니쉬 1 99
65203 90 26 @경마장피니쉬 1 99
65203 90 27 @경마장피니쉬 1 99
65203 90 28 @경마장피니쉬 1 99
65203 90 29 @경마장피니쉬 1 99
65203 90 30 @경마장피니쉬 1 99
65203 90 31 @경마장피니쉬 1 99
65203 90 32 @경마장피니쉬 1 99
65203 90 33 @경마장피니쉬 1 99
65203 90 34 @경마장피니쉬 1 99
65203 90 35 @경마장피니쉬 1 99
65203 90 36 @경마장피니쉬 1 99
65203 90 37 @경마장피니쉬 1 99
65203 90 38 @경마장피니쉬 1 99
65203 90 39 @경마장피니쉬 1 99
경마장 맵

인연서버 님의 최근 댓글
예전에 디아할떄 아이템팔면서 많이썻던 사이트.. 2024 01.29 https://bbom.org/tools/ 2024 01.29 level_db에 필요경험치가 어떻게되어 있을까요? 메시지만 나오는지 실제로 레벨이 오르는지도 확인필요할것같은데요 2024 01.29 if(get_will(@sd)+1 <= 130) if(get_grace(@sd)+1 <= 130) 두개가 바뀐상태군요 지력을체크해서 민첩을살수있고 그 반대로도 가능한상태입니다 2024 01.29 set @apply_exp, 2; 해당수치를 바꿔가며 테스트해보세요 2024 01.29