Toribash
Original Post
[Lua] ACPATCH & Toribash Eye & Go Translater
Введение
Наверняка многие задумывались: "как было бы круто, если бы в lua скриптах можно было бы общаться с сервером". И правда. Это открывает большие горизонты в плане идей для скриптов, да и вообще в наше время всё общается с серверами(Ну кроме всяких там утюгов). Вот и я тоже об этом задумался и сделал некий патч, который открывает эти горизонты. Результат моих трудов меня очень порадовал и я сразу же сделал пару относительно простых скриптов.

ACPATCH
Патч добавляет несколько lua-библиотек и фишку от меня - автозагрузка скрипта при старте Toribash.
Какие же возможности открывает нам этот патч:
1) Возможность http запросов
Эту возможность нам дает библиотека luasocket. И дает она даже больше. В её состав входят: SMTP, HTTP, FTP а также модули-помощники.
2) Работа с Json
Библиотека dkjson. Здесь пожалуй даже добавить нечего.
3) Возможность автозагрузки скрипта
Если вам вдруг понадобится добавить возможность автозагрузки скрипта, то вам нужно будет лишь использовать уже готовые функции autorun_on и autorun_off.
Пример:
local function commands(cmd)
	if cmd=='on' then
		if autorun_on("ScriptName") then
			echo('On')
		else
			echo('Already on')
		end
	elseif cmd=='off' then
		if autorun_off("ScriptName") then
			echo('Off')
		else
			echo('Already off')
		end
	end
end

add_hook("command", "sctiptnamecommand", commands)

Вроде неплохо, да? И напоследок еще кое-что:

А как-, спросите вы, -мне повествовать пользователю, что ему нужно поставить этот патч чтобы скрипт работал, если он скачал его из раздела Scripts и знать не знает что это такое?

Очень просто: после установки патча в глобальной переменной ACPATCH будет true. Опираясь на это можно написать следующий код:
if not ACPATCH then
	echo("You need install the ACPATCH.")
	echo("http://dnuwe.ru/toribash/ACPATCH.exe")
	return
end

При установке нужно указывать папку с игрой. Пример Cgames\Toribash


Так же считаю своим долгом донести до вас: не ставьте подобные патчи, если вы скачиваете их из непроверенных источников. Подобным патчем можно запросто украсть ваш аккаунт т.к. он хранится в открытом виде(Привет хампа, тебе нужно это исправить).

DOWNLOAD



Toribash Eye
Я думаю все видели BigBro ну или этот... ну этот... ну от rubash. Так вот это тоже самое только в игре.
Для тех кто в танке: Скрипт этот служит для отслеживания онлайн игроков.
Дополнительного описания скрипт пожалуй не требует. При запуске он сам вам все расскажет.
DOWNLOAD


Go Translater
Название скрипта уже на половину рассекретило его предназначение.
Далеко не каждый человек может общаться сразу на нескольких языках, и это создает некий барьер. Так вот, скрипт переводит ваши сообщения, или сообщения всех, или сообщения тек кого вы добавили в список.

О списке чуть подробнее:
На некоторых серверах, например на bet серверах, бывает много народа и чат там разрывается на куски, это может создать вам неплохие тормоза. Так вот вы с вашим иностранным другом отправились на такой сервер и вы хотите чтобы скрипт его переводил, а всех остальных нет. Вы добавляете вашего друга в список и выключаете перевод всех. Профит.

Остальное он вам и сам расскажет. Хотя я и так сказал лишнего.
DOWNLOAD



Вот и все. Если вдруг какие-то баги я жду их здесь, а лучше в личных сообщениях.


PS не смог определится куда можно здесь это запостить.
Класс.
Потестил переводчик, конечно, качество перевода гугла радует фразами в стиле "проигрыш не сосать", но вообще это круто.

Иврит, правда, абсолютно бесполезен там, так как тб не поддерживает эти символы и всё отображается знаками вопроса.
Благодарю!
Да я почувствовал. Мне просто очень захотелось чтобы он был в списке. Вдруг начнет поддерживать...
С учётом того, что пока русский-то не до конца допилен, чтоб ввести полноценную поддержку его, то не думаю

Кинул пм-ку по поводу скрипта.



Кстати, а автозапуск не было бы проще через profile.tbs сделать? Или там конфликты возникают? Уже не помню, что именно начинало тупить с автозапуском таким способом, текст в чате или прорисовка через draw2d.
Мне в любом случае было необходимо править стартап для подключения библиотек, так что я даже не искал других вариантов. Чтобы все было в одном месте. И в профиле там похоже команды нужно писать, а /ls отключает подгруженный скрипт и подгружает новый. т.е. не получилось бы запустить сразу 100500 скриптов
Last edited by ASSASSIN92; May 3, 2014 at 06:22 AM.
Toribash eye - полезный скрипт, ибо бигбро и тмедиатор не видят игроков из неоффициальных кланов. Спасибо за скрипт крч.
Этот патчер больше относится к разделу Third party, а по его правилам любое приложение можно выкладывать только с исходным кодом. Или, если нет желания выкладывать его в публичный доступ, можно отправить одному из людей в списке:
http://forum.toribash.com/showthread.php?t=53049
Было это сделано или нет?
А, всё, вижу. Это всего лишь самораспаковывающийся архив WinRAR. Тогда всё равно не факт, что он не был модифицирован. Но хотя что взять с человека, который на PHP реализовал патч.
На самом деле странно. Раньше вроде бы к функции require нельзя было никак обратиться. Приходилось модифицировать исходники Lua, перекомпилировать библиотеку и подменять её. Или патчить сам toribash.exe. А тут получается вообще нечего делать.
Last edited by Slko; May 3, 2014 at 03:16 PM.
[SIGPIC][/SIGPIC]
orgs: rukeepers, Promo Team
Но хотя что взять с человека, который на PHP реализовал патч.

Быстро, компактно.

На самом деле странно. Раньше вроде бы к функции require нельзя было никак обратиться. Приходилось модифицировать исходники Lua, перекомпилировать библиотеку и подменять её. Или патчить сам toribash.exe. А тут получается вообще нечего делать.

Если что-то делается трудно - значит ты делаешь это не правильно. Луа не так уж плох, просто кодеры торибаша все позалочили. Не понятно как ты это упустил, если увидел, что присутствует пхп скрипт. Замечено это было мной еще в версии 4.2 думаю и раньше было так же. Извините что затянул с подобной штукой. Хард - предатель, инактив - зло.
Last edited by ASSASSIN92; May 3, 2014 at 06:38 PM.