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

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

Вот имеется скрипт! Империум Арена!

Проблема скрипта в том что, не пишет когда прошло 20 минут и призы забрать уже нельзя( Пишет призы уже выданы! когда 10 минут прошло пишет жду ещё 10 еффекта 0...а когда подхожу к НПС пишет что выданы в чём проблема...может что-то не увидел?! Зарание огромный +

вот SQL:

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

ыы.. Отличился :D

Днем мельком глянул тему, но вчитываться в скрипт не стал.. Не зря видимо )

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

лан хайд поправлю! но я думал что лучше посмотрт профи, в которых Репа явно выше 15! а не нубы которые просто будут флудить! или стырят скрипт!

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

ну так помоги норм сделать) а то я в скриптах только основы знаю! Как его сделать норм но что-бы функции остались такими же)

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

  • 11 месяцев спустя...

Проблема с анюнсом ...

установил OnTimer60000: и OnTimer120000тобись должно быть 10 и 20 минут ... но проходит не более 2 минут и выдает сообщение

Так держать, вы защищаете Империум Арену уже 10 минут!

и за ним сразу

"Слава гильдии ["+GetGuildName($LastEmpGuild)+"], они защищали Империум Арену целый 20 минут

в чем косяк ?

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

  • 3 недели спустя...

Проверяй.Вроде работает.Может где и накосячил rolleyes.gif

Извините что вспомнил,но собственно сегодня проверил скрипт, подождал 20 минут и когда попробовал у НПЦ забрать приз сказал что уже выданы о_О ?? Что здесь не так и вот что-то странное выписывает Мап Сервер!!

ab415ba379a859bbd626037dc292.png

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

1) Я так понял когда прописываешь в Castle_db то Имп нельзя бить скиллами?? Увы это мне не нужно,мешает ли тот [Error] который в Map-сервере? Его можно убрать без прописывания в Castle_db??

2) Появилась 2 проблема у меня стоит еще один скрипт Emperium Арены в Prontera Field 8 когда ломаешь сначала его, потом тот что в pvp_n_5-5 нельзя бить,как так?

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

1) Я так понял когда прописываешь в Castle_db то Имп нельзя бить скиллами?? Увы это мне не нужно,мешает ли тот [Error] который в Map-сервере? Его можно убрать без прописывания в Castle_db??

2) Появилась 2 проблема у меня стоит еще один скрипт Emperium Арены в Prontera Field 8 когда ломаешь сначала его, потом тот что в pvp_n_5-5 нельзя бить,как так?

Ап

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

  • 4 месяца спустя...

Извините заранее снова я со своей сраной Империум ареной!

SQL Часть:

CREATE TABLE IF NOT EXISTS `arena_guildempladder` (
`gdbreaker_id` int(11) unsigned NOT NULL default '0',
`guildname` varchar(30) NOT NULL default '',
`EmpBreaked` smallint(6) unsigned NOT NULL default '0',
`keep_time` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`gdbreaker_id`),
KEY `guildname` (`guildname`),
KEY `EmpBreaked` (`EmpBreaked`),
KEY `keep_time` (`keep_time`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

CREATE TABLE IF NOT EXISTS `arena_prizeget` (
`guild_id` int(11) unsigned NOT NULL default '0',
`players` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`guild_id`),
KEY `players` (`players`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

CREATE TABLE IF NOT EXISTS `arena_prizegetcheck` (
`guild_id` int(11) unsigned NOT NULL default '0',
`player_acc_id` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`guild_id`),
KEY `player_acc_id` (`player_acc_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Сам скрипт:

-	script	emp_arena	-1,{
onreset:
stopnpctimer;
killmonster "pvp_n_5-5.gat","emp_arena::OnEMP";
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;
soundeffectall "yehaa.wav",0,"pvp_n_5-5.gat";
monster "pvp_n_5-5.gat",100,100,getguildName($LastEmpGuild),1288,1,"emp_arena::OnEMP";
initnpctimer;
end;

OnTimer600000:
set $guildonmap,getMapGuildUsers("pvp_n_5-5.gat",$LastEmpGuild);
if($guildonmap < 1)
{
announce "Все защищающие Империум Арену сбежали, она теперь свободна!",bc_all;
callsub onreset;
end;
}
mapannounce "pvp_n_5-5.gat","Так держать, вы защищаете Империум Арену уже 10 минут!",0;
end;

OnTimer1200000:
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 +"')";
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)+"], они защищали Империум Арену целый 20 минут!",0;
callsub onreset;
end;
}

pvp_n_5-5.gat,87,116,5 script Приз 100,{
mes "[Приз]";
mes "Что то хотели?";
if(select("Получить приз:Ничего")==2) close;
if( getcharid(2)==0 )
{
mes "Прости, ты не состоишь в гильдии";
close;
}
set .@Exist,0;
query_sql "SELECT `guild_id`,`players` FROM `arena_prizeget` WHERE `guild_id` = '"+getcharid(2)+"'", .@Exist, .@players;
if( !.@Exist )
{
mes "Прости, твоя гильдия не удерживала Империум Арену в течении 20 минут";
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;
}
if( .@players < 1 )
{
mes "Прости, все призы уже выданы";
close;
}
mes "Поздравляю, твой приз - Event Coin 3";
getitem 12103,3;
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;
}

Проблема, что 2 человека на арене после 20 минут!

Тот кто захватил Прости, ты уже получил приз за последнее удержание

А согильдийцу можно брать призы до бесконечности!

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

что за

//query_sql "DELETE FROM `arena_prizegetcheck` WHERE `guild_id` = '"+ $LastEmpGuild +"'"; // обнуляем список выдачи призов

блин..похоже в ней и ошибка!

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

В скрите несколько раз встречается `guild_id` = '"+ .@my_GID +"', но этот гид не задается

Блин если бы я понимал....ладно спасибо,я почитаю об GID-ах

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

В скрите несколько раз встречается `guild_id` = '"+ .@my_GID +"', но этот гид не задается

Блин если бы я понимал....ладно спасибо,я почитаю об GID-ах

Попробуй заменить .@my_GID на getcharid(2)ewbte.png

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

В скрите несколько раз встречается `guild_id` = '"+ .@my_GID +"', но этот гид не задается

Блин если бы я понимал....ладно спасибо,я почитаю об GID-ах

Попробуй заменить .@my_GID на getcharid(2)ewbte.png

Тоесть везде где он упомянут?

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

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