-
Постов
917 -
Зарегистрирован
-
Посещение
-
Победитель дней
125
Сообщения, опубликованные Sanasol
-
-
Я открываю ссылки на колесико. Это стопроцентов новое окно
- 1
- 1
-
хоть бы заменил по новые ревизии пару строк. Точнее они новые уже почти год
-
На рус еа была. Тут нету и решения там не было. Все что надо сделать я написал.
Смотри другие скрипты пвп в пример
-
Я уже писал об этом. Надо вписать все действия в OnPCKillEvent
через attachrid
-
Это тебе поможет
- 1
-
Вопрос задают НПЦу. Отвечает админ через админку на сайте.
1. NPC:
prontera,164,167,5 script Support service 89,{
mes "Hi, I can answer any question!";
mes "Enter your question and within days you will necessarily answer.";
switch(select("Ask a question","^FF0000Show Answer^000000","Cancel")){
case 1:
next;
mes "Enter your question";
input .@question$;
if(.@question$=="") { mes "You must enter a question"; close;
} else {
query_sql("INSERT INTO `questions` (`account_id`, `question`, `read`) VALUES ('"+getcharid(3)+"', '"+.@question$+"', '0')");
next;
mes "Question posted!";
mes "Come back later and select the menu item 'Show Answer '";
close;
}
break;
case 2:
query_sql("select id,question from `questions` where `account_id`='"+getcharid(3)+"' and `read`='1' order by `id` desc", @id, @question$);
if (@id[0] == 0) { next; mes "Your question is not answered or you did not ask the question"; close; } else {
mes "Your questions:";
mes @id[0]+" "+@question$[0];
if (@id[1] != 0){mes @id[1]+" "+@question$[1];}
if (@id[2] != 0){mes @id[2]+" "+@question$[2];}
if (@id[3] != 0){mes @id[3]+" "+@question$[3];}
if (@id[4] != 0){mes @id[4]+" "+@question$[4];}
next;
mes "Enter the question number to which you wish to receive a response.";
input @idq;
query_sql("select question,answer,author from `questions` where `id`='"+@idq+"' and `read`='1'", @question$, @answer$, @auth$);
mes "Question: "+@question$[0]+"";
mes "Answer: "+@answer$[0]+"";
mes "Answered by: "+@auth$[0]+"";
close;
}
break;
case 3:
close;
break;
}
}2. Table
-- ----------------------------
-- Table structure for `questions`
-- ----------------------------
DROP TABLE IF EXISTS `questions`;
CREATE TABLE `questions` (
`id` int(5) NOT NULL auto_increment,
`account_id` int(11) NOT NULL,
`question` varchar(300) collate utf8_bin NOT NULL,
`answer` varchar(500) collate utf8_bin NOT NULL,
`read` int(1) NOT NULL,
`author` varchar(15) collate utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=220 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;3. Web part
<?
$db = mysql_connect ("localhost","root","vertrigo");
mysql_select_db("ragnarok",$db);
$id = $_GET['id'];
if(!isset($id))
{
$result = mysql_query("SELECT `account_id`,`question`,`id` FROM `questions` where `read`='0'");
$myrow = mysql_fetch_array($result);
mysql_query("SET SESSION CHARACTER SET cp1251");
mysql_query("SET NAMES cp1251");
do
{
printf ("<div align='center'><p> %s || <a href='index.php?id=%s'>%s</a></p></div>", $myrow['account_id'], $myrow['id'], $myrow['question']);
}
while($myrow = mysql_fetch_array($result));
}
else
{
$id = $_GET['id'];
$result = mysql_query("SELECT `account_id`,`question` FROM `questions` where `id`='$id'");
$myrow = mysql_fetch_array($result);
mysql_query("SET SESSION CHARACTER SET cp1251");
mysql_query("SET NAMES cp1251");
?>
<div align="center">
<?
echo "Account ID: ".$myrow['account_id']."<br />";
echo "Question: ".$myrow['question'];
?>
<form action="index.php?do=enter_answer" method="post" target="_top">
Текст ответа:<br><textarea name="answer" cols="30" rows="10" id="answer"></textarea><br>
<br>
<input name="id" type="hidden" value="<? echo $id; ?>">
Автор:<br><input name="author" type="text" cols="30" value=" "><br>
<input name="submit" type="submit" value="Reply">
</form>
</div>
<?
}
if($_GET['do'] == "enter_answer")
{
$answer = trim($_POST["answer"]);
$author = trim($_POST["author"]);
$id = trim($_POST["id"]);
$db = mysql_connect ("localhost","root","vertrigo");
mysql_select_db("ragnarok",$db);
$result = mysql_query("UPDATE `questions` SET `answer`='$answer', `author`='$author', `read`='1' WHERE `id`='$id'");
if($result == 'true')
{
echo "<div align='center'>"."<font color='#0066FF'>"."You have successfully answered!"."</font>"."</div>";
echo '<head>
<META HTTP-EQUIV="Refresh" CONTENT="3;URL=index.php">
</head>';
}
else
{
echo "<div align='center'>"."<font color='#FF0000'>"."FAIL!"."</font>"."</div>";
echo '<head>
<META HTTP-EQUIV="Refresh" CONTENT="3;URL=index.php">
</head>';
}
}
?>Questions list:
Answer:
- 3
-
Уязвимости там есть, я не фильтровал ничего и не проверял. Потому что только я знаю где стоит админка.
-
-
при чем тут зенд? Зенд для зашифрованых скриптов используют...
-
скрины старые. админка у тебя моя вежливо стыренная вот скрины и взял чтобы не скринить
-
в вертриго последнем вообще пиздец сколько глюков
-
сабж...
Нужно написать пару скриптов. Руки кривые поставить сам не могу на локалхосте.
-
Хм... Я в php новичек.
Я сделал все так как вы сказали.
Но вот 1 ошибка
Parse error: syntax error, unexpected '}' in C:\Program Files\VertrigoServ\www\Framero.ru\index.php on line 172высветилась и я попробовал её поправить но не вышло.
Пожалуйста помогите нубу
Мы это с первого раза поняли. Я код посмотрел с синтаксисом по плану все в порядке. проверять не охота ночью уже
Попробуй другой веб-сервер поставить. (Денвер или XAMPP)
Vertrigo немного плохо работает.
- 1
-
По коду все нормально
-
РФка это Rising Force?
в папке дата еще можно idnum2itemdesctable.txt кажется называется
- 2
-
//Придумал Dis[IP]
//Написал Санчик
//Проверил Dis[IP] :anime (2):
- script truecoolцmod -1,{
OnInit:
set .max_level,99; // Max Level
set .dropexp,0;
set .giveexp,0;
end;
OnPcDieEvent:
if(killerrid == getcharid(3)) end;
if ( BaseLevel < .max_level) {
set .dropexp,BaseLevel*1000;
set BaseExp,BaseExp-.dropexp;
set BaseLevel,BaseLevel-1;
dispbottom "Поздравляем вы умерли!";
dispbottom "Налог на смерть 1 уровень и "+.dropexp+" очков опыта";
}
end;
OnPcKillEvent:
set .giveexp,BaseLevel*1000;
set BaseExp,BaseExp+.giveexp;
dispbottom "Поздравляем вы убили человека!";
dispbottom "К вам уже отправляется наряд полиции (Ст. 105 УК РФ)";
dispbottom "Ну и посрать вы же получили "+.giveexp+" очков опыта";
end;
}- 4
-
Не очень хочется что-то писать. Смотрите сами)
НА свне: https://sanasol-project.googlecode.com/svn/branches/other/sanasol-admin.zip
Настройка:
1. Импорт tables.sql
2. Редактирование mysql.php и nmysql.php
Все аккаунты:
Информация о аккаунте:
Все персонажи (поиск работает):
Информация о персонаже:
Бан:
- 3
-
Скрипты которые должны быть везде.
Распознаватель
prontera.gat,139,188,6 script Identify Girl 846,{
set @identify, 1;
for(set @i, 0; @i < @inventorylist_count; set @i, @i + 1) {
if (@inventorylist_identify[@i] == 0) set @identify, @identify + 1;
}
if (@identify == 0) goto L_Nothing;
L_Nothing:
mes "[Deckard Cain]";
mes "У тебя нету неопознанных вещей.";
close;
}
}Для получения макс уровня. т.к. когда ставишь 255 качаться можно до 254
prontera,151,181,0 script 255ый Лвл 72,{
if(BaseLevel == 255)goto _Zeny;
if(BaseLevel == 254)goto str2;
str2:
mes "[Макс Левел]";
mes "Чтобы стать Макс Лвлом Принеси 10 поринг карт и 10 кк зени";
next;
menu "Да",yes,"Нет",no;
yes:
mes"Окей";
next;
menu "Да",str,"Нет",no;
str:
if(countitem(4001) < 9)goto No_Zeny;
if(Zeny < 10000000)goto No_Zeny;
delitem 4001,10;
atcommand strcharinfo(0) + ":@blvl 1";
atcommand strcharinfo(0) + ":@zeny -10000000";
set StatusPoint, StatusPoint + rand(1000,5000);
announce strcharinfo(0) + " Получил 255ый Уровень!", bc_all|bc_yellow;
mes "Спс !! Пока!!";
close;
no:
mes" Как знаеш, пока!";
close;
_Zeny:
mes"Нужен 254 левел";
close;
No_Zeny:
mes"У тебя нету денег!\карт!";
close;
}Аннонс при поулчении макс уровня
- script lvl_announce -1,{
end;
OnPCBaseLvUpEvent:
if (BaseLevel == 255) {
announce "Поздравляем "+strcharinfo(0)+" c 255 базовым уровнем!",bc_yellow|bc_all;
end;
}
}МвП автоевент
/////////////////////////////////////////////
//By Sanasol for Mouse Ragnarok Online//
////////////////////////////////////////////
prontera,0,0,0 script announce -1,{
end;
OnInit:
//Время в которое будет происходит аннонс
OnClock0200:
OnClock0400:
OnClock0600:
OnClock0800:
OnClock1000:
OnClock1200:
OnClock1400:
OnClock1600:
OnClock1800:
OnClock2000:
OnClock2200:
OnClock0000:
initnpctimer;
OnTimer0:
announce "Мвп Эвент начнется через 1 минуту",0,0x00ff00;
end;
OnTimer1000:
enablenpc "Kenny";
announce "В пронтере появился NPC(MVP Warper) - 'Kenny'.",0,0x00ff00;
end;
OnTimer60000:
stopnpctimer; //отключаем таймер
//disablenpc "Kenny";
killmonsterall "poring_c01";
sleep 60000;
mapannounce "poring_c01","Первое Нашествие монстров через 10 секунд",0,0x00ff00;
sleep 10000;
monster "poring_c01",0,0,""+getmonsterinfo(1511,0)+"",1511,5; //AmonRA
monster "poring_c01",0,0,""+getmonsterinfo(1751,0)+"",1751,3; //Valkyrie
monster "poring_c01",0,0,""+getmonsterinfo(1039,0)+"",1039,5;//бафомёт
sleep 180000;
mapannounce "poring_c01","Второе Нашествие монстров через 10 секунд",0,0x00ff00;
sleep 10000;
monster "poring_c01",0,0,""+getmonsterinfo(1157,0)+"",1086,5; //_Pharaon_
monster "poring_c01",0,0,""+getmonsterinfo(1140,0)+"",1312,3; //Marduk
monster "poring_c01",0,0,""+getmonsterinfo(1297,0)+"",1583,5;//Ancient Mummy
sleep 180000;
mapannounce "poring_c01","Третье Нашествие монстров через 10 секунд",0,0x00ff00;
sleep 10000;
monster "poring_c01",0,0,""+getmonsterinfo(1157,0)+"",1734,1; //_Pharaon_
monster "poring_c01",0,0,""+getmonsterinfo(1140,0)+"",1502,1; //Marduk
monster "poring_c01",0,0,""+getmonsterinfo(1297,0)+"",1779,1;//Ancient Mummy
disablenpc "Kenny";
stopnpctimer; //отключаем таймер
end;
}
prontera,155,181,4 script Kenny 961,{
mes "Эвент начнётся после того как все участники будут зарегистрированны.";
mes "Ты хочеш принять участие?";
next;
mes "Хорошо, вы зарегистрированны";
mes "Хотите попасть в локацию эвента?";
next;
menu "Go",case1,"Забить 8)",case2;
case1:
warp "poring_c01",0,0;
close;
case2:
mes "[Mvp]";
mes "Хорошо, приходите когда захотите.";
close;
}
// -- Mapflags
poring_c01 mapflag nowarp
poring_c01 mapflag nowarpto
poring_c01 mapflag noteleport
poring_c01 mapflag nosave SavePoint
poring_c01 mapflag nomemo
poring_c01 mapflag nobranch
poring_c01 mapflag nopenalty
//
//Так для фана. Кто вошел
- script OnLogin -1,{
Onpcloginevent:
announce strcharinfo(0) + " Вошел в мир!", bc_all|bc_yellow;
end;
}Ловец порингов. Который всегда когда из инета берешь не работает....
переделал на свой манер. + он РАБОЧИЙ
- script poring_event -1,{
Onclock0100:
Onclock0300:
Onclock0500:
Onclock0700:
Onclock0900:
Onclock1100:
Onclock1300:
Onclock1500:
Onclock1700:
Onclock1900:
Onclock2100:
Onclock2300:
donpcevent "Poringcatcher::OnWarp";
OnTimer0:
announce "Начинается Евент Ловец Порингов.",0,0x00ff00;
announce "В пронтере появился NPC - Poring Catcher.",0,0x00ff00;
enablenpc "PoringCatcher";
end;
}
prontera,157,179,3 script PoringCatcher 805,{
OnTouch:
mes "[Poringcatcher]";
mes "Привет "+strcharinfo(0)+" что ты хочешь??";
next;
menu "Войти",L_enter,"Инфо",L_info,"Ничего",bye;
close;
L_enter:
mes "[Poringcatcher]";
mes "Have Fun!";
next;
warp "poring_w01", 100, 100; end;
L_info:
mes "[Poringcatcher]";
mes "Я вызываю 100 Poring'оф.";
mes "Настояший только один";
mes "Если ты его найдешь получишь награду";
mes "Good Luck.";
close;
bye:
mes "[Poringcatcher]";
mes "Bye.";
close;
OnInit:
disablenpc "Poringcatcher";
end;
OnWarp:
initnpctimer;
enablenpc "Poringcatcher";
donpcevent "Poringsummoner::OnSummon";
end;
OnTimer600000:
stopnpctimer;
disablenpc "Poringcatcher";
killmonster "poring_w01.gat","All";
end;
}
- script Poringsummoner -1,{
OnSummon:
monster "poring_w01.gat",0,0,"Poring",1002,1,"poringwin::OnMobKilled";
monster "poring_w01.gat",0,0,"Pouring",1002,10,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Proing",1002,10,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Poirng",1002,10,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Poing",1002,10,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"I'm not a Poring",1002,5,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Gnirop",1002,1,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Poring",1113,1,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Poring",1062,1,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Por|ng",1002,10,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Por1ng",1002,10,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Porong",1002,10,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"P0ring",1002,10,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"P@ring",1002,10,"poringlose::OnMobKilled";
monster "poring_w01.gat",0,0,"Porng",1002,1,"poringlose::OnMobKilled";end;
}
- script poringwin -1,{
OnMobKilled:
dispbottom "Грац Ты нашел меня!";
announce "Поринга нашел игрок "+ strcharinfo(0) +"! Поздравляем его!",0;
getitem 7227,1;
disablenpc "Poringcatcher";
killmonster "poring_w01.gat","All";
end;
}
- script poringlose -1,{
OnMobKilled:
dispbottom "Хаха ты не угадал.";
percentheal -100,-100;
warp "prontera",157,175;
end;
}Ну и конечно варпер на везде xD
prontera,161,193,4 script Проводник::Warper 963,{
set $@namewarper$,"Проводник";
mes "["+$@namewarper$+"]";
mes "Привет,я будут твоим Warperом в мире Рун-Мидграда.Куда желаешь отправится?";
next;
switch(select("В последнею точку ( ^0065DF"+#lastwarploc$+"^000000 )","В город","В поздемелье","В локацию около города...")){
//// Towns ////
case 2:
mes "В какой именно город тебя проводить?";
switch(select("Пронтера","Альберта","Аль-Де-Баран","Аматсу","Аотайя","Гефен","Кунлун","Излюд","Комодо","Лайтхайзен","Лоянг","Люти","Морок","Нифхельм","Пайон","Рахель","Юно","Умбала","Хугель","Эйнброх","Московия")){
case 2:
callfunc "teleportation","alberta",192,147;
break;
case 3:
callfunc "teleportation","aldebaran",140,131;
break;
case 4:
callfunc "teleportation","amatsu",198,184;
break;
case 5:
callfunc "teleportation","ayothaya",150,114;
break;
case 6:
callfunc "teleportation","geffen",119,59;
break;
case 7:
callfunc "teleportation","gonryun",160,121;
break;
case 8:
callfunc "teleportation","izlude",128,114;
break;
case 9:
callfunc "teleportation","comodo",209,143;
break;
case 10:
callfunc "teleportation","lighthalzen",158,92;
break;
case 11:
callfunc "teleportation","louyang",210,108;
break;
case 12:
callfunc "teleportation","xmas",147,134;
break;
case 13:
callfunc "teleportation","morocc",156,93;
break;
case 14:
callfunc "teleportation","niflheim",85,154;
break;
case 15:
callfunc "teleportation","payon",152,75;
break;
case 1:
callfunc "teleportation","prontera",155,181;
break;
case 16:
callfunc "teleportation","rachel",129,140;
break;
case 17:
callfunc "teleportation","yuno",157,51;
break;
case 18:
callfunc "teleportation","umbala",145,155;
break;
case 19:
callfunc "teleportation","hugel",96,145;
break;
case 20:
callfunc "teleportation","einbroch",236,199;
break;
case 21:
callfunc "teleportation","moscovia",223,191;
break;
}
break;
//// Dungeons ////
case 3:
mes "В какое именно подземелье вы хотите отправится?";
switch(select(" Abyss Dungeon","Amatsu Dungeon","Ant Hell","Ayothaya Dungon","Beach Dungeon","Byalan Dungeon","Clock Tower","Coal Mines","Culvert","Einbroch Dungeon","Gefenia","Gonryun Dungeon","Geffen Dungeon","Glast Helm","Ice Dungeon","Labirint","Juperos Dungeon","Lighthlzen Dungeon","Louyang Dungeon","Magma Dungeon","Machin Doll Factory","Odin Temple","Orc Dungeon","Payon Dungeon","Pyramids","Shrine Sacred Precinct","Sphinx","Sunkn Ship","Thantos Dungeon","Thor's Volcano Dungeon","Toy Factory","Turtle Dungeon","Cursed Abbey","Moscovia Dungeon")){
mes "Выберите уровень подземелья";
case 1:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","abyss_01",262,271;
break;
case 2:
callfunc "teleportation","abyss_02",273,270;
break;
case 3:
callfunc "teleportation","abyss_03",115,31;
break;
}
break;
case 2:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","ama_dun01",228,11;
break;
case 2:
callfunc "teleportation","ama_dun02",34,41;
break;
case 3:
callfunc "teleportation","ama_dun03",119,14;
break;
}
break;
case 3:
switch(select("1 Уровень","2 Уровень")){
case 1:
callfunc "teleportation","anthell01",35,262;
break;
case 2:
callfunc "teleportation","anthell02",168,170;
break;
}
break;
case 4:
switch(select("1 Уровень","2 Уровень")){
case 1:
callfunc "teleportation","ayo_dun01",275,17;
break;
case 2:
callfunc "teleportation","ayo_dun01",275,26;
break;
}
break;
case 5:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","beach_dun",266,67;
break;
case 2:
callfunc "teleportation","beach_dun2",255,244;
break;
case 3:
callfunc "teleportation","beach_dun3",23,260;
break;
}
break;
case 6:
switch(select("1 уровень","2 уровень","3 уровень","4 уровень","5 уровень")){
case 1:
callfunc "teleportation","iz_dun00",168,168;
break;
case 2:
callfunc "teleportation","iz_dun01",253,252;
break;
case 3:
callfunc "teleportation","iz_dun02",236,204;
break;
case 4:
callfunc "teleportation","iz_dun03",32,63;
break;
case 5:
callfunc "teleportation","iz_dun04",26,27;
break;
}
break;
case 7:
switch(select("1 Этаж","2 Этаж","3 Этаж","4 Этаж","1 Подземный этаж","2 Подземный этаж","3 Подземный этаж","4 Подземный этаж")){
case 1:
callfunc "teleportation","c_tower1",199,159;
break;
case 2:
callfunc "teleportation","c_tower2",148,283;
break;
case 3:
callfunc "teleportation","c_tower3",65,147;
break;
case 4:
callfunc "teleportation","c_tower4",56,155;
break;
case 5:
callfunc "teleportation","alde_dun01",297,25;
break;
case 6:
callfunc "teleportation","alde_dun02",127,169;
break;
case 7:
callfunc "teleportation","alde_dun03",277,178;
break;
case 8:
callfunc "teleportation","alde_dun04",268,74;
break;
}
break;
case 8:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","mjo_dun01",52,17;
break;
case 2:
callfunc "teleportation","mjo_dun02",381,343;
break;
case 3:
callfunc "teleportation","mjo_dun03",302,262;
break;
}
break;
case 9:
switch(select("1 Уровень","2 Уровень","3 Уровень","4 Уровень")){
case 1:
callfunc "teleportation","prt_sewb1",131,247;
break;
case 2:
callfunc "teleportation","prt_sewb2",19,19;
break;
case 3:
callfunc "teleportation","prt_sewb3",180,169;
break;
case 4:
callfunc "teleportation","prt_sewb4",100,92;
break;
}
break;
case 10:
switch(select("1 Уровень","2 Уровень")){
case 1:
callfunc "teleportation","ein_dun01",22,14;
break;
case 2:
callfunc "teleportation","ein_dun02",289,290;
break;
}
break;
case 11:
switch(select("1 Уровень","2 Уровень","3 Уровень","4 Уровень")){
case 1:
callfunc "teleportation","gefenia01",40,103;
break;
case 2:
callfunc "teleportation","gefenia02",203,34;
break;
case 3:
callfunc "teleportation","gefenia03",266,168;
break;
case 4:
callfunc "teleportation","gefenia04",130,272;
break;
}
break;
case 12:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","gon_dun01",153,53;
break;
case 2:
callfunc "teleportation","gon_dun02",28,113;
break;
case 3:
callfunc "teleportation","gon_dun03",68,16;
break;
}
break;
case 13:
switch(select("1 Уровень","2 Уровень","3 Уровень","4 Уровень")){
case 1:
callfunc "teleportation","gef_dun00",104,99;
break;
case 2:
callfunc "teleportation","gef_dun01",115,236;
break;
case 3:
callfunc "teleportation","gef_dun02",106,132;
break;
case 4:
callfunc "teleportation","gef_dun03",203,200;
break;
}
break;
case 14:
switch(select("Гластхельм(Город)","Крепость 1","Крепость 2","Казармы 1","Казармы 2","Церковный двор","Канализация 1","Канализация 2","Канализация 3","Канализация 4","Аббатсво","Темница","Пещера 1","Пещера 2","Подземная Тюрьма 1","Подземная Тюрьма 2")){
case 1:
callfunc "teleportation","glast_01",370,304;
break;
case 2:
callfunc "teleportation","gl_cas01",199,29;
break;
case 3:
callfunc "teleportation","gl_cas02",104,25;
break;
case 4:
callfunc "teleportation","gl_knt01",150,15;
break;
case 5:
callfunc "teleportation","gl_knt02",157,287;
break;
case 6:
callfunc "teleportation","gl_chyard",147,15;
break;
case 7:
callfunc "teleportation","gl_sew01",258,255;
break;
case 8:
callfunc "teleportation","gl_sew02",108,291;
break;
case 9:
callfunc "teleportation","gl_sew03",171,283;
break;
case 10:
callfunc "teleportation","gl_sew04",68,277;
break;
case 11:
callfunc "teleportation","gl_church",156,7;
break;
case 12:
callfunc "teleportation","gl_step",12,7;
break;
case 13:
callfunc "teleportation","gl_dun01",133,271;
break;
case 14:
callfunc "teleportation","gl_dun02",224,274;
break;
case 15:
callfunc "teleportation","gl_prison",14,70;
break;
case 16:
callfunc "teleportation","gl_prison1",150,14;
break;
}
break;
case 15:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","ice_dun01",157,12;
break;
case 2:
callfunc "teleportation","ice_dun02",151,155;
break;
case 3:
callfunc "teleportation","ice_dun03",149,22;
break;
}
break;
case 16:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","prt_maze01",176,7;
break;
case 2:
callfunc "teleportation","prt_maze02",93,20;
break;
case 3:
callfunc "teleportation","prt_maze03",23,8;
break;
}
break;
case 17:
switch(select("1Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","juperos_01",53,247;
break;
case 2:
callfunc "teleportation","juperos_02",127,277;
break;
case 3:
callfunc "teleportation","jupe_core",149,20;
break;
}
break;
case 18:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","lhz_dun01",150,284;
break;
case 2:
callfunc "teleportation","lhz_dun02",18,146;
break;
case 3:
callfunc "teleportation","lhz_dun03",140,133;
break;
}
break;
case 19:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","lou_dun01",218,196;
break;
case 2:
callfunc "teleportation","lou_dun02",282,20;
break;
case 3:
callfunc "teleportation","lou_dun03",165,38;
break;
}
break;
case 20:
switch(select("1 Уровень","2 Уровень")){
case 1:
callfunc "teleportation","mag_dun01",126,68;
break;
case 2:
callfunc "teleportation","mag_dun02",47,30;
break;
}
break;
case 21:
switch(select("1 Уровень","2 Уровень")){
case 1:
callfunc "teleportation","kh_dun01",3,230;
break;
case 2:
callfunc "teleportation","kh_dun02",41,196;
break;
}
break;
case 22:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","odin_tem01",99,145;
break;
case 2:
callfunc "teleportation","odin_tem02",33,334;
break;
case 3:
callfunc "teleportation","odin_tem03",232,45;
break;
}
break;
case 23:
switch(select("1 Уровень","2 Уровень")){
case 1:
callfunc "teleportation","orcsdun01",32,170;
break;
case 2:
callfunc "teleportation","orcsdun02",21,185;
break;
}
break;
case 24:
switch(select("1 Уровень","2 Уровень","3 Уровень","4 Уровень","5 Уровень")){
case 1:
callfunc "teleportation","pay_dun00",21,183;
break;
case 2:
callfunc "teleportation","pay_dun01",19,33;
break;
case 3:
callfunc "teleportation","pay_dun02",19,63;
break;
case 4:
callfunc "teleportation","pay_dun03",155,159;
break;
case 5:
callfunc "teleportation","pay_dun04",201,204;
break;
}
break;
case 25:
switch(select("1 Уровень","2 Уровень","3 Уровень","4 Уровень","1 Поземный Этаж","2 Подземный этаж")){
case 1:
callfunc "teleportation","moc_pryd01",192,9;
break;
case 2:
callfunc "teleportation","moc_pryd02",10,192;
break;
case 3:
callfunc "teleportation","moc_pryd03",100,92;
break;
case 4:
callfunc "teleportation","moc_pryd04",181,11;
break;
case 5:
callfunc "teleportation","moc_pryd05",94,96;
break;
case 6:
callfunc "teleportation","moc_pryd06",192,8;
break;
}
break;
case 26:
switch(select("1 Уровень","2 Уровень","3 Уровень","4 Уровень","5 Уровень")){
case 1:
callfunc "teleportation","ra_san01",140,10;
break;
case 2:
callfunc "teleportation","ra_san02",32,21;
break;
case 3:
callfunc "teleportation","ra_san03",4,149;
break;
case 4:
callfunc "teleportation","ra_san04",204,220;
break;
case 5:
callfunc "teleportation","ra_san05",150,11;
break;
}
break;
case 27:
switch(select("1 Уровень","2 Уровень","3 Уровень","4 Уровень","5 Уровень")){
case 1:
callfunc "teleportation","in_sphinx1",288,9;
break;
case 2:
callfunc "teleportation","in_sphinx2",149,81;
break;
case 3:
callfunc "teleportation","in_sphinx3",210,54;
break;
case 4:
callfunc "teleportation","in_sphinx4",10,222;
break;
case 5:
callfunc "teleportation","in_sphinx5",100,99;
break;
}
break;
case 28:
switch(select("1 Уровень","2 Уровень")){
case 1:
callfunc "teleportation","treasure01",69,24;
break;
case 2:
callfunc "teleportation","treasure02",102,27;
break;
}
break;
case 29:
switch(select("1 этаж","2 этаж","3 этаж","4 этаж","5 этаж","6 этаж","7 этаж","8 этаж","9 этаж","10 этаж","11 этаж","12 этаж","13 Босс")){
case 1:
callfunc "teleportation","tha_t01",149,36;
break;
case 2:
callfunc "teleportation","tha_t02",150,132;
break;
case 3:
callfunc "teleportation","tha_t03",60,138;
break;
case 4:
callfunc "teleportation","tha_t04",60,141;
break;
case 5:
callfunc "teleportation","tha_t05",62,6;
break;
case 6:
callfunc "teleportation","tha_t06",207,6;
break;
case 7:
callfunc "teleportation","tha_t07",35,166;
break;
case 8:
callfunc "teleportation","tha_t08",93,148;
break;
case 9:
callfunc "teleportation","tha_t09",29,107;
break;
case 10:
callfunc "teleportation","tha_t10",159,138;
break;
case 11:
callfunc "teleportation","tha_t11",19,20;
break;
case 12:
callfunc "teleportation","tha_t12",130,52;
break;
case 13:
callfunc "teleportation","thana_boss",136,125;
break;
}
break;
case 30:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","thor_v01",21,226;
break;
case 2:
callfunc "teleportation","thor_v02",74,205;
break;
case 3:
callfunc "teleportation","thor_v03",31,272;
break;
}
break;
case 31:
switch(select("1 Уровень","2 Уровень")){
case 1:
callfunc "teleportation","xmas_dun01",204,19;
break;
case 2:
callfunc "teleportation","xmas_dun02",129,33;
break;
}
break;
case 32:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","tur_dun02",148,261;
break;
case 2:
callfunc "teleportation","tur_dun03",132,189;
break;
case 3:
callfunc "teleportation","tur_dun04",100,192;
break;
}
break;
case 33:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","abbey01",51,11;
break;
case 2:
callfunc "teleportation","abbey02",149,11;
break;
case 3:
callfunc "teleportation","abbey03",119,7;
break;
}
break;
case 34:
switch(select("1 Уровень","2 Уровень","3 Уровень")){
case 1:
callfunc "teleportation","mosk_dun01",189,45;
break;
case 2:
callfunc "teleportation","mosk_dun02",167,31;
break;
case 3:
callfunc "teleportation","mosk_dun03",32,132;
break;
}
break;
}
break;
//// Fields ////
case 4:
mes "В локации какого города вы хотите отправится?";
switch(select("Аль-Де-Барана(Горная гряда Мьольнир)","Аматсу","Аотайяи","Вениса","Гефена","Комодо","Кунлуна","Лайтхзена","Лоянга","Люти","Морока","Нифхельма","Пайона","Пронтеры","Рахеля","Умбалы","Хугеля","Эйнброха","Юно")){
mes "Выберите локаци.";
case 1:
switch(Select("Горная гряда Мьольнир 1", "Горная гряда Мьольнир 2","Горная гряда Мьольнир 3","Горная гряда Мьольнир 4","Горная гряда Мьольнир 5","Горная гряда Мьольнир 6","Горная гряда Мьольнир 7","Горная гряда Мьольнир 8","Горная гряда Мьольнир 9","Горная гряда Мьольнир 10","Горная гряда Мьольнир 11","Горная гряда Мьольнир 12")){
case 1:
callfunc "teleportation","mjolnir_01",204,120;
break;
case 2:
callfunc "teleportation","mjolnir_02",175,193;
break;
case 3:
callfunc "teleportation","mjolnir_03",208,213;
break;
case 4:
callfunc "teleportation","mjolnir_04",179,180;
break;
case 5:
callfunc "teleportation","mjolnir_05",181,240;
break;
case 6:
callfunc "teleportation","mjolnir_06",195,270;
break;
case 7:
callfunc "teleportation","mjolnir_07",235,202;
break;
case 8:
callfunc "teleportation","mjolnir_08",188,215;
break;
case 9:
callfunc "teleportation","mjolnir_09",205,144;
break;
case 10:
callfunc "teleportation","mjolnir_10",245,223;
break;
case 11:
callfunc "teleportation","mjolnir_11",180,206;
break;
case 12:
callfunc "teleportation","mjolnir_12",196,208;
break;
}
break;
case 2:
switch(select("Окрестности Аматсу 1")){
case 1:
callfunc "teleportation","ama_fild01",190,197;
break;
}
break;
case 3:
switch(select("Окрестности Аотайя 1","Окрестности Аотайя 2")){
case 1:
callfunc "teleportation","ayo_fild01",173,134;
break;
case 2:
callfunc "teleportation","ayo_fild02",212,150;
break;
}
break;
case 4:
switch(select("Поля Вейниса 1","Поля Вейниса 2","Поля Вейниса 3","Поля Вейниса 4","Поля Вейниса 5","Поля Вейниса 6","Поля Вейниса 7")){
case 1:
callfunc "teleportation","ve_fild01",186,175;
break;
case 2:
callfunc "teleportation","ve_fild02",196,370;
break;
case 3:
callfunc "teleportation","ve_fild03",222,45;
break;
case 4:
callfunc "teleportation","ve_fild04",51,250;
break;
case 5:
callfunc "teleportation","ve_fild05",202,324;
break;
case 6:
callfunc "teleportation","ve_fild06",150,223;
break;
case 7:
callfunc "teleportation","ve_fild07",149,307;
break;
}
break;
case 5:
switch(select("Поля Гефена","Поля Гефена 1","Поля Гефена 2","Поля Гефена 3","Поля Гефена 4","Поля Гефена 5","Поля Гефена 6","Поля Гефена 7","Поля Гефена 8","Поля Гефена 9","Поля Гефена 10","Поля Гефена 11","Поля Гефена 12","Поля Гефена 13","Поля Гефена 14")){
case 1:
callfunc "teleportation","gef_fild00",46,199;
break;
case 2:
callfunc "teleportation","gef_fild01",213,204;
break;
case 3:
callfunc "teleportation","gef_fild02",195,212;
break;
case 4:
callfunc "teleportation","gef_fild03",257,192;
break;
case 5:
callfunc "teleportation","gef_fild04",188,171;
break;
case 6:
callfunc "teleportation","gef_fild05",166,263;
break;
case 7:
callfunc "teleportation","gef_fild06",248,158;
break;
case 8:
callfunc "teleportation","gef_fild07",195,191;
break;
case 9:
callfunc "teleportation","gef_fild08",186,183;
break;
case 10:
callfunc "teleportation","gef_fild09",221,117;
break;
case 11:
callfunc "teleportation","gef_fild10",178,218;
break;
case 12:
callfunc "teleportation","gef_fild11",136,328;
break;
case 13:
callfunc "teleportation","gef_fild12",240,181;
break;
case 14:
callfunc "teleportation","gef_fild13",235,235;
break;
case 15:
callfunc "teleportation","gef_fild14",211,185;
break;
}
break;
case 6:
switch(select("Окрестности Комодо 1","Окрестности Комодо 2","Окрестности Комодо 3","Окрестности Комодо 4","Окрестности Комодо 5","Окрестности Комодо 6","Окрестности Комодо 7","Окрестности Комодо 8","Окрестности Комодо 9")){
case 1:
callfunc "teleportation","cmd_fild01",180,178;
break;
case 2:
callfunc "teleportation","cmd_fild02",231,160;
break;
case 3:
callfunc "teleportation","cmd_fild03",191,172;
break;
case 4:
callfunc "teleportation","cmd_fild04",228,194;
break;
case 5:
callfunc "teleportation","cmd_fild05",224,203;
break;
case 6:
callfunc "teleportation","cmd_fild06",190,223;
break;
case 7:
callfunc "teleportation","cmd_fild07",234,177;
break;
case 8:
callfunc "teleportation","cmd_fild08",194,175;
break;
case 9:
callfunc "teleportation","cmd_fild09",172,172;
break;
}
break;
case 7:
switch(select("Окрестности Кунлуна 1")){
case 1:
callfunc "teleportation","gon_fild01",220,227;
break;
}
break;
case 8:
switch(select("Окрестноти Лайтхзена 1","Окрестноти Лайтхзена 2","Окрестноти Лайтхзена 3")){
case 1:
callfunc "teleportation","lhz_fild01",240,179;
break;
case 2:
callfunc "teleportation","lhz_fild02",185,235;
break;
case 3:
callfunc "teleportation","lhz_fild03",240,226;
break;
}
break;
case 9:
switch(select("Окрестности Лоянга")){
case 1:
callfunc "teleportation","lou_fild01",229,187;
break;
}
break;
case 10:
switch(select("Снежная равнина Люти")){
case 1:
callfunc "teleportation","xmas_fild01",115,145;
break;
}
break;
case 11:
switch(select("Пустыня Сограт 1","Пустыня Сограт 2","Пустыня Сограт 3","Пустыня Сограт 4","Пустыня Сограт 5","Пустыня Сограт 6","Пустыня Сограт 7","Пустыня Сограт 8","Пустыня Сограт 9","Пустыня Сограт 10","Пустыня Сограт 11","Пустыня Сограт 12","Пустыня Сограт 13","Пустыня Сограт 14","Пустыня Сограт 15","Пустыня Сограт 16","Пустыня Сограт 17","Пустыня Сограт 18","Пустыня Сограт 19")){
case 1:
callfunc "teleportation","moc_fild01",219,205;
break;
case 2:
callfunc "teleportation","moc_fild02",177,206;
break;
case 3:
callfunc "teleportation","moc_fild03",194,182;
break;
case 4:
callfunc "teleportation","moc_fild04",184,217;
break;
case 5:
callfunc "teleportation","moc_fild05",203,213;
break;
case 6:
callfunc "teleportation","moc_fild06",213,208;
break;
case 7:
callfunc "teleportation","moc_fild07",224,170;
break;
case 8:
callfunc "teleportation","moc_fild08",229,177;
break;
case 9:
callfunc "teleportation","moc_fild09",195,198;
break;
case 10:
callfunc "teleportation","moc_fild10",209,168;
break;
case 11:
callfunc "teleportation","moc_fild11",198,216;
break;
case 12:
callfunc "teleportation","moc_fild12",156,187;
break;
case 13:
callfunc "teleportation","moc_fild13",185,263;
break;
case 14:
callfunc "teleportation","moc_fild14",209,219;
break;
case 15:
callfunc "teleportation","moc_fild15",223,188;
break;
case 16:
callfunc "teleportation","moc_fild16",206,228;
break;
case 17:
callfunc "teleportation","moc_fild17",208,238;
break;
case 18:
callfunc "teleportation","moc_fild18",209,223;
break;
case 19:
callfunc "teleportation","moc_fild19",85,97;
break;
}
break;
case 12:
switch(select("Окрестности Нифхельма 1","Окрестности Нифхельма 2")){
case 1:
callfunc "teleportation","nif_fild01",215,229;
break;
case 2:
callfunc "teleportation","nif_fild02",167,234;
break;
}
break;
case 13:
switch(select("Леса Пайона 1","Леса Пайона 2","Леса Пайона 3","Леса Пайона 4","Леса Пайона 5","Леса Пайона 6","Леса Пайона 7","Леса Пайона 8","Леса Пайона 9","Леса Пайона 10","Леса Пайона 11")){
case 1:
callfunc "teleportation","pay_fild01",158,206;
break;
case 2:
callfunc "teleportation","pay_fild02",151,219;
break;
case 3:
callfunc "teleportation","pay_fild03",205,148;
break;
case 4:
callfunc "teleportation","pay_fild04",186,247;
break;
case 5:
callfunc "teleportation","pay_fild05",134,204;
break;
case 6:
callfunc "teleportation","pay_fild06",193,235;
break;
case 7:
callfunc "teleportation","pay_fild07",200,177;
break;
case 8:
callfunc "teleportation","pay_fild08",137,189;
break;
case 9:
callfunc "teleportation","pay_fild09",201,224;
break;
case 10:
callfunc "teleportation","pay_fild10",160,205;
break;
case 11:
callfunc "teleportation","pay_fild11",194,150;
break;
}
break;
case 14:
switch(select("Окрестности Пронтеры","Окрестности Пронтеры 1","Окрестности Пронтеры 2","Окрестности Пронтеры 3","Окрестности Пронтеры 4","Окрестности Пронтеры 5","Окрестности Пронтеры 6","Окрестности Пронтеры 7","Окрестности Пронтеры 8","Окрестности Пронтеры 9","Окрестности Пронтеры 10","Окрестности Пронтеры 11")){
case 1:
callfunc "teleportation","prt_fild00",184,235;
break;
case 2:
callfunc "teleportation","prt_fild01",190,206;
break;
case 3:
callfunc "teleportation","prt_fild02",240,206;
break;
case 4:
callfunc "teleportation","prt_fild03",190,143;
break;
case 5:
callfunc "teleportation","prt_fild04",307,252;
break;
case 6:
callfunc "teleportation","prt_fild05",239,213;
break;
case 7:
callfunc "teleportation","prt_fild06",185,188;
break;
case 8:
callfunc "teleportation","prt_fild07",193,194;
break;
case 9:
callfunc "teleportation","prt_fild08",187,218;
break;
case 10:
callfunc "teleportation","prt_fild09",210,183;
break;
case 11:
callfunc "teleportation","prt_fild10",195,149;
break;
case 12:
callfunc "teleportation","prt_fild11",198,164;
break;
}
break;
case 15:
switch(select("Окрестности Рахеля 1","Окрестности Рахеля 2","Окрестности Рахеля 3","Окрестности Рахеля 4","Окрестности Рахеля 5","Окрестности Рахеля 6","Окрестности Рахеля 7","Окрестности Рахеля 8","Окрестности Рахеля 9","Окрестности Рахеля 10","Окрестности Рахеля 11","Окрестности Рахеля 12","Окрестности Рахеля 13")){
case 1:
callfunc "teleportation","ra_fild01",192,162;
break;
case 2:
callfunc "teleportation","ra_fild02",235,166;
break;
case 3:
callfunc "teleportation","ra_fild03",202,206;
break;
case 4:
callfunc "teleportation","ra_fild04",202,208;
break;
case 5:
callfunc "teleportation","ra_fild05",225,202;
break;
case 6:
callfunc "teleportation","ra_fild06",202,214;
break;
case 7:
callfunc "teleportation","ra_fild07",263,196;
break;
case 8:
callfunc "teleportation","ra_fild08",217,201;
break;
case 9:
callfunc "teleportation","ra_fild09",87,121;
break;
case 10:
callfunc "teleportation","ra_fild10",277,181;
break;
case 11:
callfunc "teleportation","ra_fild11",221,185;
break;
case 12:
callfunc "teleportation","ra_fild12",175,200;
break;
case 13:
callfunc "teleportation","ra_fild13",174,197;
break;
}
break;
case 16:
switch(select("Окрестности Умбалы 1","Окрестности Умбалы 2","Окрестности Умбалы 3","Окрестности Умбалы 4")){
case 1:
callfunc "teleportation","um_fild01",217,206;
break;
case 2:
callfunc "teleportation","um_fild02",223,221;
break;
case 3:
callfunc "teleportation","um_fild03",237,215;
break;
case 4:
callfunc "teleportation","um_fild04",202,197;
break;
}
break;
case 17:
switch(select("Окрестности Хугеля 1","Окрестности Хугеля 2","Окрестности Хугеля 3","Окрестности Хугеля 4","Окрестности Хугеля 5","Окрестности Хугеля 6","Окрестности Хугеля 7")){
case 1:
callfunc "teleportation","hu_fild01",268,101;
break;
case 2:
callfunc "teleportation","hu_fild02",222,193;
break;
case 3:
callfunc "teleportation","hu_fild03",232,185;
break;
case 4:
callfunc "teleportation","hu_fild04",252,189;
break;
case 5:
callfunc "teleportation","hu_fild05",196,106;
break;
case 6:
callfunc "teleportation","hu_fild06",216,220;
break;
case 7:
callfunc "teleportation","hu_fild07",227,197;
break;
}
break;
case 18:
switch(select("Окрестности Эйнброха 1","Окрестности Эйнброха 2","Окрестности Эйнброха 3","Окрестности Эйнброха 4","Окрестности Эйнброха 5","Окрестности Эйнброха 6","Окрестности Эйнброха 7","Окрестности Эйнброха 8","Окрестности Эйнброха 9","Окрестности Эйнброха 10")){
case 1:
callfunc "teleportation","ein_fild01",142,225;
break;
case 2:
callfunc "teleportation","ein_fild02",182,141;
break;
case 3:
callfunc "teleportation","ein_fild03",187,228;
break;
case 4:
callfunc "teleportation","ein_fild04",185,173;
break;
case 5:
callfunc "teleportation","ein_fild05",216,173;
break;
case 6:
callfunc "teleportation","ein_fild06",195,148;
break;
case 7:
callfunc "teleportation","ein_fild07",272,220;
break;
case 8:
callfunc "teleportation","ein_fild08",173,214;
break;
case 9:
callfunc "teleportation","ein_fild09",207,174;
break;
case 10:
callfunc "teleportation","ein_fild10",196,200;
break;
}
break;
case 19:
switch(select("Окрестности Юно 1","Окрестности Юно 2","Окрестности Юно 3","Окрестности Юно 4","Окрестности Юно 5","Окрестности Юно 6","Окрестности Юно 7","Окрестности Юно 8","Окрестности Юно 9","Окрестности Юно 10","Окрестности Юно 11","Окрестности Юно 12")){
case 1:
callfunc "teleportation","yuno_fild01",189,224;
break;
case 2:
callfunc "teleportation","yuno_fild02",192,207;
break;
case 3:
callfunc "teleportation","yuno_fild03",221,157;
break;
case 4:
callfunc "teleportation","yuno_fild04",226,199;
break;
case 5:
callfunc "teleportation","yuno_fild05",223,177;
break;
case 6:
callfunc "teleportation","yuno_fild06",187,232;
break;
case 7:
callfunc "teleportation","yuno_fild07",231,174;
break;
case 8:
callfunc "teleportation","yuno_fild08",196,203;
break;
case 9:
callfunc "teleportation","yuno_fild09",183,214;
break;
case 10:
callfunc "teleportation","yuno_fild10",200,124;
break;
case 11:
callfunc "teleportation","yuno_fild11",195,226;
break;
case 12:
callfunc "teleportation","yuno_fild12",210,304;
break;
}
break;
}
break;
//// Last Warp ////
case 1:
warp #lastwarploc$,#lastwarpx,#lastwarpy;
break;
}
end;
}
function script teleportation {
set @warploc$, getarg(0);
set @warpx, getarg(1);
set @warpy, getarg(2);
set #lastwarploc$,@warploc$;
set #lastwarpx,@warpx;
set #lastwarpy,@warpy;
warp @warploc$,@warpx,@warpy;
end;
}
//Дубликаты
prt_in,126,120,4 duplicate(Warper) Проводник#1 895
rachel,22,148,4 duplicate(Warper) Проводник#1 895
alberta,31,240,4 duplicate(Warper) Проводник#2 895
aldebaran,145,118,4 duplicate(Warper) Проводник#3 895
amatsu,200,79,1 duplicate(Warper) Проводник#4 895
ayothaya,143,162,4 duplicate(Warper) Проводник#5 895
comodo,194,158,4 duplicate(Warper) Проводник#6 895
einbech,142,246,4 duplicate(Warper) Проводник#7 895
einbroch,69,202,4 duplicate(Warper) Проводник#8 895
hugel,102,143,6 duplicate(Warper) Проводник#9 895
lighthalzen,154,99,4 duplicate(Warper) Проводник#10 895
geffen,115,66,4 duplicate(Warper) Проводник#11 895
izlude,131,116,4 duplicate(Warper) Проводник#12 895
xmas,150,136,4 duplicate(Warper) Проводник#13 895
morocc,156,99,4 duplicate(Warper) Проводник#14 895
payon,182,110,4 duplicate(Warper) Проводник#15 895
yuno,137,162,4 duplicate(Warper) Проводник#16 895
moc_fild04,207,331,4 duplicate(Warper) Проводник#17 895
izlu2dun,104,82,4 duplicate(Warper) Проводник#18 895
mjolnir_02,85,363,4 duplicate(Warper) Проводник#19 895
prt_fild05,273,215,4 duplicate(Warper) Проводник#20 895
glast_01,370,308,4 duplicate(Warper) Проводник#21 895
yuno_fild03,37,135,4 duplicate(Warper) Проводник#22 895
gef_fild10,71,339,4 duplicate(Warper) Проводник#23 895
pay_arche,39,135,4 duplicate(Warper) Проводник#24 895
moc_ruins,64,166,4 duplicate(Warper) Проводник#25 895
moc_fild19,106,97,4 duplicate(Warper) Проводник#26 895
alb2trea,73,101,4 duplicate(Warper) Проводник#27 895
tur_dun01,148,239,4 duplicate(Warper) Проводник#28 895
gonryun,156,122,4 duplicate(Warper) Проводник#29 895
louyang,159,117,4 duplicate(Warper) Проводник#30 895
umbala,132,130,4 duplicate(Warper) Проводник#31 895- 5
-
Самый простой из возможных пвп рейтингов.
Сколько убил, столько рейтинга и наоброт.
1. Добавить в таблицу char 2 поля kills и dies. Тип int(числовые) Длина как хотите.
http://www.youtube.com/watch?v=j9a6wmIxkwg
2. Ставите скрипт
3. Учите игроков разговаривать с НПЦом
4. Ставите Рейтинг на сайте.
Скрипт:
/*
by Sanasol
*/
- script pvp_rate -1,{
OnPckillEvent:
if(rid2name(killedrid) == strcharinfo(0)) end;
set kills,kills+1;
dispbottom "Вы убили персонажа "+rid2name(killedrid)+", у вас "+kills+" убийств";
//killed
attachrid killedrid;
if(rid2name(killerrid) == strcharinfo(0)) end;
if(killerrid == null) end;
set dies,dies+1;
dispbottom "Вас убил персонаж "+rid2name(killerrid)+", у вас "+dies+" смертей";
end;
OnPCLoginEvent:
OnPCLogOutEvent:
query_sql("update `char` set `dies`='"+dies+"' where char_id='"+getcharid(0)+"'");
query_sql("update `char` set `pvp`='"+kills+"' where char_id='"+getcharid(0)+"'");
end;
OnWhisperGlobal:
if (@whispervar0$ == "стат") {
dispbottom "Информация: Убийств "+kills+", Смертей "+dies+"";
}
if (@whispervar0$ == "топ") {
dispbottom "-----ПвП Топ Игроков----";
query_sql "SELECT `name`,`pvp`,`dies` FROM `char` ORDER BY `pvp` DESC LIMIT "+@whispervar1$+"", @name$, @kills, @dies;
set $limit,@whispervar1$;
dispbottom "Ник || Убийств || Смертей";
for(set @i,0; @i != $limit; set @i,@i+1) { dispbottom ""+(@i+1)+" | "+@name$[@i]+" | "+@kills[@i]+" | "+@dies[@i]+""; }
}
if (@whispervar0$ == "инфо") {
dispbottom "Чтобы узнать вашу статистику напишите 'стат'";
dispbottom "Чтобы посмотреть топ игроков напишите 'топ#цифра', Цифра - сколько игроков в топе показать. например 'топ#5' выведет Топ 5 игроков";
}
end;
}Скрипт для сайта:
<?
$host = "1111111111111";
$user = "casdasd";
$password = "asdasd";
$rodb = "asdasd";
$job['0']= "Novice";
$job['1']= "Swordman";
$job['2']= "Magician";
$job['3']= "Archer";
$job['4']= "Acolyte";
$job['5']= "Merchant";
$job['6']= "Thief";
$job['7']= "Knight";
$job['8']= "Priest";
$job['9']= "Wizard";
$job['10']= "Blacksmith";
$job['11']= "Hunter";
$job['12']= "Assassin";
$job['13']= "Knight (Peco)";
$job['14']= "Crusader";
$job['15']= "Monk";
$job['16']= "Sage";
$job['17']= "Rogue";
$job['18']= "Alchemist";
$job['19']= "Bard";
$job['20']= "Dancer";
$job['21']= "Crusader (Peco)";
$job['22']= "Wedding";
$job['23']= "Super Novice";
$job['24']= "Gunslinger";
$job['25']= "Ninja";
$job['4001']= "Novice High";
$job['4002']= "Swordman High";
$job['4003']= "Magician High";
$job['4004']= "Archer High";
$job['4005']= "Acolyte High";
$job['4006']= "Merchant High";
$job['4007']= "Thief High";
$job['4008']= "Lord Knight";
$job['4009']= "High Priest";
$job['4010']= "High Wizard";
$job['4011']= "Whitesmith";
$job['4012']= "Sniper";
$job['4013']= "Assassin Cross";
$job['4014']= "Lord Knight (Peco)";
$job['4015']= "Paladin";
$job['4016']= "Champion";
$job['4017']= "Professor";
$job['4018']= "Stalker";
$job['4019']= "Creator";
$job['4020']= "Clown";
$job['4021']= "Gypsy";
$job['4022']= "Paladin (Peco)";
$job['4023']= "Baby Novice";
$job['4024']= "Baby Swordman";
$job['4025']= "Baby Magician";
$job['4026']= "Baby Archer";
$job['4027']= "Baby Acolyte";
$job['4028']= "Baby Merchant";
$job['4029']= "Baby Thief";
$job['4030']= "Baby Knight";
$job['4031']= "Baby Priest";
$job['4032']= "Baby Wizard";
$job['4033']= "Baby Blacksmith";
$job['4034']= "Baby Hunter";
$job['4035']= "Baby Assassin";
$job['4036']= "Baby Knight (Peco)";
$job['4037']= "Baby Crusader";
$job['4038']= "Baby Monk";
$job['4039']= "Baby Sage";
$job['4040']= "Baby Rogue";
$job['4041']= "Baby Alchemist";
$job['4042']= "Baby Bard";
$job['4043']= "Baby Dancer";
$job['4044']= "Baby Crusader (Peco)";
$job['4045']= "Baby Super Novice";
$job['4046']= "Taekwon";
$job['4047']= "Star Knight";
$job['4048']= "Star Knight (flying)";
$job['4049']= "Soul Linker";
$num=0;
$db = mysql_connect ($host,$user,$password);
mysql_select_db($rodb,$db);
$result = mysql_query ("SELECT * FROM `char` ORDER BY `kills` DESC LIMIT 10 ",$db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
mysql_query("SET SESSION CHARACTER SET utf-8");
mysql_query("SET NAMES utf-8");
echo "<table width='570' height='10' border='0'>
<tr>
<td height='10px'>№</td>
<td width='140px' height='10px'>Ник</td>
<td width='97px' height='10px'>Б.лвл/Дж.лвл</td>
<td width='94px' height='10px'>Убийств</td>
<td width='93px' height='10px'>Смертей</td>
<td width='122px' height='10px'>Профессия</td>
</tr>";
do
{
$num=$num+1;
printf("
<tr>
<td height='10px'>$num</td>
<td width='140px' height='10px'>%s</td>
<td width='97px' height='10px'>%s/%s</td>
<td width='94px' height='10px'>%s</td>
<td width='93px' height='10px'>%s</td>
<td width='122px' height='10px'>".$job[$myrow["class"]]."</td>
</tr>
" ,$myrow["name"] ,$myrow["base_level"],$myrow["job_level"] ,$myrow["kills"] ,$myrow["dies"], $myrow["class"]);
}
while ($myrow = mysql_fetch_array($result));
echo "</table>";
?>Диалог с игроком:
При помощи привата
На какой ник писать?
npc:pvp_rate
Что писать?
"инфо"
Например:
Кому: npc:pvp_rate
Сообщение: инфоРезультат работы сообщения ИНФО на 2 скриншоте.
- 4
- 1
-
НПЦ
map,173,72,5 script Голосование 72,{
mes"Хотите получить тцг?";
switch(select("Да:Нет")){
case 1:
set .votep,0;
query_sql "SELECT `vote` FROM `login` WHERE `account_id` = '"+getcharid(3)+"'",.votep;
if( .votep == 0 ){ mes "Сначала проголосуйте"; close; }
set .votep,.votep-1;
query_sql "UPDATE `login` SET `vote` = '"+.votep+"' WHERE `account_id` = '"+getcharid(3)+"'";
getitem 7227,1;
close;
break;
case 2:
close;
break;
}
}<style>
.hide {
display: none;
}
.show {
display: yes;
}
</style>
<script type='text/javascript'>
function upd(id) {
if (id==1){
document.getElementById('vk_id').className='show';
}
if (id==2){
document.getElementById('vk_id').className='hide';
}
}
</script>
<center>
1. Кликаете на баннер: <br />
<!-- ваш баннер -->
<a target="_blank" href="http://game100rus.com/index.php?do=votes&id=10883"><img border="0" src="http://pics.livejournal.com/samaritanyn/pic/0006wrf5.gif" alt="game100rus.com"></a>
<!-- MMORPG TOP 100 LA2, WOW, RO, RF Online, PW, Aion, etc. MMORPG Private Servers. Приватные сервера онлайн игр и игровые порталы. -->
<a target="_blank" href="http://land-game.ru/index.php?do=votes&id=48"><img width="90" height="68" border="0" src="http://land-game.ru/tracker.php?do=in&id=48" alt="MMORPG TOP 100 LA2, WOW, RO, RF Online, PW, Aion, etc. MMORPG Private Servers. Приватные сервера онлайн игр и игровые порталы." /></a>
<!-- /MMORPG TOP 100 LA2, WOW, RO, RF Online, PW, Aion, etc. MMORPG Private Servers. Приватные сервера онлайн игр и игровые порталы. -->
<!-- ваш баннер -->
<a href="http://ragnarok-top.dsro.ru/"><img width="90" height="60" alt="Ragnarok V Top - Ragnarok Top Vkontakte, Ragnarok Top, Рагнарок Топ" src="http://ragnarok-top.dsro.ru/img/knopka.png" border="0"></a>
<br /><br />
2. Голосуете <br /><br /><br />
3. Выбираете Топ в котором вы проголосовали
<form method="POST">
<input name='top' type='radio' value='1' onchange="upd(2);" onkeyup="upd(2);" onblur="upd(2);" ><label>Game100rus.com</label><br />
<input name='top' type='radio' value='2' onchange="upd(2);" onkeyup="upd(2);" onblur="upd(2);"><label>Land-Game.ru</label><br />
<input name='top' type='radio' value='3' onchange="upd(1);" onkeyup="upd(1);" onblur="upd(1);"><label>Ragnarok-Top.dsro.ru</label><br />
<br />
4. Вводите логин и получаете бонус <br />
Введите логин:
<br /><input type='text' name='login'>
<br /><input type='hidden' name='vote'><br />
<div id="vk_id" class="hide">Введите своё ID Вконтакте: <input type='text' name='vk_id'><br /></div>
<input type='submit' value='Получить поинты!'>
</form>
</center>
<?
/*
Добавить в таблицу login 5 полей:
ALTER TABLE `login` ADD `vote` INT( 5 ) NOT NULL DEFAULT '0',
ADD `vote_time` INT( 100 ) NOT NULL DEFAULT '0',
ADD `vote_ip` VARCHAR( 100 ) NOT NULL DEFAULT '0',
ADD `vote2_time` INT( 100 ) NOT NULL DEFAULT '0',
ADD `vote2_ip` VARCHAR( 100 ) NOT NULL DEFAULT '0',
ADD `vote3_time` INT( 100 ) NOT NULL DEFAULT '0',
ADD `vote3_ip` VARCHAR( 100 ) NOT NULL DEFAULT '0'
*/
include("./config/db.php");
@mysql_select_db($rodb,$db);
$top = array(
1 => array(1 => "http://game100rus.com/sitedetails_10883.html", 2 => "vote_time", 3 => "vote_ip"),
2 => array(1 => "http://land-game.ru/index.php?do=sitedetails&id=48", 2 => "vote2_time", 3 => "vote2_ip"),
3 => array(1 => "http://ragnarok-top.dsro.ru/export/1/", 2 => "vote3_time", 3 => "vote3_ip")
);
if (isset($_POST['vote'])) {
if ($_POST['login'] == '') { echo "<br />Вы не ввели логин"; }
if ($_POST['top'] == '') { echo "<br />Вы не выбрали Топ"; }
$num_top = $_POST['top'];
$user = trim($_POST['login']); // Логин
$vk_id = trim($_POST['vk_id']); // Айди Контакта
$result = mysql_query ("select * from `login` WHERE `userid`='".mysql_real_escape_string($user)."'",$db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
$curr_time = time(); //Текущее время
$vote_time = $myrow[$top[$num_top][2]]; // Последний раз голосовал
$stranica = file_get_contents($top[$num_top][1]); //Получаем статистику
$userip = $_SERVER['REMOTE_ADDR']; //IP юзера
$ip = mysql_query ("select * from `login` WHERE `vote_ip`='$userip' and `userid`<>'$user'",$db) or die(mysql_error());
$check_ip = mysql_fetch_array($ip);
$vote_ip = $check_ip[$top[$num_top][3]];
$pos = strpos($stranica, $userip); // Ищем данные пользователя в статистике
if ($num_top == 3)
{
$pos = strpos($stranica, $vk_id); // Ищем данные пользователя в статистике
}
if (($curr_time-$vote_time) < 3600*12) { echo "<br />Вы голосовали менее 12 часов назад";} else {
if ($vote_ip == $userip) { echo "<br />Вы уже голосовали"; } else {
if ($pos === false) {
echo "<br />Вы не проголосовали. " ;
} else {
$curr_time = time();
$update_vote = mysql_query ("UPDATE `login` set `vote`=`vote`+'1', `".$top[$num_top][2]."`='$curr_time', `".$top[$num_top][3]."`='$userip' WHERE `userid`='$user'",$db) or die(mysql_error());
$points = mysql_query ("select * from `login` WHERE `userid`='$user'",$db) or die(mysql_error());
$points2 = mysql_fetch_array($points);
do
{
printf("
<table width='481' height='10' border='-1'> <tr>
<td width='105px' height='10px' align='center' ><br>У вас %s голоса(-ов)</td>
</tr>
</table>",$points2["vote"]);
}
while ($points2 = mysql_fetch_array($points));
echo "<br />Бонус зачислен.";
}}
}
}
?>db.php
$host = "127.0.0.1";
$user = "asdqwee";
$pass = "asdaweffqwe";
$rodb = "ragnarok";
$db = mysql_connect($host, $user, $pass) or die(mysql_error());Проверяет 100% проголосовал ли он.
____________
UPDATE: 25.09.12
Скрипт под новую версию ЛГ-Топа - http://land-game.net
Скрипт для сайта: https://gist.github.com/3782096
В нем надо изменить настройки БД, айди сервера(в топе), добавить баннер
$host = "127.0.0.1"; // Адрес MySQL
$user = "asdqwee"; // Пользователь MySQL
$pass = "asdaweffqwe"; // Пароль MySQL
$rodb = "ragnarok"; // База сервера MySQL
$server_id = 2; // ID сервера в топеДобавить в таблицу login 3 поля:
ALTER TABLE `login` ADD `vote` INT( 5 ) NOT NULL DEFAULT '0',
ADD `vote_time` INT( 100 ) NOT NULL DEFAULT '0',
ADD `vote_ip` VARCHAR( 100 ) NOT NULL DEFAULT '0'- 7
-
Выложу сюда *скрипт* и свой отзыв об этом.
Итак
[Release]Anti-WPE/RPE Scriptсразу начинаю предираться АнтиВпе\Рпе но ето не скрипт ето правка сорсов причем самая небольшая.
Защита никчомная сразу пишу. Можно поставить только от спама пакетами.
т.е. если у вас SHR то вам ето надо.(при условии задержки у вас очень маленькой)
Или у вас на сервере играет много приколистов которые разбрасывают стрелы и т.д.
Автор пишет можно настроить сколько милисекунд можно поставить на получение пакетов от клиента. Если клиент передает больше чем раз в например 5мс то его кикает.
На афине автору написали "Гуд ворк спасибо"
А я говорю что за н*х?
Кст в афине есть чтото типа етой защиты по дефолту правда у нее есть минут кикает только после того как отправишь ей тысяч 5-6 пакетов без задержки.
Вывод:
Защита стоит того чтобы поставить. Но не сильно.
Покавыряюсь в сорсах. ПОпробую переписать тчобы бан давалу игроку вместо киканья ИБО НЕХ
Вот сами диффы
Socket.c and h: http://www.filefront.com/14000227/antiwpe_socket.rar
Diff files: http://www.filefront.com/13844951/anti-wpe_socket_diff.rar
- 1
-
Вот недавно подняли тему решил отписать.
И так задача гайда сделать 2 сервера на Одном ПК. А если конкретнее то как на ZenyРо©(Ultra,Dream).
Нам понадобятся 2 папки с серверами eAthena.
В первом сервере настраиваем все как надо
1. Ip Адрес
2. Sql базы
3. Порты
.......
Во Втором сервере.
1. Тот-же IP адрес на всё.
2. Другие базы Sql. (к Логин Серверу не обязательно)
3. Тут самое интересное. Порты Мап и Чар Сервера ставим другие отличные от первого сервера. А Login сервер порт во всех конфигах ставим как на первом сервере. т.е. 6900.
________________
Запуск:
1.Запускаем полностью первый сервер. Один готов.
2.А вот второй сервер запускаем только Map и Char сервера.
В итоге у нас получилось (во всяком случае у меня ) 2 сервера (выбор сервера появляется после ввода логина и пароля в игре т.е. как на ZenyРо©(Ultra,Dream))
Суммарно запущено 5 окошек серверов (2map,2char,1login)
- 17
-
Новые дизайны добавил ссылки в первый пост
-
Убераем возможность использования яг на арене.
Открываем item_noequip.txt
и в конец добавляем :
//PVP Arena by FreakyL0L
607,7
608,7256 - restricted in zone 7
- 1
Идея относительно гипер ссылок.
в Вопросы, ошибки и баги
Опубликовано
правой кнопкой открыть в новом окне