Надо подновить чутка тему. А то сильно увлёкся исследованиями, что этот тред совсем вылетел из головы.
Сегодня я выложу часть скриптов, используемые на моём сервере по сей день. В них вы не найдёте чего-то принципиально нового - эти функции просто удобные обёртки под Unimod функционал.
1. Мгновенное убийство игрока (даже под неуязвимостью бесконечной длительности). Функция "перегружена": если передано число, то будет убит игрок по индексу из таблицы игроков; иначе будет убит игрок по нику.
function kill(nick)
local obj
local msg
if type(nick)=="number" then
obj=playerList()[nick]
else
obj=playerGetByName(nick)
end
buffApply(obj,16,1)
sendChat(32,'Slayed player '..playerInfo(obj).name,1,1)
end
На моём сервере, эта функция вызывается через чат. Команда "/kill". Команда будет применена к сказавшему.
2. Телепортация игрока в координаты. На вход функции подаётся 3 параметра: ник игрока, координата X, координата Y.
function teleportToCoor(obj,x,y)
unitMove(playerGetByName(obj),x,y)
sendChat(32,'Player '..obj..' was teleported to ('..x..';'..y..')',1,1)
end
3. Телепортация игрока в точку его курсора. На вход подаётся ник этого игрока.
function teleportToCur(obj)
x,y=playerMouse(playerGetByName(obj))
unitMove(playerGetByName(obj),x,y)
sendChat(32,'[SERVER]Player '..obj..' was teleported to ('..x..';'..y..')',1,1)
end
4. Телепортация игрока к игроку. На вход передаётся 2 строки: кого телепортировать и к кому телепортировать.
function teleportToPlayer(pl1,target)
local x,y=unitPos(playerGetByName(target))
unitMove(playerGetByName(pl1),x,y)
sendChat(32,'[SERVER]Player '..pl1..' was teleported to player '..target,1,1)
end
5. Дать игроку предмет в инвентарь. На вход подаётся 2 строки: что дать(имя из thing.bin) и кому дать (ник).
function give(obj, nick)
if nick==nil then nick=hostname end
if nick==nil then return 0 end
x=createObjectIn(obj,playerGetByName(nick))
print('Object "'..obj..'" now in '..nick.."'s inventory!")
return x
end
На моём сервере, эта функция вызывается через чат. Команда "/give". Команда разрешена только хосту в целях безопасности.
Мои скрипты становятся всё больше и мне всё труднее находить что-то более-менее завершенное и готовое к размещению. В данный момент я работаю над большой таблицей - она должна стать частью большой документации по Unimod (ибо нормальной документации по прежнему нет). Из запланированного пока есть только спецэффекты. Так что тема не будет пополняться в ближайшие месяца два как минимум.
А вообще, мне интересно, помогло ли кому-нибудь когда-нибудь то, что здесь выложено?