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

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

Доброй Ночи!

Пытаюсь сделать скрол который вызывает клона нашел код работает но зотел бы немного изменить! Помогите отредактировать! 1)При нажатии на скрол появляется клон но скрол не исчезает холесь бы что бы скрол исчезал после использование. 2) Исчезает через 60 сек хотелось бы что бы исчезал только после смерти! Помогите Профи) 3) Во время использование скрола

ошибка и падает серв! Может есть у кого скрипт ровный ?


{ set @Char_ID,getcharid(0); if (getmapxy(@mapname$,@mapx,@mapy,0,strcharinfo(0)) == 0) clone @mapname$,@mapx,@mapy,strcharinfo(0),@Char_ID,@Char_ID,0,1,60; }

И ещё один такой момент интересен ! Можно ли сделать так что бы эти клоны не били людей ! Только мобов

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


clone "<map name>",<x>,<y>,"<event>",<char id>{,<master_id>{,<mode>{,<flag>,<duration>}}}

<duration> = время клона, установи 0. В скрипте смерти дописать уничтожение клонов


ID,DBName,ScreenName,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Class,Gender,Loc,wLV,eLV,
Refineable,View,{Script},{OnEquip_Script},{OnUnequip_Script}

<Type> = тип предмета. Установи 2

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

Добавил это в eathena работает а вот в hercules нет в чем ошибка?


{
Id: 29028
AegisName: "Clone_Scroll_2_1"
Name: "Cloner"
Type: 11
Buy: 1000
Weight: 10
BuyingStore: true
Nouse: {
sitting: true
}
Script: <" atcommand strcharinfo(0)+":@slaveclone "+getcharid(0); ">
},

Решил проблему

{ atcommand "@slaveclone "+ strcharinfo(0); }

Но как сделать что бы при убийстве клона он не шел как мвп

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

Но как сделать что бы при убийстве клона он не шел как мвп

Что Вы имеете в виду? Какой эмуль используется?

Hercules

У меня мвп лидер, когда вызываю через скрол клона(slaveclone) и его из игроков кто то убивает то он идет как мвп, это проблема в мвп лидере или где то срк поменять нужно?

Либо можно сделать как то мап флаг что бы не могли использовать на пвп аренах

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


/*
alter table `char` add column mvp_rank int(11) default 0 after delete_date, add index (mvp_rank);
create table mvp_rank_archive (
`date` datetime,
pos tinyint(4) unsigned,
cid int(11) unsigned default 0,
name varchar(23) default '',
points int(11) unsigned not null,
primary key ( `date`, pos )
) engine innodb;
*/
prontera,155,198,3 script МвП Лидер 10038,{
mes "[МвП Лидер]";
mes "Здраствуйте!";
mes "What are you doing here?";
next;
switch(select("Check rankings.:My stats.:Previous Month ranking")) {
case 1:
mes "[MVP Ladder]";
mes "Rankings :->";
.@nb = query_sql( "select name, mvp_rank from `char` where mvp_rank > 0 order by mvp_rank desc limit 10", .@name$, .@count );
if ( !.@nb ) {
mes "no entry";
close;
}
for ( .@i = 0; .@i < .@nb; .@i++ )
mes ( .@i +1 )+". "+ .@name$[.@i] +" -> "+ .@count[.@i] +" points";
close;
case 2:
query_sql "select mvp_rank from `char` where char_id = "+ getcharid(0), .@killed;
mes "[MVP Ladder]";
mes "You have killed "+ .@killed +" MVPs";
close;
case 3:
mes "[MVP Ladder]";
mes "Last month ranking";
if ( gettime(6) > 10 )
.@store_date$ = gettime(7) +"-"+( gettime(6) -1 )+"-00 00:00:00";
else if ( gettime(6) > 1 )
.@store_date$ = gettime(7) +"-0"+( gettime(6) -1 )+"-00 00:00:00";
else
.@store_date$ = ( gettime(7) -1 ) +"-12-00 00:00:00";
.@nb = query_sql( "select name, points from mvp_rank_archive where `date` = '"+ .@store_date$ +"' order by pos", .@name$, .@count );
if ( !.@nb ) {
mes "no entry";
close;
}
for ( .@i = 0; .@i < .@nb; .@i++ )
mes ( .@i +1 )+". "+ .@name$[.@i] +" -> "+ .@count[.@i] +" points";
close;
}
close;
OnInit:
if ( $mvp_ladder_last_given == atoi( gettime(7) +""+ gettime(6) ) ) end;
goto L_give;
OnClock0000:
if ( gettime(5) != 1 ) end;
L_give:
.@nb = query_sql( "select char_id, name, mvp_rank from `char` where mvp_rank > 0 order by mvp_rank desc limit 10", .@cid, .@name$, .@killed );
if ( !.@nb ) end;
setarray .@reward, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510;
setarray .@amount, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1;
for ( .@i = 0; .@i < .@nb; .@i++ )
query_sql "insert into mail ( send_name, dest_id, title, message, nameid, amount, identify, zeny, time ) values ( '"+ escape_sql( .@name$[.@i] ) +"', "+ .@cid[.@i] +", '[MVP RANK]', 'Congratulations for earning No. "+( .@i +1 )+" position in MVP rank. Here is your reward.', "+ .@reward[.@i] +", "+ .@amount[.@i] +", 1, 0, unix_timestamp( now() ) )";
if ( gettime(6) > 10 )
.@store_date$ = gettime(7) +"-"+( gettime(6) -1 )+"-00 00:00:00";
else if ( gettime(6) > 1 )
.@store_date$ = gettime(7) +"-0"+( gettime(6) -1 )+"-00 00:00:00";
else
.@store_date$ = ( gettime(7) -1 ) +"-12-00 00:00:00";
for ( .@i = 0; .@i < .@nb; .@i++ )
.@store$[.@i] = "( '"+ .@store_date$ +"', "+( .@i +1 )+", "+ .@cid[.@i] +", '"+ escape_sql( .@name$[.@i] ) +"', "+ .@killed[.@i] +" )";
query_sql "insert into mvp_rank_archive values "+ implode( .@store$, "," );
query_sql "update `char` set mvp_rank = 0"; // reset the ladder
$mvp_ladder_last_given = atoi( gettime(7) +""+ gettime(6) );
end;
OnNPCKillEvent:
if ( getmonsterinfo( killedrid, MOB_MVPEXP ) ) {
query_sql "update `char` set mvp_rank = mvp_rank +1 where char_id = "+ getcharid(0);
query_sql "select mvp_rank from `char` where char_id = "+ getcharid(0), .@killed;
dispbottom "~ You've killed "+ .@killed +" MVP. ~";
specialeffect2 EF_HEAL2;
}
end;
}
{
OnInit:
waitingroom "МвП Лидер",0;
end;
}

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

У клонов по дефолту ID в диапазоне 4001 - 5000.

При вызове функции getmonsterinfo сервер не может найти в базе моба с таким ID и возвращает -1

По этой причине срабатывает условие.

Так же получаем ошибку в консоль:


[Error]: buildin_getmonsterinfo: Wrong Monster ID: 4001

Для решения проблемы необходимо заменить:


if ( getmonsterinfo( killedrid, MOB_MVPEXP ) ) {

на:


if ( killedrid < 4001 && getmonsterinfo( killedrid, MOB_MVPEXP ) ) {

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

Добрый день Functor а как можно сделать что бы клон вызывался с моим шмотом ну что бы у него атака такая же была и итд

используя этот скрипт он вызывает клона но шмота у него нет моего использую eathena

{ atcommand "@slaveclone "+ strcharinfo(0); }

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

Добрый день Functor а как можно сделать что бы клон вызывался с моим шмотом ну что бы у него атака такая же была и итд

используя этот скрипт он вызывает клона но шмота у него нет моего использую eathena

{ atcommand "@slaveclone "+ strcharinfo(0); }

Клон это моб. А для моба не существует такого понятия как шмот.

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

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