Kubix! Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 // Раз появилось столько арен, почему бы не написать еще одну?// By ocelote// public script// v 1.3// My pvp top :// Что бы проверить свой пвп рейтинг введите в игре npc:MyStat (в окошке привата) и в окошке чата введите "stat".- script MyStat -1,{ OnWhisperGlobal: if(@whispervar0$ == "stat"){ mes kill_p+" KILL POINTS"; mes die_p+" DEATH POINTS"; close; } mes "Что бы посмотреть статистику введите 'stat' без кавычек"; close;}// Arena :prontera,148,176,6 script Арена Мастер 888,{ if(Ranked_player == 1){ mes "[Arena Master]"; mes "Вы участвуете в Рейтинговых боях!"; mes "Хотите продолжить их?"; next; if(select("Да:Нет") == 2) { Ranked_Player = 0; close; } callsub S_Warp,$map$[3],20,1,1,1,0,0; close; } mes "[Arena Master]"; mes "Добро пожаловать!"; //Пример : callfunc("Check_Req",уровень,номер профы которую не пускать"); callfunc("Check_Req",99,0); next; switch(select("Публичная арена:Арена без хила:Дуэль арена:Рейтинговая арена:ГвГ арена")){ case 1: //Пример: callsub S_Warp,"лока",кол-во человек,снимать доп.баффы?(см в саму функцию),анонс?,рейт арена?,гв арена?; 1-да, 0-нет. 2 - подумаю (шутка[petrosyan]) callsub S_Warp,$map$[0],30,1,1,0,0,0; close; case 2: callsub S_Warp,$map$[1],20,0,1,0,0,1; close; case 3: callsub S_Warp,$map$[2],2,1,1,0,0,0; close; case 4: callsub S_Warp,$map$[3],20,1,1,1,0,0; close; case 5: callsub S_Warp,$map$[4],20,1,1,0,1,0; close; } S_Warp: if(getmapusers(getarg(0)) >= getarg(1)) { mes "Простите, но на арене уже максимум ("+getarg(1)+") человек!"; close; } if(getarg(2) == 1){ sc_end SC_ASSUMPTIO; } if(getarg(3) == 1){ mapannounce getarg(0),strcharinfo(0)+" вошел на арену!",bc_map; } if(getarg(4) == 1){ if(!Ranked_player){ Ranked_player = 1; } } if(getarg(5) == 1){ if(getcharid(2) <= 0){ mes "[Arena Master]"; mes "Вы не состоите ни в одной гильдии!"; close; } } warp getarg(0),0,0; close; OnInit: $RankedMap$ = "guild_vs1"; setarray $map$[0],"guild_vs3","guild_vs1","guild_vs1","guild_vs1","guild_vs1"; // Пример : setarray $map$[0],"ваша мапа",(ect,ect,ect); while(1){ waitingroom "PvP: "+getmapusers($map$[0])+"|"+getmapusers($map$[1])+"|"+getmapusers($map$[2])+"|"+getmapusers($map$[3])+"|"+getmapusers($map$[4])+"",0; sleep 3000; delwaitingroom "Арена Мастер"; }} function script Check_Req { if(BaseLevel < getarg(0)){ mes "Простите, но ваш уровень слишком мал!"; close; } if(Class == getarg(1)){ mes "Простите, но вашей профессии запрещено входить на арену!"; close; } return;}- script Announce_PVP -1,{ OnPCKillEvent: //for(.@i=0; .@i <= getarraysize($map$); .@i ++){ //if(strcharinfo(3) == $RankedMap$){ //callfunc("GetElo"); //} //if(strcharinfo(3) == $map$[.@i]){ attachrid killedrid; if($First_Blood == 0){ announce rid2name(killerrid) + .a$[0],bc_map; if(.sound) soundeffect "firstblood.wav",1; $First_Blood, 1; end; } @KillingSpree ++; @MultiKill ++; initnpctimer; if(@KillingSpree == 3) { announce rid2name(killerrid) + .a$[5],bc_map; if(.sound) soundeffect "killingspree.wav",1; }else if(@KillingSpree == 4){ announce rid2name(killerrid) + .a$[6],bc_map; if(.sound) soundeffect "rampage.wav",1; }else if(@KillingSpree == 5){ announce rid2name(killerrid) + .a$[7],bc_map; if(.sound) soundeffect "unstoppable.wav",1; }else if(@KillingSpree == 6){ announce rid2name(killerrid) + .a$[8],bc_map; if(.sound) soundeffect "dominating.wav",1; }else if(@KillingSpree == 7){ announce rid2name(killerrid) + .a$[9],bc_map; if(.sound) soundeffect "godlike.wav",1; }else if(@KillingSpree > 7){ announce rid2name(killerrid) + .a$[10],bc_map; if(.sound) soundeffect "legendary.wav",1; } if(@MultiKill == 2) { announce rid2name(killerrid) + .a$[1],bc_map; if(.sound) soundeffect "doubleKill.wav",1; }else if(@MultiKill == 3){ announce rid2name(killerrid) + .a$[2],bc_map; if(.sound) soundeffect "tripleKill.wav",1; }else if(@MultiKill == 4){ announce rid2name(killerrid) + .a$[3],bc_map; if(.sound) soundeffect "quadraKill.wav",1; }else if(@MultiKill == 5){ announce rid2name(killerrid) + .a$[4],bc_map; if(.sound) soundeffect "pentaKill.wav",1; @MultiKill = 0; } /*dispbottom "Поздравляем вы убили человека!"; dispbottom "К вам уже отправляется наряд полиции (Ст. 105 УК РФ)"; dispbottom "Ну и посрать вы же получили 1 очко убийства!"; //Эти фразы запатентованы и если у вас есть с этим какие-либо проблемы то увидимся в суде.*/ kill_p ++; OnTimer100000: if(@MultiKill) @MultiKill = 0; if(@KillingSpree) @KillingSpree = 0; end; //} end; //} OnPCDieEvent: attachrid killedrid; //if(killedrrid == getcharid(0)) end; //for(.@a=0; .@a <= getarraysize($map$); .@a ++){ if(@KillingSpree) set @KillingSpree,@KillingSpree - @KillingSpree; if(@MultiKill) set @MultiKill,@MultiKill - @MultiKill; //if(strcharinfo(3) == $RankedMap$){ //callfunc("TakeElo"); //} //if(strcharinfo(3) == $map$[.@a]){ die_p ++; dispbottom "Поздравляю, вы умерли! Это будет стоить вам 5000 зени + налоги + доставка + на пиво"; //dispbottom "Не переживайте, ничего хорошего с вами не случилось"; //} //} OnInit: end; setarray .a$,"First Blood!!!","Double Kill!!!","Triple Kill!!!","Quadra Kill!!!","PENTA KILL!!!!!","KILLING SPREE!!!","RAMPAGE!!!","UNSTOPPABLE!!!","IS DOMINATING!!!","IS GODLIKE!!!","IS LEGENDARY!!!"; $First_Blood = 0;}// Ranked functions (RuAthena)// *********************************************************************function script GetElo { if(!Ranked_Rating) set Ranked_Rating, Ranked_Rating + 1000; set @elotype1, Ranked_Rating; set @elotype2, kill_p; set @elotype3, die_p; set @get_ratingtype1, @elotype2 + @elotype3 + rand(1,10); set @get_ratingtype2, @elotype1 + @get_ratingtype1 / 2; set @get_ratingtype3, @get_ratingtype2 + @get_ratingtype2; set @get_rating, @get_ratingtype3; set Ranked_Rating, Ranked_Rating + @get_rating; callfunc("Rating_Messager",1); return;}function script TakeElo { if(!Ranked_Rating) { set DoubleEloTake,1; return; } if(DounbleEloTake == 1){ set @elotype1, Ranked_Rating; set @elotype2, kill_p; set @elotype3, die_p; set @take_ratingtype1, @elotype2 + @elotype3 + rand(1,10); set @takeratingtype2, @elotype1 + @take_ratingtype1 / 2; set @take_ratingtype3, @take_ratingtype2 + @get_ratingtype2; set @take_rating, @take_ratingtype3; set Ranked_Rating, Ranked_Rating - @get_rating*2; set DoubleEloTake, 0; callfunc("Rating_Messager",2); return; } set @elotype1, Ranked_Rating; set @elotype2, kill_p; set @elotype3, die_p; set @take_ratingtype1, @elotype2 + @elotype3 + rand(1,10); set @take_ratingtype2, @elotype1 + @take_ratingtype1 / 2; set @take_ratingtype3, @take_ratingtype2 + @get_ratingtype2; set @take_rating, @take_ratingtype3; set Ranked_Rating, Ranked_Rating - @take_rating; callfunc("Rating_Messager",2); return;}function script Rating_Messager { if(getarg(0) == 1){ dispbottom "Вы получили + "+@get_rating+" персонального рейтинга"; dispbottom "Ваш текущий рейтинг составляет - "+Ranked_Rating+""; return; } if(getarg(0) == 2){ dispbottom "Вы потеряли "+@take_rating+" персонального рейтинга"; dispbottom "Ваш текущий рейтинг составляет - "+Ranked_Rating+""; return; }}Вот скриптик, работает все... но не работает выдача рейтинга и ваще функции с рейтингом не работают, ну и анонсы не работают... кароче ничего не работает что ниже OnPCKillEvent: ошибок ваще 0, не знаю что это... мб кто знает?о_О Ссылка на комментарий Поделиться на другие сайты Поделиться
Evil_1494 Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 А внедрить дебаг не пробовали?Тогда и узнали бы, какая функция и почему не работает. Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 28 октября, 2012 Автор Жалоба Поделиться Опубликовано 28 октября, 2012 не юзал их, просветите пожалуйста Ссылка на комментарий Поделиться на другие сайты Поделиться
Evil_1494 Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 не юзал их, просветите пожалуйста Самый простой способ - выводить текстовую информацию. Например: dispbottom "Этап 1 пройден"; 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 1) во всем скрипте функция Rating_Messager вызывается с одним параметром - "2".2) getarg(1)? Опять же откуда, если только один параметр Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 28 октября, 2012 Автор Жалоба Поделиться Опубликовано 28 октября, 2012 1) во всем скрипте функция Rating_Messager вызывается с одним параметром - "2".2) getarg(1)? Опять же откуда, если только один параметртебя я и ждал, можешь дать свой скайп? или аську... тут в другом проблема но ошибок не выдает Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 (изменено) } } OnInit: setarray .a$,"First Blood!!!","Double Kill!!!","Triple Kill!!!","Quadra Kill!!!","PENTA KILL!!!!!","KILLING SPREE!!!","RAMPAGE!!!","UNSTOPPABLE!!!","IS DOMINATING!!!","IS GODLIKE!!!","IS LEGENDARY!!!"; end;Перед инит енд мб?зы. Что за $First_Blood = 1; Изменено 28 октября, 2012 пользователем botka4aet Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 28 октября, 2012 Автор Жалоба Поделиться Опубликовано 28 октября, 2012 Да это я уже давно поменял, я уже мноооооого чего поменял и однох** тут хз в чем ошибка, ее вообще не выдает Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 28 октября, 2012 Автор Жалоба Поделиться Опубликовано 28 октября, 2012 } } OnInit: setarray .a$,"First Blood!!!","Double Kill!!!","Triple Kill!!!","Quadra Kill!!!","PENTA KILL!!!!!","KILLING SPREE!!!","RAMPAGE!!!","UNSTOPPABLE!!!","IS DOMINATING!!!","IS GODLIKE!!!","IS LEGENDARY!!!"; end;Перед инит енд мб?и без этого анонсы работали, но сломались почему-то. да и вообще если бы они работали меня бы выкинуло с игры т.к. звуки в клиент я не добавил еще Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 function script Rating_Messager { if(getarg(0) == 1){ dispbottom "Вы получили + "+@get_rating+" персонального рейтинга"; dispbottom "Ваш текущий рейтинг составляет - "+Ranked_Rating+""; return; } if(getarg(1) == 1){ dispbottom "Вы потеряли "+@take_rating+" персонального рейтинга"; dispbottom "Ваш текущий рейтинг составляет - "+Ranked_Rating+""; return; } return; } Так попробуй Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 28 октября, 2012 Автор Жалоба Поделиться Опубликовано 28 октября, 2012 if(getarg(0) == 1 || == 2 ) вот так должно быть, т.к. там только один аргумент, но все же это не то что нужно... я уже хз реально что со скриптом =_=p.s. всмысле что за $First_Blood = 1; ?? Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 28 октября, 2012 Автор Жалоба Поделиться Опубликовано 28 октября, 2012 обновил первый пост, вот что со скриптом сделал ни одной ошибки и все так же не работает, даже просто анонс Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 тебя я и ждал, можешь дать свой скайп? или аську... тут в другом проблема но ошибок не выдаетВоскресенье, 2 ночи, а ты меня напрячь хочешь? Негодяй.Обновил профиль, но скайпом я не пользуюсь, так что больше шансов найти меня в icq Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 /} Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 p.s. всмысле что за $First_Blood = 1; ??У тебя без set, без никого Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 28 октября, 2012 Автор Жалоба Поделиться Опубликовано 28 октября, 2012 p.s. всмысле что за $First_Blood = 1; ?? У тебя без set, без никого ну так то в rA уже так и сделали...теперь set в переменной не обязательно. хватит "peremennaya = chislo;" пс написал и в скайп и в аську, молчишь))) пысысы я заплачу пысысысы снова обновил скрипт Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 28 октября, 2012 Жалоба Поделиться Опубликовано 28 октября, 2012 ну так то в rA уже так и сделали...теперь set в переменной не обязательно. хватит "peremennaya = chislo;" пс написал и в скайп и в аську, молчишь))) пысысы я заплачу пысысысы снова обновил скрипт yayks А где можно почитать сколько плюшек по сравнению с eA туда впихнули? :rice: скупе не включен А аська... мб ты не прошел антибота? xD Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 28 октября, 2012 Автор Жалоба Поделиться Опубликовано 28 октября, 2012 ну так то в rA уже так и сделали...теперь set в переменной не обязательно. хватит "peremennaya = chislo;" пс написал и в скайп и в аську, молчишь))) пысысы я заплачу пысысысы снова обновил скрипт yayks А где можно почитать сколько плюшек по сравнению с eA туда впихнули? :rice: скупе не включен А аська... мб ты не прошел антибота? xD написал "алло" антибота не выбило... наверн в changelog на rathena.org Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 29 октября, 2012 Жалоба Поделиться Опубликовано 29 октября, 2012 Оцелот не написал, но проблема была решена.Причина ошибки неизвестна, т.к. скрипт я сразу переписал (правда под ea, с ушами в виде set var, value; но это недолго исправить) Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 29 октября, 2012 Автор Жалоба Поделиться Опубликовано 29 октября, 2012 Да я сам вырубился вчера)) ты ушел и я сразу даже проверить не успел, щас изменю под рА и проверю Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения