12 сообщений в этой теме

Доброй Ночи!

Пытаюсь сделать скрол который вызывает клона нашел код работает но зотел бы немного изменить! Помогите отредактировать! 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
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

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
0

Поделиться сообщением


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

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

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

1

Поделиться сообщением


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

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

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

Hercules

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

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

Изменено пользователем BlackGold
0

Поделиться сообщением


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


/*
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;
}

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 ) ) {

1

Поделиться сообщением


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

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

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

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

Изменено пользователем <HTML>
0

Поделиться сообщением


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

Есть ещё @evilclone, @clone вродь. Попробуй их.

1

Поделиться сообщением


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

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

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

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

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

2

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас