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

Баги и Ошибки в Афине


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

Есть несколько проблем...кто поможет огромное Спасибо и + =)

1.Почему не убирается Дроп с Арены прописал в Найтамар мап флаг вот пример pvp_n_5-5 mapflag pvp_nightmaredrop random,equip,300 а дроп всеравно включен??!

2. вот вопрос! ето Скриптерам!

Есть скрипт и прошу изменений!

- script emp_arena -1,{

OnInit:

monster "pvp_n_5-5.gat",99,100,"Империум",1288,1,"emp_arena::OnEMP";

end;

OnEMP:

monster "pvp_n_5-5.gat",99,100,strcharinfo(0),1288,1,"emp_arena::OnEMP";

announce "Игрок "+strcharinfo(0)+" захватил Империум Арену!",0;

set $@emp_owner$,strcharinfo(0);

initnpctimer;

end;

OnTimer1:

if($@emp_owner$=="none"){ killmonsterall "pvp_n_5-5.gat"; monster "pvp_n_5-5.gat",99,100,"Империум",1288,1,"emp_arena::OnEMP"; end; }

if(!getcharid(0,$@emp_owner$)){ stopnpctimer; set $@emp_owner$,"none"; end;

} else {

attachrid(getcharid(3,$@emp_owner$));

getmapxy .@empmap$,.@x,.@y,0;

if(.@empmap$ == "pvp_n_5-5.gat"){ getitem 7227,1; initnpctimer; end; }

}

end;

OnPCLogoutEvent:

if(strcharinfo(0)==$@emp_owner$){

killmonsterall "pvp_n_5-5.gat";

monster "pvp_n_5-5.gat",99,100,"Империум",1288,1,"emp_arena::OnEMP";

stopnpctimer;

set $@emp_owner$,"none";

}

end;

}

Нужно что-бы писало не имя кто Захватил и Ги и Имя

и ИМП назывался ГИ которая захватила...

Приз воопще не даёт...а просьба что-бы давало всей ги! за 20 минут удержания..при перезахвате время сбрасывалось даже той же ГИ которая удерживает...

и работала кругло суточно а не тогда когда ГВ включается!

Вот просьбы кто может помогите подскажите!

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

1.Почему не убирается Дроп с Арены прописал в Найтамар мап флаг вот пример pvp_n_5-5 mapflag pvp_nightmaredrop random,equip,300 а дроп всеравно включен??!

То есть вы ставите флаг, чтобы выключить дроп? xD Вообще то флаг ставят, чтобы включить дроп.

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

с дропом всё решил!! спасибо! а на счёт скрипта кто-то поможет дописать его толком как в моих запросах...а то я в скриптах ТЮ-ТЮ!! :blink:

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

  • 1 месяц спустя...

в скрипте не даёт призы за удержание нужно поставить что бы шёл анонс через каждые 5 минут всего 20 минут удержания арены и давало приз и как что-бы при захвате выкидовало всех кроме согильдийцев)

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

PhpMyAdmin -> База данных -> SQL -> Добавляешь туда запрос

Изменено пользователем Killing Devil
Изменено в лучшую сторону ;)
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

-	script	emp_arena	-1,{
onreset:
stopnpctimer;
killmonster "pvp_n_5-5.gat","emp_arena::OnEMP;
callsub OnInit;
end;
OnInit;
set $LastEmpKiller$, "EMPERIUM";

ошибка вот

callsub OnInit;

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

блин мне кто нибуть поможет....я не введу в чём проблема?!! уже в папке doc в афине шарил и нифига))) помогите кто-нибудь....стукните в асю или я не знаю! ася: 552-316-117

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

всё решил)) сори оштбка вот в чём

onreset:
stopnpctimer;
killmonster "pvp_n_5-5.gat","emp_arena::OnEMP";
callsub OnInit;
end;
OnInit; заместь него OnInit:
set $LastEmpKiller$, "EMPERIUM";

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

блин не одно так второе!!!

-	script	emp_arena	-1,{
onreset:
stopnpctimer;
killmonster "pvp_n_5-5.gat","emp_arena::OnEMP";
callsub OnInit;
end;
OnInit:
set $LastEmpKiller$, "EMPERIUM";
monster "pvp_n_5-5.gat",99,100,$LastEmpKiller$,1288,1,"emp_arena::OnEMP";
end;
OnEMP:
set $emp_kepp_time,getnpctimer(0)/1000; // Секунды удержания импа
stopnpctimer;
set $LastEmpGuild, getcharid(2);
MapRespawnGuildID "pvp_n_5-5.gat",$LastEmpGuild,2;
announce "Игрок "+strcharinfo(0)+" из гильдии [" + getguildName($LastEmpGuild) + "] захватил Империум Арену!",0;
monster "pvp_n_5-5.gat",100,100,$LastEmpGuild,1288,1,"emp_arena::OnEMP";
initnpctimer;
end;
OnTimer1200000://3600000 - время проверки ставь сколько нужно. Сейчас стоит 20 минут.
set $guildonmap,getMapGuildUsers("pvp_n_5-5.gat",$LastEmpGuild);
if($guildonmap < 1){
announce "Все защищающие Емпериум Арену сбежали, она теперь свободна!",bc_all;
callsub onreset;
end;
}
mapannounce "pvp_n_5-5.gat","Так держать, вы защищаете Емпериум Арену уже 20 минут!",bc_map;
end;
// Время выдачи призов. Сейчас стоит час.
OnTimer3600000://10800000 - час времени.
set $emp_kepp_time,getnpctimer(0)/1000; // Секунды удержания импа
stopnpctimer;
set $guildonmap,getmapguildusers("pvp_n_5-5.gat",$LastEmpGuild);
if($guildonmap < 1){
announce "Все защищающие Емпериум Арену сбежали, она теперь свободна!",bc_all;
callsub onreset;
end;
}
// записываем инфу для выдачи призов
set .@numplayers, $guildonmap; // тупо сколько народу было на арене после 3 часов
set .@Exist,0;
query_sql "SELECT `guild_id` FROM `arena_prizeget` WHERE `guild_id` = '"+ $LastEmpGuild +"'", .@Exist;
if (.@Exist){
query_sql "UPDATE `arena_prizeget` SET `players` = `players` + '"+ .@numplayers +"' WHERE `guild_id` = '"+ $LastEmpGuild +"'";
} else {
query_sql "INSERT INTO `arena_prizeget` (`guild_id`, `players`) VALUES ('"+ $LastEmpGuild +"', '"+ .@Exist[0] +"')";
}
query_sql "DELETE FROM `arena_prizegetcheck` WHERE `guild_id` = '"+ $LastEmpGuild +"'"; // обнуляем список выдачи призов

// записываем время удержания
set .@Exist,0;
query_sql "SELECT `gdbreaker_id`, `keep_time` FROM `arena_guildempladder` WHERE `gdbreaker_id` = '"+ $LastEmpGuild +"'", .@Exist, .@time;
if (!.@Exist){ // если нету записи вообще
query_sql "INSERT INTO `arena_guildempladder` (`gdbreaker_id`, `guildname`, `keep_time`) VALUES ('"+ $LastEmpGuild +"', '"+ GetGuildName($LastEmpGuild) +"', '"+ $emp_kepp_time +"')";
end;
}
// добавляем время
query_sql "UPDATE `arena_guildempladder` SET `keep_time` = `keep_time` + '"+ $emp_kepp_time +"' WHERE `gdbreaker_id` = '"+ $LastEmpGuild +"'";

mapannounce "pvp_n_5-5.gat","Слава гильдии ["+GetGuildName($LastEmpGuild)+"], они защищали Емпериум Арену целый 1 час!",bc_map;
callsub onresetEmp;
end;
}

pvp_n_5-5.gat,87,116,5 script Приз 100,{

mes "[Приз]";
mes "Получи приз";
switch(select("Получить приз")){
case 1:
set .@my_GID,getcharid(2);
if(.@my_GID==0){
mes "Прости, ты не состоишь в гильдии";
close;
}
set .@Exist,0;
query_sql "SELECT `guild_id`,`players` FROM `arena_prizeget` WHERE `guild_id` = '"+ .@my_GID +"'", .@Exist, .@players;
if(!.@Exist){
mes "Прости, твоя гильдия не удерживала Емпериум Арену в течении 1 часa";
close;
}
set .@Exist,0;
query_sql "SELECT `player_acc_id` FROM `arena_prizegetcheck` WHERE `guild_id` = '"+ .@my_GID +"' AND `player_acc_id` = '"+ getcharid(3) +"'", .@Exist;
if(.@Exist){
mes "Прости, ты уже получил приз за последнее удержание";
close;
}
set .@prized_players,.@players[0];
if(.@prized_players < 1){
mes "Прости, все призы уже выданы";
close;
}
mes "Поздравляю, твой приз - 10 TCG + 20kk Zeny!";
set Zeny,Zeny+20000000;
getitem 7227,10;
set .@prized_players,.@prized_players-1;
query_sql "UPDATE `arena_prizeget` SET `players` = '"+ .@prized_players +"' WHERE `guild_id` = '"+ .@my_GID +"'";
// а теперь запишем аккаунт айди, чтобы не получить одному призы за нескольких чаров
query_sql "INSERT INTO `arena_prizegetcheck` (`guild_id`, `player_acc_id`) VALUES ('"+ .@my_GID +"', '"+ getcharid(3) +"')";
close;
}
}

Когда захватил Имп ГМ-ом писало имя импа 3, а когда игроком пишет 11 на скрине всё видно что не так???!

20111006203718.jpg

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

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