Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Serfing servers

, алтернатива /server
Статус пользователя GunzGaMe
сообщение 19.12.2010, 13:53
Сообщение #1


Стаж: 15 лет

Сообщений: 69
Благодарностей: 5
Полезность: < 0

Немного истории:
Когда то давно стоял у меня плагин xRedirect, плагин здоровый и на мой взгляд глючный ( логи иной раз были завалены его ошибками).

Что мне в нем не понравилось:
1 Он был очень здоровый, хотя исполнял очень простую функцию
2 В него был напичкан функционал, которым ни кто не пользовался
3 Зачастую он переставал выдавать список серверов
4 Так и не был устранен баг с ограничением по количеству серверов
5 Настройка плагина отнимала много времени.
и еще множество мелких претензий.

Сначала я хотел разобраться и пофиксить все это, но потом пришла в голову более правильная идея - написать свой плагин, где я учту все свои пожелания.
Так и началась разработка плагина Serfing servers.

Плагин получился в десятки раз меньше своего "старшего брата", что дает ощутимые преимущества, а именно:
1 Сам по себе плагин ни чего не делает - не грузит сервер
2 Плагин ни к чему не коннектится и не совершает ни каких проверок, что так же не грузит сервер
3 Нет ограничений на количество серверов (ради интереса более 100 штук добавлял)
4 Есть только те команды которыми действительно пользуются:

/server
/follow

Мои исследования показали что другим функционалом плагина xRedirect ни кто практически не пользовался, и ради 1% игроков грузить сервер глупо.

Вернемся к сути:
Плагин не обладает ни какими кварами , т.е. настраивать его не надо, кроме:
в файл amxx.cfg надо внести ваши сервера в виде:
add_server name ip port

Пример:
Код
add_server Public site.ru 27015
или
add_server Public 127.0.0.1 27015


Команды доступные игрокам:
Код
say /server - Вызов меню со списком серверов
say_team /server
say /follow - Следовать за ушедшим игроком на сервер
say_team /follow


Благодарности:
Папе и Маме
Valve
PomanoB
Northon
amxmodx.su

Информация о авторе:
Код
Автор tavot aka Svoloch
Сайт http://izlapzla.ru


ps.gif Не надо кричать добавь функций тех или иных, если нужен функционал - есть старший брат xRedirect. Юзайте его.

Источник:
http://izlapzla.ru/viewtopic.php?t=2955

Прикрепленный файл  serfing_servers.rar ( 8,64 килобайт ) Кол-во скачиваний: 282
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   Цитировать сообщение
Статус пользователя Racoon
сообщение 19.12.2010, 16:46
Сообщение #2


Стаж: 18 лет

Сообщений: 1757
Благодарностей: 1523
Полезность: 1116

Давно уже реализовал эту идею в плагин)) Причина была в том же громадном Xdirect'e.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rovermate
сообщение 15.6.2011, 14:31
Сообщение #3
Стаж: 15 лет

Сообщений: 103
Благодарностей: 4
Полезность: 36

а чё там надо в sma менять чтобы работал плагин.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Asmodai
сообщение 15.6.2011, 14:53
Сообщение #4
Стаж: 15 лет

Сообщений: 833
Благодарностей: 1
Полезность: 0

Цитата(Rovermate @ 15.6.2011, 16:31) *
а чё там надо в sma менять чтобы работал плагин.

Нужно прочитать первый пост.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя STILL47DEATH
сообщение 30.6.2011, 10:06
Сообщение #5


Стаж: 18 лет

Сообщений: 662
Благодарностей: 83
Полезность: 150

А такой момент как full/not full серверов учтён? Если второй сервер забит, то какой смысл давать возможность игроку делать коннект на него?! Чтобы он получил в ответ сообщение server is full? И если этот момент учтён, учтён ли момент с резервацией слотов, так как будет такая же ситуация, что описал ранее!?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя imba
сообщение 5.7.2011, 15:25
Сообщение #6
Стаж: 16 лет

Сообщений: 1677
Благодарностей: 735
Полезность: 571

Другой вариант плагина.
+
Код
#include <amxmodx>
#include <chatcolor>

public plugin_init() {
    register_plugin("Simple Redirect", "1.6", "<VeCo>")

    register_clcmd("say /server","show_server_menu")
    register_clcmd("say /servers","show_server_menu")
    register_clcmd("say_team /server","show_server_menu")
    register_clcmd("say_team /servers","show_server_menu")
}

public show_server_menu(id)
{
    new menu,file[43]
    menu = menu_create("Select a server:","server_menu_handler")
    
    formatex(file,42,"addons/amxmodx/configs/servers.ini")
    
    if(file_exists(file))
    {
        new svname[64],ip[64]
        for(new i=1;i < file_size(file,1);i++)
        {
            new data[1024],buffer
            read_file(file,i,data,1023,buffer)
            parse(data, svname,63, ip,63)
            
            if(!equal(data,"//",2) && !equal(data,"")) menu_additem(menu, svname, ip)
        }
    } else {
        log_amx("ERROR: File configs/servers.ini doesn't exist!")
    }
    
    menu_display(id, menu, 0)
}

public server_menu_handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }

    new data[64],name[64], access,callback, player_name[32]
    menu_item_getinfo(menu, item, access, data,63, name, 63, callback)
    
    get_user_name(id,player_name,31)
    replace_all(name,63, "\w","")
    replace_all(name,63, "\y","")
    replace_all(name,63, "\r","")
    replace_all(name,63, "\d","")
    
    client_cmd(id,"Connect %s",data)
    client_print_color(0,RED,"%s ^4has left on the server ^3%s",player_name,name)
    
    menu_destroy(menu)
    return PLUGIN_HANDLED
}

Список серверов берется из файла servers.ini в формате "имя сервера" "ip:port"


!
Запрет на ответ в темах до: 10.11.29392, 21:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя StasL
сообщение 7.4.2013, 10:42
Сообщение #7
Стаж: 13 лет

Сообщений: 420
Благодарностей: 18
Полезность: < 0

компилит с ошибками
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: