Jump to content

Flaker

Members
  • Posts

    619
  • Joined

  • Last visited

Everything posted by Flaker

  1. string.sub (s, i [, j]) Возвращает подстроку строки s, которая начинается с символа с индексом i и продолжается до символа с индексом j; i и j могут быть отрицательными. Если j не указан, то считается, что он равен -1 (то же самое, что длина строки). В частности, вызов string.sub(s,1,j) возвращает начальную часть строки с длиной j, а string.sub(s, -i) возвращает конец строки s длиной i.
  2. AirKite, будьте так добры, поделитесь пожалуйста IP'шником сервера, столь вами, восхвалённого. Я хотел бы своими очами узреть это чудо.
  3. Try to read description of this func: https://wiki.multitheftauto.com/wiki/MoveObject There is no way to move obj without changing pos.
  4. U should use shaders for this...
  5. Что вам всем валхалу ставить приспичило? Я никогда его не ставил, так что помочь незнаю чем... Читай свою же заметку и делай по порядку...
  6. Так, погоди погоди... Ты что такое Denwer понимаешь? Для поключения сервера к MySQL требуется MySQL сервер, который включен в пакет Denwer. Обычно MySQL сервер администрируется через PHPmyAdmin (PMA). В Denwer он тоже включен. Что бы в него попасть (в PMA), нужно после запуска Денвера ввести в адресной строке браузера "localhost", если все нормально появиться страница с серым фоном. Далее находишь (CTR+F) слова "phpMyAdmin - администрирование СУБД MySQL" Вот там ты можешь создавать MySQL базы данных, изменять их, и так далее... Для того что-бы присоединиться к MySQL базе данных иp скрипта, используешь функцию dbConnect (https://wiki.multitheftauto.com/wiki/DbConnect) В атрибуте Host указываешь "localhost", в атрибуте databaseType - "MySQL", ну и так далее...
  7. Пожалуйста) Можешь сразу мне писать в скайп (flaker7), я как раз этим занимаюсь...
  8. Вроде за время между отправкой сообщений в данном ресурсе отвечает настройка "@differenceBetweenMessages_ms". Попробуй изменить ее в meta.xml.Вроде за время между отправкой сообщений в данном ресурсе отвечает настройка Вот код отключения AntiFlood для админов: (Замени код эвента onPlayerChat) addEventHandler( "onPlayerChat", getRootElement( ), function( message ) if ( isObjectInACLGroup ( "user." ..getAccountName ( getPlayerAccount ( source ) ), aclGetGroup( "Admin" ) ) ) then if not gPlayerSpams[ source ] then gPlayerSpams[ source ] = true gPlayerTickCount[ source ] = getTickCount( ) gPlayerMessage[ source ] = message else if getTickCount( ) - gPlayerTickCount[ source ] > gSettings.delay then gPlayerMsgNum[ source ] = 0 gPlayerMessage[ source ] = nil; gPlayerTickCount[ source ] = getTickCount( ) return else if gPlayerMsgNum[ source ] >= gSettings.msgNum then gPlayerTickCount[ source ] = getTickCount( ) cancelEvent( ) if gSettings.mutePlayers then mutePlayer( source ); end elseif message == gPlayerMessage[ source ] then cancelEvent( ) outputChatBox( "Don't repeat yourself!!!", source, 255, 0, 0 ) end gPlayerMsgNum[ source ] = gPlayerMsgNum[ source ] + 1 end end gPlayerMessage[ source ] = message end end )
  9. Удаление 287 зомби: Открываешь ресурс "Zombies", открываешь в нем файл "zombie_server.lua", там в самом начале строчка, которая начинается с "ZombiePedSkins" и там в скобках удали 287 номер! По секрету скажу, что такой тип переменной, которая задается с помощью фигурных скобок, называется Массив, ну или Таблица. Так что вот так... Насчет замены моделей, ты спрашивал вроде: Вот функции: https://wiki.multitheftauto.com/wiki/EngineLoadTXD https://wiki.multitheftauto.com/wiki/EngineLoadDFF В примерах на WIKI смотри как все это реализовывается. Это код клиентской стороны. (Тоесть в meta.xml указываешь type="client") function changeModel() --Данная функция заменит 287 скин (скин солдата) на модель с названием 287 --Для замены данной модели требуются 2 файла (287.txd и 287.dff) --Сначала грузим 287.txd файл: local txd = engineLoadTXD("data/287.txd") --В скобках путь к файлу. Тип этого аргумента (пути к файлу) строковый, поэтому пишем его в кавычках. --Далее устанавливаем этот файл клиенту: engineImportTXD (txd,287) -- 1 аргумент это переменная, в которой задан сам .txd файл. А второй аргумент это ID модели, на которую меняем! --Теперь грузим .dff файл и точно таким же образом его устанавливаем клиенту. local dff = engineLoadDFF ("data/287.dff", 287) --Для замены .dff модели используем функцию 'EngineReplaceModel'. Аргументы идентичны аргументам функции 'engineLoadTXD' engineReplaceModel(dff,287) end addEventHandler("onClientResourceStart",resourceRoot,changeModel) В коментариях все вроде бы описал. Незнаю, поймешь ты что нибудь или нет, но возможно хоть кому то это будет полезно узнать. И еще, есть один нюанс при замене моделей объектов мира (Домов, дорог, ну и так далее). При замене этих моделей, в функции engineLoadDFF, во втором аргументе (id заменяемого объекта), мы ставим 0. Вот пример замены объекта из WIKI: txd_floors = engineLoadTXD ( "models/office_floors.txd" ) engineImportTXD ( txd_floors, 3781 ) col_floors = engineLoadCOL ( "models/office_floors.col" ) dff_floors = engineLoadDFF ( "models/office_floors.dff", 0 ) engineReplaceCOL ( col_floors, 3781 ) engineReplaceModel ( dff_floors, 3781 ) И еще важная вещь: В meta.xml файле, ты должен указать, какие файлы должен загрузить пользователь к себе на компьютер. Делается это таким образом: <file src="287.txd"></file> <file src="287.dff"></file> src="ПУТЬ К ФАЙЛУ" О том, как заменить звуки: Советую скачать этот ресурс: https://community.multitheftauto.com/index.php?p=resources&s=details&id=3879 и посмотреть там, как можно заменить звуки оружия. Там сделано примерно так: 1) Звуки скачиваются на клиентский комп. 2) В определенном эвенте они воспроизводятся с помощью функции playSound3D: Например: В эвенте onClientPlayerWeaponFire, идет проверка на оружие. Если игрок стрельнул из пистолета, тогда тогда воспроизводится звук пистолетного выстрела (pistole.wav) if weapon == 22 then --pistol if(ammoInClip == 0 and reloadSoundEnabled)then pistolReload("sounds/weapon/pistole.wav", x,y,z) else local sound = playSound3D("sounds/weapon/pistole.wav", x,y,z) setSoundMaxDistance(sound, distance) end end Точно так же активируются звуки других эвентов. Вот вроде бы все учел... Спрашивай, если не понятно что то.
  10. http://g.zeos.in/?q=%D0%9A%D0%B0%D0%BA%20%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%20%D0%BC%D0%B8%D1%81%D1%81%D0%B8%D0%B8%20%D0%B2%20MTA
  11. С http://lua.ru/doc/ начинать можно когда уже парочку языков знаешь на уровне... А так, всем советую ilovelua.narod.ru
  12. Нет, я же говорю, попытайся сам понять, что всетаки не правильно!
  13. Обосо:Oй код LUA тегом в функции createWeapon первый аргумент является строкой (theType: The weapon type such as M4.) Тоесть не ID надо а название. Ты ее вобще не правильно написал... Надо примерно вот так: local wep = createWeapon ( "M4",202.58255004883, 1903.3753662109, 17.640625 ) Если в wiki синтаксис написан вот так: weapon createWeapon ( string theType, float x, float y, float z ) То: Самое первое слово (тут weapon) обозначет то, что функция возвращает! В данном случае объект оружия. Дальше... После названия функции, в скобках, указаны аргументы. В данном случае: theType, x, y, z А слово перед аргументом значит тип аргумента. Тоесть: theType - строковый x,y,z - число с плавающей запятой Дальше сам попробуй исправить...
  14. Korish0074, Кидай мету... Нет такого едитора,который ты хочеш
  15. Прощаю https://wiki.multitheftauto.com/wiki/Debugging - How to find errors in your scripts Насчет серверной части, не спорю... Но я не думаю, что человек, который не знает про дебаг, знает как работать с тригером. Так что пока пусть так...
  16. извените что примерного кода нету, но механика такая если потрон из этого оружия попадает в человека эго телепортирует по указаным координатам Короче смори: local posX, posY, posZ = 1, 2, 3; --Координаты телепортации addEventHandler("onClientPlayerDamage", localPlayer, function (attacker, weapon) if (attacker and source ~= attacker) then if (getElementType ( attacker ) == "player" ) then if weapon == 3 then --3 это ID оружия, из которого надо попасть по игроку, что бы того телепортнуло. setElementPosition ( localPlayer, posX, posY, posZ ) end end end end )
×
×
  • Create New...