Перейти к содержанию

Помогите крабику :(


Рекомендуемые сообщения

// Раз появилось столько арен, почему бы не написать еще одну?
// 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, не знаю что это... мб кто знает?о_О

Ссылка на комментарий
Поделиться на другие сайты

не юзал их, просветите пожалуйста :)

Самый простой способ - выводить текстовую информацию.

Например: dispbottom "Этап 1 пройден";

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

1) во всем скрипте функция Rating_Messager вызывается с одним параметром - "2".

2) getarg(1)? Опять же откуда, если только один параметр

тебя я и ждал, можешь дать свой скайп? или аську... тут в другом проблема но ошибок не выдает

Ссылка на комментарий
Поделиться на другие сайты

}

}

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;

Изменено пользователем botka4aet
Ссылка на комментарий
Поделиться на другие сайты

}

}

OnInit:

setarray .a$,"First Blood!!!","Double Kill!!!","Triple Kill!!!","Quadra Kill!!!","PENTA KILL!!!!!","KILLING SPREE!!!","RAMPAGE!!!","UNSTOPPABLE!!!","IS DOMINATING!!!","IS GODLIKE!!!","IS LEGENDARY!!!";

end;

Перед инит енд мб?

и без этого анонсы работали, но сломались почему-то. да и вообще если бы они работали меня бы выкинуло с игры т.к. звуки в клиент я не добавил еще

Ссылка на комментарий
Поделиться на другие сайты

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;

}

Так попробуй :D

Ссылка на комментарий
Поделиться на другие сайты

if(getarg(0) == 1 || == 2 ) вот так должно быть, т.к. там только один аргумент, но все же это не то что нужно... я уже хз реально что со скриптом =_=

p.s. всмысле что за $First_Blood = 1; ??

Ссылка на комментарий
Поделиться на другие сайты

тебя я и ждал, можешь дать свой скайп? или аську... тут в другом проблема но ошибок не выдает

Воскресенье, 2 ночи, а ты меня напрячь хочешь? Негодяй.

Обновил профиль, но скайпом я не пользуюсь, так что больше шансов найти меня в icq

Ссылка на комментарий
Поделиться на другие сайты

p.s. всмысле что за $First_Blood = 1; ??

У тебя без set, без никого

ну так то в rA уже так и сделали...теперь set в переменной не обязательно. хватит "peremennaya = chislo;"

пс написал и в скайп и в аську, молчишь)))

пысысы я заплачу :D

пысысысы снова обновил скрипт

Ссылка на комментарий
Поделиться на другие сайты

ну так то в rA уже так и сделали...теперь set в переменной не обязательно. хватит "peremennaya = chislo;"

пс написал и в скайп и в аську, молчишь)))

пысысы я заплачу :D

пысысысы снова обновил скрипт

yayks

А где можно почитать сколько плюшек по сравнению с eA туда впихнули? :rice:

скупе не включен

А аська... мб ты не прошел антибота? xD

Ссылка на комментарий
Поделиться на другие сайты

ну так то в rA уже так и сделали...теперь set в переменной не обязательно. хватит "peremennaya = chislo;"

пс написал и в скайп и в аську, молчишь)))

пысысы я заплачу :D

пысысысы снова обновил скрипт

yayks

А где можно почитать сколько плюшек по сравнению с eA туда впихнули? :rice:

скупе не включен

А аська... мб ты не прошел антибота? xD

написал "алло" антибота не выбило...

наверн в changelog на rathena.org

Ссылка на комментарий
Поделиться на другие сайты

Оцелот не написал, но проблема была решена.

Причина ошибки неизвестна, т.к. скрипт я сразу переписал (правда под ea, с ушами в виде set var, value; но это недолго исправить)

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика