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

Sanasol

Administrators
  • Постов

    917
  • Зарегистрирован

  • Посещение

  • Победитель дней

    125

Сообщения, опубликованные Sanasol

  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:

    listque.jpg

    Answer:

    answe.jpg

    • Upvote 3
  2. Хм... Я в php новичек.

    Я сделал все так как вы сказали.

    Но вот 1 ошибка

    Parse error: syntax error, unexpected '}' in C:\Program Files\VertrigoServ\www\Framero.ru\index.php on line 172

    высветилась и я попробовал её поправить но не вышло.

    Пожалуйста помогите нубу :rolleyes:

    Мы это с первого раза поняли. Я код посмотрел с синтаксисом по плану все в порядке. проверять не охота ночью уже

    Попробуй другой веб-сервер поставить. (Денвер или XAMPP)

    Vertrigo немного плохо работает.

    picard.jpg

    • Downvote 1
  3. //Придумал Dis[IP]  :lol:
    //Написал Санчик
    //Проверил 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;

    }

    • Upvote 4
  4. Не очень хочется что-то писать. Смотрите сами)

    НА свне: https://sanasol-project.googlecode.com/svn/branches/other/sanasol-admin.zip

    sdsdsd.png

    Настройка:

    1. Импорт tables.sql

    2. Редактирование mysql.php и nmysql.php

    Все аккаунты:

    95cbcf2f8c37.jpg

    Информация о аккаунте:

    51a15da1acc7.jpg

    Все персонажи (поиск работает):

    6dfd6f929e58.jpg

    Информация о персонаже:

    090894dfb45b.jpg

    Бан:

    8319a17b3801.jpg

    • Upvote 3
  5. Скрипты которые должны быть везде.

    Распознаватель

    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

    • Upvote 5
  6. Самый простой из возможных пвп рейтингов.

    Сколько убил, столько рейтинга и наоброт.

    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 скриншоте.

    4da5fbc7f776t.jpg

    3c627a429940t.jpg

    90d574eeb159t.jpg

    • Upvote 4
    • Downvote 1
  7. НПЦ

    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());

    38d826aabe81ec2acbcebe3bd4388c80.png

    Проверяет 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'

    • Upvote 7
  8. Выложу сюда *скрипт* и свой отзыв об этом.

    Итак

    [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

    • Downvote 1
  9. Вот недавно подняли тему решил отписать.

    И так задача гайда сделать 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)

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