Ranking
Original Post
Вопрос по скриптам.
Кто разбирается в скриптах помогите, нужно создать простенький скрипт который при нажатии на определенную кнопку(любую) будет выдавать в чат текст. Или подскажите нужную команду. Я пробывал использовать команду Echo и Message при этом он выдает текст как системное сообщение(красным цветом), мне же нужно чтобы выдавал текст как будто я написал его в чат чтоб видели все. Читал много мануалов но так и не нашел что нужно.
Last edited by qawszx; Apr 23, 2014 at 05:57 PM.
Предложил бы run_cmd(" "), но в игре нет команды для того, что бы говорить .-.

Можешь использовать эмоцию. run_cmd("em hello world"). Ее все увидят :з
VK Steam Discord:antajl
Abyss forever | ORMO Member
run_cmd("cp \nSAY MESSAGE")
для удобства
local function RunCommand(cmd)
run_cmd("cp \n"..cmd)
end

RunCommand("SAY MESSAGE")
наслаждайся
Originally Posted by ASSASSIN92 View Post
run_cmd("cp \nSAY MESSAGE")
для удобства
local function RunCommand(cmd)
run_cmd("cp \n"..cmd)
end

RunCommand("SAY MESSAGE")
наслаждайся

Спасибо все работает.
Щас попробую прикрутить к этому клавишу при нажатии которой будет выводиться текст. Если не получится попрошу помощи.)
Под спойлером нужный тебе код. Захочешь - посмотришь, ну или сам для интереса.

код



клавиша, как можно догадаться, R
Originally Posted by ASSASSIN92 View Post
Под спойлером нужный тебе код. Захочешь - посмотришь, ну или сам для интереса.

код



клавиша, как можно догадаться, R

Не смотря под спойлер я сделал так

local function RunCommand(cmd)
run_cmd("cp \n"..cmd)
end

local function key_up(key)
if(key == 110) then
RunCommand("SAY MESSAGE")
end		
end
Где ошибся непойму.

И еще хотел спросить, как допустим сделать, при нажатии одной и той же клавиши, выводились поочередно значения. Например нажал один раз клавишу (R) вывелось mesagge1, нажал второй раз (R) вывелось message2, и так далее.
Спасибо за помощь.
Last edited by qawszx; Apr 23, 2014 at 10:04 PM.
Где ошибся непойму.

add_hook("key_up","RulesHelper",key_up)
на функцию не навешал эвент.

И еще хотел спросить, как допустим сделать, при нажатии одной и той же клавиши, выводились поочередно значения. Например нажал один раз клавишу (R) вывелось mesagge1, нажал второй раз (R) вывелось message2, и так далее.
Спасибо за помощь.

Можно сделать скажем массив сообщений в глобальной переменной и в другой глобальной переменной хранить ключ сообщения, которое должно выводится сейчас. Ну и плюсовать его после вывода.
-----

MESSAGES = {"мессадж1", "мессадж2", "мессадж3"}
CURRENT_MESSAGE = 1

local function RunCommand(cmd)
run_cmd("cp \n"..cmd)
end

local function key_up(key)
if key == string.byte('r') then
RunCommand("SAY "..MESSAGES[CURRENT_MESSAGE])
CURRENT_MESSAGE = CURRENT_MESSAGE + 1
if CURRENT_MESSAGE > #MESSAGES then
CURRENT_MESSAGE = 1
end
end
end

add_hook("key_up","RulesHelper",key_up)
скрипт не проверял - могут быть синтаксические ошибки
Last edited by ASSASSIN92; Apr 24, 2014 at 08:43 AM. Reason: <24 hour edit/bump
Спасибо большое, буду за компом потестирую.
-----
Потестил все работает, текст выводится. Но допустим я пишу чтоб выводилась команда например /minbelt 200 или /help, она выводится как текст, а сама команда не проходит, я так понял нужно добавить какую то функцию чтобы знак (/) воспринимался не как текст а как оператор.
Last edited by qawszx; Apr 24, 2014 at 08:00 PM. Reason: <24 hour edit/bump
run_cmd("cp \n"..cmd)
"cp " это команда, \n перенос строки. в целом это такой обход защитки для выполнения системных команд. Обычные же команды используются так:
run_cmd("help")
run_cmd("minbelt 200")
Хотел спросить почему в этом скрипте срабатывает только set mod judo.tbm?

run_cmd("cl")
echo("Press '','' to load judo with duel settings")

function settings()
        run_cmd("set mod judo.tbm")
	run_cmd("minbelt 200")
	run_cmd("desc Duels")
	run_cmd("duel start 1000")
	run_cmd("en")
end

function judo(key)
	if(key==string.byte(",")) then
		settings()
		echo("Enjoy duel in the great judo mod")
	end
end

add_hook("key_down","keypressdown1",judo)
Last edited by qawszx; Apr 25, 2014 at 08:53 PM.