poiuty Опубликовано 2 ноября, 2013 Жалоба Поделиться Опубликовано 2 ноября, 2013 (изменено) Простыня кода:prontera,147,163,6 script Party DM Event::pdm1 734,{if($@pdm_open == 3) goto PDM_Late;if($@pdm_open == 2) goto PDM_RegistrationOff;if($@pdm_open == 1) goto PDM_Registration;PDM_Registration:mes "^ff0000[Party DM Event]^000000";mes "В данный момент регистрация открыта. Вы желаете зарегистрироваться на эвент?";next;menu "Зарегистрироваться",PDM_Register,"Отказаться от участия",PDM_Unreg,"Информация об эвенте",PDM_Info,"Выход",PDM_Exit;PDM_Register:if($@pdm_open == 3) goto PDM_RegistrationOff;if($@pdm_open == 2) goto PDM_TimeRemain;if($@pdm_pl_count >= 100) {mes "^ff0000[Party DM Event]^000000";mes "На данный момент зарегистрировано слишком много участников. Попробуйте позже.";close;}if(@pdm_registered == $@pdm_opentime) {mes "^ff0000[Party DM Event]^000000";mes "Вы уже зарегистрированы. Эвент скоро начнется.";close;}if(BaseLevel < 254) goto PDM_BLvl;callfunc("pdm_reg",getcharid(3));mes "^ff0000[Party DM Event]^000000";mes "Вы были зарегистрированы на эвенте. Через несколько минут вы будете отправлены на арену.";close;PDM_Unreg:if($@pdm_open == 3) goto PDM_RegistrationOff;if($@pdm_open == 2) goto PDM_TimeRemain;if(@pdm_registered != $@pdm_opentime) {mes "^ff0000[Party DM Event]^000000";mes "Вы ещё не зарегистрированы.";close;}callfunc("pdm_unreg",getcharid(3));mes "^ff0000[Party DM Event]^000000";mes "Вы отказались от участия в эвенте.";close;PDM_Info:if(getgmlevel() > 60) goto PDM_Control;mes "^ff0000[Party DM Event]^000000";mes "Для начала эвента необходимо как минимум 16 участников. Участвовать может любой игрок 254 уровня.";next;mes "^ff0000[Party DM Event]^000000";mes "Все зарегистрированные участники делятся на несколько команд, и отправляются на специальную арену.";next;mes "^ff0000[Party DM Event]^000000";mes "Им даётся время на подготовку, после чего начинается ПвП между командами.";next;mes "^ff0000[Party DM Event]^000000";mes "Эвент продолжается до 10 минут, после чего победившей объявляется команда с наибольшим числом выживших.";next;mes "^ff0000[Party DM Event]^000000";mes "Победители получают по 30 монет.";close;PDM_Control:mes "^ff0000[Party DM Event]^000000";mes $@pdm_pl_count+"/16";switch(select("Reg ON:Start event")) {case 1:donpcevent "pdm_ctrl_1::OnRegistrationOpen";close;break;case 2:donpcevent "pdm_ctrl_3::OnPLCount";close;break;}PDM_Late:mes "^ff0000[Party DM Event]^000000";mes "В данный момент эвент уже идёт. О начале следующего эвента будет объявлено на весь мир.";menu "Информация об эвенте",PDM_Info,"Выход",PDM_Exit;PDM_RegistrationOff:mes "^ff0000[Party DM Event]^000000";mes "Сожалею, но в данный момент регистрация на эвент закончена.";next;menu "Информация об эвенте",PDM_Info,"Выход",PDM_Exit;PDM_BLvl:mes "^ff0000[Party DM Event]^000000";mes "Сожалею, но на эвент допускаются только персонажи 254 уровня.";close;PDM_Exit:close;end;}- script pdm_ctrl_0 -1,{OnInit:set $@pdm_open,2;end;}- script pdm_ctrl_1 -1,{OnRegistrationOpen:set $@pdm_pl_count,0;set $@pdm_players,0;set $@pdm_open,1;set $@pdm_timeup,0;set $@pdm_team1, 0;set $@pdm_team1_cnt, 0;set $@pdm_team1_mbr, 0;set $@pdm_team1_mbr_cnt, 0;set $@pdm_team2, 0;set $@pdm_team2_cnt, 0;set $@pdm_team2_mbr, 0;set $@pdm_team2_mbr_cnt, 0;set $@pdm_team3, 0;set $@pdm_team3_cnt, 0;set $@pdm_team3_mbr, 0;set $@pdm_team3_mbr_cnt, 0;set $@pdm_team4, 0;set $@pdm_team4_cnt, 0;set $@pdm_team4_mbr, 0;set $@pdm_team4_mbr_cnt, 0;set $@pdm_team_loser, 0;set $@pdm_team1_loser, 0;set $@pdm_team2_loser, 0;set $@pdm_team3_loser, 0;set $@pdm_team4_loser, 0;set $@pdm_opentime, gettimetick(2);enablenpc "Wall#1";enablenpc "Wall#2";enablenpc "Wall#3";enablenpc "Wall#4";enablenpc "Wall#5";enablenpc "Wall#6";enablenpc "Wall#7";enablenpc "Wall#8";enablenpc "Wall#9";enablenpc "Wall#10";enablenpc "Wall#11";enablenpc "Wall#12";enablenpc "Wall#13";enablenpc "Wall#14";enablenpc "Wall#15";enablenpc "Wall#16";enablenpc "Wall#17";enablenpc "Wall#18";enablenpc "Wall#19";enablenpc "Wall#20";enablenpc "Wall#21";enablenpc "Wall#22";enablenpc "Wall#23";enablenpc "Wall#24";setcell "pvp_n_2-3",97,128,102,128,cell_walkable,0;setcell "pvp_n_2-3",127,97,127,102,cell_walkable,0;setcell "pvp_n_2-3",97,72,102,72,cell_walkable,0;setcell "pvp_n_2-3",72,97,72,102,cell_walkable,0;pvpoff "pvp_n_2-3";announce "Открыта регистрация на эвент Party DM!",bc_all,0xFF0000;donpcevent "pdm_ctrl_3::onstart";end;OnPDMEnd:mapwarp "pvp_n_2-3","prontera",156,181;set $@pdm_pl_count,0;set $@pdm_players,0;set $@pdm_open,2;set $@pdm_timeup,0;set $@pdm_team1, 0;set $@pdm_team1_cnt, 0;set $@pdm_team1_mbr, 0;set $@pdm_team1_mbr_cnt, 0;set $@pdm_team2, 0;set $@pdm_team2_cnt, 0;set $@pdm_team2_mbr, 0;set $@pdm_team2_mbr_cnt, 0;set $@pdm_team3, 0;set $@pdm_team3_cnt, 0;set $@pdm_team3_mbr, 0;set $@pdm_team3_mbr_cnt, 0;set $@pdm_team4, 0;set $@pdm_team4_cnt, 0;set $@pdm_team4_mbr, 0;set $@pdm_team4_mbr_cnt, 0;set $@pdm_team_loser, 0;set $@pdm_team1_loser, 0;set $@pdm_team2_loser, 0;set $@pdm_team3_loser, 0;set $@pdm_team4_loser, 0;enablenpc "Wall#1";enablenpc "Wall#2";enablenpc "Wall#3";enablenpc "Wall#4";enablenpc "Wall#5";enablenpc "Wall#6";enablenpc "Wall#7";enablenpc "Wall#8";enablenpc "Wall#9";enablenpc "Wall#10";enablenpc "Wall#11";enablenpc "Wall#12";enablenpc "Wall#13";enablenpc "Wall#14";enablenpc "Wall#15";enablenpc "Wall#16";enablenpc "Wall#17";enablenpc "Wall#18";enablenpc "Wall#19";enablenpc "Wall#20";enablenpc "Wall#21";enablenpc "Wall#22";enablenpc "Wall#23";enablenpc "Wall#24";setcell "pvp_n_2-3",97,128,102,128,cell_walkable,0;setcell "pvp_n_2-3",127,97,127,102,cell_walkable,0;setcell "pvp_n_2-3",97,72,102,72,cell_walkable,0;setcell "pvp_n_2-3",72,97,72,102,cell_walkable,0;pvpoff "pvp_n_2-3";end;}- script pdm_ctrl_2 -1,{OnClock1800:OnClock2100:donpcevent "pdm_ctrl_1::OnRegistrationOpen";end;}- script pdm_ctrl_3 -1,{onstart:if($@pdm_pl_count > 15) { OnPLCount: donpcevent "pdm_ctrl_4::OnPLCount"; }else { sleep 10000; goto onstart; }end;}- script pdm_ctrl_4 -1,{OnPLCount:announce "Регистрация на эвент Party DM будет доступна ещё 5 минут.",bc_all,0xFF0000;sleep 300000;set $@pdm_open,3;donpcevent "pdm_ctrl_5::OnEventStart";end;}- script pdm_ctrl_5 -1,{OnEventStart:set $@pdm_party_nxt, rand(1,4);for(set .@tmp,0; .@tmp<$@pdm_pl_count; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_players[.@tmp])) {sc_end SC_ALL;switch($@pdm_party_nxt) {case 1:set @pdm_team, 2;set $@pdm_team2[getarraysize($@pdm_team2)], $@pdm_players[.@tmp];set $@pdm_team2_cnt, $@pdm_team2_cnt + 1;warp "pvp_n_2-3",139,99;set $@pdm_party_nxt, 2;break;case 2:set @pdm_team, 3;set $@pdm_team3[getarraysize($@pdm_team3)], $@pdm_players[.@tmp];set $@pdm_team3_cnt, $@pdm_team3_cnt + 1;warp "pvp_n_2-3",99,60;set $@pdm_party_nxt, 3;break;case 3:set @pdm_team, 4;set $@pdm_team4[getarraysize($@pdm_team4)], $@pdm_players[.@tmp];set $@pdm_team4_cnt, $@pdm_team4_cnt + 1;warp "pvp_n_2-3",60,99;set $@pdm_party_nxt, 4;break;case 4:set @pdm_team, 1;set $@pdm_team1[getarraysize($@pdm_team1)], $@pdm_players[.@tmp];set $@pdm_team1_cnt, $@pdm_team1_cnt + 1;warp "pvp_n_2-3",99,139;set $@pdm_party_nxt, 1;break;}}}donpcevent "pdm_ctrl_6::OnEventStart";end;}- script pdm_ctrl_6 -1,{OnEventStart:sleep 15000;mapannounce "pvp_n_2-3","Игроки распределены по командам.",bc_map,0xFF0000;sleep 2000;mapannounce "pvp_n_2-3","У вас есть 3 минуты на подготовку и создание пати.",bc_map,0xFF0000;sleep 180000;mapannounce "pvp_n_2-3","Готовимся.",bc_map,0xFF0000;sleep 3000;mapannounce "pvp_n_2-3","- 5 -",bc_map,0xFF0000;sleep 1000;mapannounce "pvp_n_2-3","- 4 -",bc_map,0xFF0000;sleep 1000;mapannounce "pvp_n_2-3","- 3 -",bc_map,0xFF0000;sleep 1000;mapannounce "pvp_n_2-3","- 2 -",bc_map,0xFF0000;sleep 1000;mapannounce "pvp_n_2-3","- 1 -",bc_map,0xFF0000;sleep 1000;mapannounce "pvp_n_2-3","- GO -",bc_map,0xFF0000;donpcevent "pdm_ctrl_7::OnEventStart";end;}- script pdm_ctrl_7 -1,{OnEventStart:copyarray $@pdm_team1_mbr[0], $@pdm_team1[0], getarraysize($@pdm_team1);set $@pdm_team1_mbr_cnt, $@pdm_team1_cnt;copyarray $@pdm_team2_mbr[0], $@pdm_team2[0], getarraysize($@pdm_team2);set $@pdm_team2_mbr_cnt, $@pdm_team2_cnt;copyarray $@pdm_team3_mbr[0], $@pdm_team3[0], getarraysize($@pdm_team3);set $@pdm_team3_mbr_cnt, $@pdm_team3_cnt;copyarray $@pdm_team4_mbr[0], $@pdm_team4[0], getarraysize($@pdm_team4);set $@pdm_team4_mbr_cnt, $@pdm_team4_cnt;disablenpc "Wall#1";disablenpc "Wall#2";disablenpc "Wall#3";disablenpc "Wall#4";disablenpc "Wall#5";disablenpc "Wall#6";disablenpc "Wall#7";disablenpc "Wall#8";disablenpc "Wall#9";disablenpc "Wall#10";disablenpc "Wall#11";disablenpc "Wall#12";disablenpc "Wall#13";disablenpc "Wall#14";disablenpc "Wall#15";disablenpc "Wall#16";disablenpc "Wall#17";disablenpc "Wall#18";disablenpc "Wall#19";disablenpc "Wall#20";disablenpc "Wall#21";disablenpc "Wall#22";disablenpc "Wall#23";disablenpc "Wall#24";setcell "pvp_n_2-3",97,128,102,128,cell_walkable,1;setcell "pvp_n_2-3",127,97,127,102,cell_walkable,1;setcell "pvp_n_2-3",97,72,102,72,cell_walkable,1;setcell "pvp_n_2-3",72,97,72,102,cell_walkable,1;pvpon "pvp_n_2-3";donpcevent "pdm_ctrl_8::OnEventStart";sleep 600000;if($@pdm_open == 3) donpcevent "pdm_ctrl_11::OnTimeUp";end;}- script pdm_ctrl_8 -1,{OnEventStart:if($@pdm_team1_cnt == 0 && $@pdm_team1_loser == 0) {mapannounce "pvp_n_2-3","Команда №1 потерпела поражение!",bc_map,0xFF0000;sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team1_loser, 1;}if($@pdm_team2_cnt == 0 && $@pdm_team2_loser == 0) {mapannounce "pvp_n_2-3","Команда №2 потерпела поражение!",bc_map,0xFF0000;sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team2_loser, 1;}if($@pdm_team3_cnt == 0 && $@pdm_team3_loser == 0) {mapannounce "pvp_n_2-3","Команда №3 потерпела поражение!",bc_map,0xFF0000;sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team3_loser, 1;}if($@pdm_team4_cnt == 0 && $@pdm_team4_loser == 0) {mapannounce "pvp_n_2-3","Команда №4 потерпела поражение!",bc_map,0xFF0000;sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team4_loser, 1;}sleep 10000;if($@pdm_timeup == 1) end;if($@pdm_team_loser >= 3) goto OnEventEnd;goto OnEventStart;OnEventEnd:if($@pdm_team1_loser == 0) {mapannounce "pvp_n_2-3","Команда №1 одержала победу!",bc_map,0xFF0000;pvpoff "pvp_n_2-3";sleep 5000;for(set .@tmp,0; .@tmp<$@pdm_team1_mbr_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team1_mbr[.@tmp])) { getitem 673,30; callfunc("pdm_unreg",getcharid(3)); dispbottom "Поздравляем! Ваш приз составляет 30 монет!"; }}}else if($@pdm_team2_loser == 0) {mapannounce "pvp_n_2-3","Команда №2 одержала победу!",bc_map,0xFF0000;pvpoff "pvp_n_2-3";sleep 5000;for(set .@tmp,0; .@tmp<$@pdm_team2_mbr_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team2_mbr[.@tmp])) { getitem 673,30; callfunc("pdm_unreg",getcharid(3)); dispbottom "Поздравляем! Ваш приз составляет 30 монет!"; }}}else if($@pdm_team3_loser == 0) {mapannounce "pvp_n_2-3","Команда №3 одержала победу!",bc_map,0xFF0000;pvpoff "pvp_n_2-3";sleep 5000;for(set .@tmp,0; .@tmp<$@pdm_team3_mbr_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team3_mbr[.@tmp])) { getitem 673,30; callfunc("pdm_unreg",getcharid(3)); dispbottom "Поздравляем! Ваш приз составляет 30 монет!"; }}}else if($@pdm_team4_loser == 0) {mapannounce "pvp_n_2-3","Команда №4 одержала победу!",bc_map,0xFF0000;pvpoff "pvp_n_2-3";sleep 5000;for(set .@tmp,0; .@tmp<$@pdm_team4_mbr_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team4_mbr[.@tmp])) { getitem 673,30; callfunc("pdm_unreg",getcharid(3)); dispbottom "Поздравляем! Ваш приз составляет 30 монет!"; }}}sleep 10000;donpcevent "pdm_ctrl_1::OnPDMEnd";end;}- script pdm_ctrl_9 -1,{OnPCLogoutEvent:if(@pdm_registered > 0) callfunc("pdm_unreg",getcharid(3));end;}- script pdm_ctrl_10 -1,{OnPCKillEvent:if(attachrid(killedrid)) {if(@pdm_registered == $@pdm_opentime && @pdm_team > 0) {callfunc("pdm_unreg",getcharid(3));warp "prontera",156,181;}}end;}- script pdm_ctrl_11 -1,{OnTimeUp:set $@pdm_timeup,1;if($@pdm_team1_loser == 0 && $@pdm_team1_cnt >= $@pdm_team2_cnt && $@pdm_team1_cnt >= $@pdm_team3_cnt && $@pdm_team1_cnt >= $@pdm_team4_cnt) {if($@pdm_team2_loser == 0) {mapannounce "pvp_n_2-3","Команда №2 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",2);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team2_loser, 1;}if($@pdm_team3_loser == 0) {mapannounce "pvp_n_2-3","Команда №3 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",3);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team3_loser, 1;}if($@pdm_team4_loser == 0) {mapannounce "pvp_n_2-3","Команда №4 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",4);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team4_loser, 1;}mapannounce "pvp_n_2-3","Команда №1 одержала победу!",bc_map,0xFF0000;pvpoff "pvp_n_2-3";sleep 5000;for(set .@tmp,0; .@tmp<$@pdm_team1_mbr_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team1_mbr[.@tmp])) { getitem 673,30; callfunc("pdm_unreg",getcharid(3)); dispbottom "Поздравляем! Ваш приз составляет 30 монет!"; }}}else if($@pdm_team2_loser == 0 && $@pdm_team2_cnt >= $@pdm_team1_cnt && $@pdm_team2_cnt >= $@pdm_team3_cnt && $@pdm_team2_cnt >= $@pdm_team4_cnt) {if($@pdm_team1_loser == 0) {mapannounce "pvp_n_2-3","Команда №1 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",1);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team1_loser, 1;}if($@pdm_team3_loser == 0) {mapannounce "pvp_n_2-3","Команда №3 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",3);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team3_loser, 1;}if($@pdm_team4_loser == 0) {mapannounce "pvp_n_2-3","Команда №4 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",4);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team4_loser, 1;}mapannounce "pvp_n_2-3","Команда №2 одержала победу!",bc_map,0xFF0000;pvpoff "pvp_n_2-3";sleep 5000;for(set .@tmp,0; .@tmp<$@pdm_team2_mbr_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team2_mbr[.@tmp])) { getitem 673,30; callfunc("pdm_unreg",getcharid(3)); dispbottom "Поздравляем! Ваш приз составляет 30 монет!"; }}}else if($@pdm_team3_loser == 0 && $@pdm_team3_cnt >= $@pdm_team1_cnt && $@pdm_team3_cnt >= $@pdm_team2_cnt && $@pdm_team3_cnt >= $@pdm_team4_cnt) {if($@pdm_team1_loser == 0) {mapannounce "pvp_n_2-3","Команда №1 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",1);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team1_loser, 1;}if($@pdm_team2_loser == 0) {mapannounce "pvp_n_2-3","Команда №2 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",2);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team2_loser, 1;}if($@pdm_team4_loser == 0) {mapannounce "pvp_n_2-3","Команда №4 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",4);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team4_loser, 1;}mapannounce "pvp_n_2-3","Команда №3 одержала победу!",bc_map,0xFF0000;pvpoff "pvp_n_2-3";sleep 5000;for(set .@tmp,0; .@tmp<$@pdm_team3_mbr_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team3_mbr[.@tmp])) { getitem 673,30; callfunc("pdm_unreg",getcharid(3)); dispbottom "Поздравляем! Ваш приз составляет 30 монет!"; }}}else if($@pdm_team4_loser == 0 && $@pdm_team4_cnt >= $@pdm_team1_cnt && $@pdm_team4_cnt >= $@pdm_team2_cnt && $@pdm_team4_cnt >= $@pdm_team3_cnt) {if($@pdm_team1_loser == 0) {mapannounce "pvp_n_2-3","Команда №1 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",1);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team1_loser, 1;}if($@pdm_team2_loser == 0) {mapannounce "pvp_n_2-3","Команда №2 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",2);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team2_loser, 1;}if($@pdm_team3_loser == 0) {mapannounce "pvp_n_2-3","Команда №3 потерпела техническое поражение!",bc_map,0xFF0000;callfunc("pdm_teamunreg",3);sleep 1000;set $@pdm_team_loser, $@pdm_team_loser+1;set $@pdm_team3_loser, 1;}mapannounce "pvp_n_2-3","Команда №4 одержала победу!",bc_map,0xFF0000;pvpoff "pvp_n_2-3";sleep 5000;for(set .@tmp,0; .@tmp<$@pdm_team4_mbr_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team4_mbr[.@tmp])) { getitem 673,30; callfunc("pdm_unreg",getcharid(3)); dispbottom "Поздравляем! Ваш приз составляет 30 монет!"; }}}sleep 10000;donpcevent "pdm_ctrl_1::OnPDMEnd";end;}pvp_n_2-3,97,128,0 script Wall#1 1906,{ }pvp_n_2-3,98,128,0 script Wall#2 1906,{ }pvp_n_2-3,99,128,0 script Wall#3 1906,{ }pvp_n_2-3,100,128,0 script Wall#4 1906,{ }pvp_n_2-3,101,128,0 script Wall#5 1906,{ }pvp_n_2-3,102,128,0 script Wall#6 1906,{ }pvp_n_2-3,127,97,0 script Wall#7 1906,{ }pvp_n_2-3,127,98,0 script Wall#8 1906,{ }pvp_n_2-3,127,99,0 script Wall#9 1906,{ }pvp_n_2-3,127,100,0 script Wall#10 1906,{ }pvp_n_2-3,127,101,0 script Wall#11 1906,{ }pvp_n_2-3,127,102,0 script Wall#12 1906,{ }pvp_n_2-3,97,72,0 script Wall#13 1906,{ }pvp_n_2-3,98,72,0 script Wall#14 1906,{ }pvp_n_2-3,99,72,0 script Wall#15 1906,{ }pvp_n_2-3,100,72,0 script Wall#16 1906,{ }pvp_n_2-3,101,72,0 script Wall#17 1906,{ }pvp_n_2-3,102,72,0 script Wall#18 1906,{ }pvp_n_2-3,72,97,0 script Wall#19 1906,{ }pvp_n_2-3,72,98,0 script Wall#20 1906,{ }pvp_n_2-3,72,99,0 script Wall#21 1906,{ }pvp_n_2-3,72,100,0 script Wall#22 1906,{ }pvp_n_2-3,72,101,0 script Wall#23 1906,{ }pvp_n_2-3,72,102,0 script Wall#24 1906,{ }pvp_n_2-3 mapflag pvppvp_n_2-3 mapflag pvp_noguildpvp_n_2-3 mapflag pvp_nopartypvp_n_2-3 mapflag nomemopvp_n_2-3 mapflag noteleportpvp_n_2-3 mapflag nosavepvp_n_2-3 mapflag noexppvp_n_2-3 mapflag nopenaltypvp_n_2-3 mapflag noteleportpvp_n_2-3 mapflag nowarppvp_n_2-3 mapflag noreturnpvp_n_2-3 mapflag nobranchpvp_n_2-3 mapflag nogopvp_n_2-3 mapflag restricted 5function script pdm_reg {set .@player, getarg(0);if(attachrid(.@player)) set @pdm_registered,$@pdm_opentime;for(set .@tmp,0; .@tmp<100; set .@tmp, .@tmp + 1) {if($@pdm_players[.@tmp] == FALSE) { set $@pdm_players[.@tmp],.@player; set $@pdm_pl_count, $@pdm_pl_count + 1; return 1; end; }}}function script pdm_unreg {set .@player, getarg(0);set .@pl_count, $@pdm_pl_count;if(attachrid(.@player)) {set @pdm_registered,0;switch(@pdm_team) {case 1:set .@team1_cnt, $@pdm_team1_mbr_cnt;for(set .@tmp,0; .@tmp<.@team1_cnt; set .@tmp, .@tmp + 1) {if($@pdm_team1[.@tmp] == .@player) { set $@pdm_team1[.@tmp],0; set $@pdm_team1_cnt, $@pdm_team1_cnt - 1; }}break;case 2:set .@team2_cnt, $@pdm_team2_mbr_cnt;for(set .@tmp,0; .@tmp<.@team2_cnt; set .@tmp, .@tmp + 1) {if($@pdm_team2[.@tmp] == .@player) { set $@pdm_team2[.@tmp],0; set $@pdm_team2_cnt, $@pdm_team2_cnt - 1; }}break;case 3:set .@team3_cnt, $@pdm_team3_mbr_cnt;for(set .@tmp,0; .@tmp<.@team3_cnt; set .@tmp, .@tmp + 1) {if($@pdm_team3[.@tmp] == .@player) { set $@pdm_team3[.@tmp],0; set $@pdm_team3_cnt, $@pdm_team3_cnt - 1; }}break;case 4:set .@team4_cnt, $@pdm_team4_mbr_cnt;for(set .@tmp,0; .@tmp<.@team4_cnt; set .@tmp, .@tmp + 1) {if($@pdm_team4[.@tmp] == .@player) { set $@pdm_team4[.@tmp],0; set $@pdm_team4_cnt, $@pdm_team4_cnt - 1; }}break;}set @pdm_team,0;}for(set .@tmp2,0; .@tmp2<.@pl_count; set .@tmp2, .@tmp2 + 1) {if($@pdm_players[.@tmp2] == .@player) { set $@pdm_players[.@tmp2],0; set $@pdm_pl_count, $@pdm_pl_count - 1; }}return 1;}function script pdm_teamunreg {set .@team, getarg(0);switch(.@team) {case 1:set .@team1_cnt, $@pdm_team1_mbr_cnt;for(set .@tmp,0; .@tmp<.@team1_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team1[.@tmp])) {set .@pl_count, $@pdm_pl_count;for(set .@tmp2,0; .@tmp2<.@pl_count; set .@tmp2, .@tmp2 + 1) {if($@pdm_players[.@tmp2] == $@pdm_team1[.@tmp]) { set $@pdm_players[.@tmp2],0; set $@pdm_pl_count, $@pdm_pl_count - 1; }}set @pdm_registered,0;set @pdm_team,0;set $@pdm_team1[.@tmp],0;set $@pdm_team1_cnt, $@pdm_team1_cnt - 1;}}break;case 2:set .@team2_cnt, $@pdm_team2_mbr_cnt;for(set .@tmp,0; .@tmp<.@team2_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team2[.@tmp])) {set .@pl_count, $@pdm_pl_count;for(set .@tmp2,0; .@tmp2<.@pl_count; set .@tmp2, .@tmp2 + 1) {if($@pdm_players[.@tmp2] == $@pdm_team2[.@tmp]) { set $@pdm_players[.@tmp2],0; set $@pdm_pl_count, $@pdm_pl_count - 1; }}set @pdm_registered,0;set @pdm_team,0;set $@pdm_team2[.@tmp],0;set $@pdm_team2_cnt, $@pdm_team2_cnt - 1;}}break;case 3:set .@team3_cnt, $@pdm_team3_mbr_cnt;for(set .@tmp,0; .@tmp<.@team3_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team3[.@tmp])) {set .@pl_count, $@pdm_pl_count;for(set .@tmp2,0; .@tmp2<.@pl_count; set .@tmp2, .@tmp2 + 1) {if($@pdm_players[.@tmp2] == $@pdm_team3[.@tmp]) { set $@pdm_players[.@tmp2],0; set $@pdm_pl_count, $@pdm_pl_count - 1; }}set @pdm_registered,0;set @pdm_team,0;set $@pdm_team3[.@tmp],0;set $@pdm_team3_cnt, $@pdm_team3_cnt - 1;}}break;case 4:set .@team4_cnt, $@pdm_team4_mbr_cnt;for(set .@tmp,0; .@tmp<.@team4_cnt; set .@tmp, .@tmp + 1) {if(attachrid($@pdm_team4[.@tmp])) {set .@pl_count, $@pdm_pl_count;for(set .@tmp2,0; .@tmp2<.@pl_count; set .@tmp2, .@tmp2 + 1) {if($@pdm_players[.@tmp2] == $@pdm_team4[.@tmp]) { set $@pdm_players[.@tmp2],0; set $@pdm_pl_count, $@pdm_pl_count - 1; }}set @pdm_registered,0;set @pdm_team,0;set $@pdm_team4[.@tmp],0;set $@pdm_team4_cnt, $@pdm_team4_cnt - 1;}}break;}return 1;} Изменено 22 ноября, 2013 пользователем Кеник Спойлеры НЕ для трусов (: 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Elmiria Опубликовано 18 ноября, 2013 Жалоба Поделиться Опубликовано 18 ноября, 2013 Протестировала интересные мне эвенты - все более менее рабочее. Есть некоторые НО, об одной из них сейчас и расскажу. В этом эвенте, после убийства игрока на арене он респается в пронте. Все вроде нормально. Только у него сколько-то то там хп и он не может: лечиться, кастоваться, умирать (но коммент), его не видят мобы, и не может бить мобов. То есть перс фактически мертв. При перезаходе хп становится равным нулю. На него при этом действует @raise.Проверила 4 раза. (в момент написания проверила воскрешение, и нашла решение своей проблемы)Но все таки странно мне то, что на обычной арене такого не происходит. Полагаю что тут собака зарыта в мапфлагах, но все выглядит нормально. Ссылка на комментарий Поделиться на другие сайты Поделиться
Break Опубликовано 18 ноября, 2013 Жалоба Поделиться Опубликовано 18 ноября, 2013 Послеwarp "prontera",156,181;Добавитьatcommand "@alive"; Ссылка на комментарий Поделиться на другие сайты Поделиться
ph1047 Опубликовано 18 ноября, 2013 Жалоба Поделиться Опубликовано 18 ноября, 2013 у меня так не прокатывала, запускал по таймеру после LoadMapEvent Ссылка на комментарий Поделиться на другие сайты Поделиться
Elmiria Опубликовано 18 ноября, 2013 Жалоба Поделиться Опубликовано 18 ноября, 2013 важнее причина, а не заплатка. Ссылка на комментарий Поделиться на другие сайты Поделиться
Nurkz Опубликовано 22 ноября, 2013 Жалоба Поделиться Опубликовано 22 ноября, 2013 (изменено) OnPCKillEvent: if(attachrid(killedrid)) { if(@pdm_registered == $@pdm_opentime && @pdm_team > 0) { callfunc("pdm_unreg",getcharid(3)); warp "prontera",156,181; } }end;Зачем так мудрить? OnPCDieEvent на что?OnPCDieEvent: if( @pdm_registered == $@pdm_opentime && @pdm_team > 0 ) { callfunc "pdm_unreg"; warp "prontera",156,181; }end;@alive тоже не обязательно прописывать, персонаж встаёт сам.Если не встаёт, то дабавьте заплатку в ../src/map/pc.cНайдите строчку :int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y, clr_type clrtype)"И после :if( !mapindex || !mapindex_id2name(mapindex) ) { ShowDebug("pc_setpos: Passed mapindex(%d) is invalid!\n", mapindex); return 1;}Добавьте :if( pc_isdead(sd) ) { //Revive dead people before warping them pc_setstand(sd); pc_setrestartvalue(sd,1);} Изменено 13 апреля, 2015 пользователем Nurkz Ссылка на комментарий Поделиться на другие сайты Поделиться
Hellion Опубликовано 2 декабря, 2013 Жалоба Поделиться Опубликовано 2 декабря, 2013 Описание ивента не прилогается((((?? Ссылка на комментарий Поделиться на другие сайты Поделиться
kadze Опубликовано 2 декабря, 2013 Жалоба Поделиться Опубликовано 2 декабря, 2013 прилагается party dm Ссылка на комментарий Поделиться на другие сайты Поделиться
Elmiria Опубликовано 3 декабря, 2013 Жалоба Поделиться Опубликовано 3 декабря, 2013 а что тут описывать? тут одно слово dm все разъясняет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения