Jump to content

KruTolic_rus

Members
  • Posts

    94
  • Joined

  • Last visited

Everything posted by KruTolic_rus

  1. 1.Вступление Доброго времени суток,этот урок расскажет вам какие ивенты бывают. Урок предназначен для людей,которые только-только начали что то скриптить,но оказались в ж**е из-за того,что скрипт не запускается... 2.Начнём! Естественно используем команду addEventHandler ( "событие", getResourceRootElement(), функция) Ивент addEventHandler ( "OnResourceStart", getResourceRootElement(getThisResource()), функция) используем в случае,когда у нас постоянная основа функции то есть,ресурс запустили-и это исполнилось,и больше не используется. Это могут быть создание ботов,команд,различных машин,и т.д. Бывает кучи видов ивентов: https://wiki.multitheftauto.com/wiki/Cli ... ing_Events -клиент и https://wiki.multitheftauto.com/wiki/Cli ... ing_Events -сервер! По их названию мы определяем что и когда произойдёт. К примеру "СуперМегаКрутойРесурс" это респавнер машин...но он использует таймер,потому поговорим и о таймере,но в другом уроке! Ну вот,приспичило нам сделать маркер,который,естественно,появляется единоразово и тогда,когда мы запустили ресурс: function MarkerTableTutorial () createMarker ( x , y , z, "cylinder", 1.5, 255, 255, 0, 170 ) end addEventHandler ("OnResourceStart",getResourceRootElement(getThisResource()),MarkerTableTutorial) Как вы видите,мы использовали ивент "OnResourceStart" ---при запуске этого getThisResource(),мы получаем свежий маркер! Я надеюсь этот урок помог вам,юзайте на здоровье!
  2. Поточнее? нуууу...я чуток представляю как,но скорее всего,этот код с ошибками: addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), function (resource) local garageCube = createColCuboid(id модели, 194, 28, 6, 10, 4) ---\\\тут я ничего не подскажу,не знаю,Но нужно сделать свою фигуру,которая и будет реагировать...ставь там где нужно addEventHandler("onColShapeHit", garageCube, onGarageCubeHit) addEventHandler("onColShapeLeave", garageCube, onGarageCubeLeave) end) -----код взят отсюдо : [url=https://wiki.multitheftauto.com/wiki/SetGarageOpen]https://wiki.multitheftauto.com/wiki/SetGarageOpen[/url] function NewWeaponFunction () DetonatorType = getPedWeapon ( getRandomPlayer() ,40) -------Оружие игрока, if garageCube then setGarageOpen (false) ------гараж закрыт по умолчанию end if DetonatorType then ----вызов функции getPedWeapon setGarageOpen (true) ----ставим значение "true" если оружие "детонатор" и он же нажал на кнопку детонации... end end addEventHandler ("onClientPedWeaponFire",getResourceRootElement(),NewWeaponFunction) По моему тут еще нужен триггер на getPlayerPosition,если он рядом с кубоидом и нажал на детонатор,то: addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), function (resource) local garageCube = createColCuboid(id модели, 194, 28, 6, 10, 4) ---\\\тут я ничего не подскажу,не знаю,Но нужно сделать свою фигуру,которая и будет реагировать...ставь там где нужно addEventHandler("onColShapeHit", garageCube, onGarageCubeHit) addEventHandler("onColShapeLeave", garageCube, onGarageCubeLeave) end) -----код взят отсюдо : [url=https://wiki.multitheftauto.com/wiki/SetGarageOpen]https://wiki.multitheftauto.com/wiki/SetGarageOpen[/url] function NewWeaponFunction () DetonatorType = getPedWeapon ( getRandomPlayer() ,40) -------Оружие игрока GetPlayerPosition = getAlivePlayers () ---надо сделать так,что бы если игрок возле кубоида,то скрипт NewWeaponFunction есть активным т.е. следущие строки... if garageCube then setGarageOpen (false) ------гараж закрыт по умолчанию end if DetonatorType then ----вызов функции getPedWeapon setGarageOpen (true) ----ставим значение "true" если оружие "детонатор" и он же нажал на кнопку детонации... end end addEventHandler ("onClientPedWeaponFire",getResourceRootElement(),NewWeaponFunction)
  3. если честно,я тебя совсем не понял...что за "рекорд"?
  4. Я могу тебе предложить создать acl лист,и туда отнести нужных тебе игроков... Потом,с помощью команды isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("Твоя acl команда")) Это,я думаю,пока что единственный способ для "проверки" Хотя...у Флакера что то было по ник нейму...когда я играл на его сервере
  5. 1.Русского C+ не тут надо искать! 2.Оружие? Существует сила-силеная возможностей для создания оружия.Все зависит от возможности движка и от вашей фантазии.Обычно,в serverside пиши giveWeapon ( source, 31, 200 ) Например: function giveWeapons( ) if spawnedPlayer then giveWeapon ( source, 31, 200 ) end end addEventHandler ( "onResourceStart", getRootElement(getThisResource()), giveWeapons) или: function giveWeapons() giveWeapon ( source, 31, 200 ) end addEventHandler ( "onPlayerSpawn", getRootElement(getThisResource()), giveWeapons) Также можно сделать с помощью GUI,но это гораздо сложнее,но лучше... Вот ссылка на функцию https://wiki.multitheftauto.com/wiki/GiveWeapon Также http://www.oldskola1.narod.ru/Rus1.htm
  6. Добрый день,вот уже подсел за клиент-сервер функции...У меня вопрос: Клиент,это скрипт,который выполняется у клиента или сам клиент?.Что то типа: сервер дает клиенту тото,а не клиент сам себе ? Например outputChatBox выполняеться ВСЕГДА(исключительно) на сторону клиента,а вот Дать игроку что то исполняет сервер? Куда мне девать это: function OnPlayerJoinSetTeam () setPlayerTeam ( source, PlayersTeam) spawnPlayer ( source, 0.0, 0.0, 5.0, 90.0, 0 ) outputChatBox ( "You are automaticaly spawned as Players!", source, 255, 255, 255, true ) giveWeapon ( source, 31, 200 ) end addEventHandler ( "onPlayerJoin", getRootElement(), OnPlayerJoinSetTeam ) ????????
  7. Твой троллинг не удался.Ты пятый,кто посылает меня в Ведение.Не логично подумать,что я его уже почитал?Еще с первого раза прочитал,со второго пересмотрел,с третьего натренировался,с 4-го задрался,с 5-го взбесило! Троллинг? O_O Даже намека на него небыло! Да, в моем тексте прослеживается некоторый, скажем так, иронический сарказм, но тролинг... 5 раз говоришь...? Ну чтож, неплохо, неплохо... Точно все части прочитал? https://wiki.multitheftauto.com/wiki/Category:GUI_Tutorials Там их по 3 к каждому разделу, а раздела 2 Beginner Tutorials и Novice Tutorials... Читать надо на английском, так как на русском перевод немного не правильный, и некоторые моменты упущены... Стоп,ту ссылку что ты дал,я еще не смотрел...Телепорты?...нет,не читал.Но вот с окошками уже давно,а это https://wiki.multitheftauto.com/wiki/Scr ... troduction -----мне кидать не нужно,я его уже на изусть знаю.
  8. Твой троллинг не удался.Ты пятый,кто посылает меня в Ведение.Не логично подумать,что я его уже почитал?Еще с первого раза прочитал,со второго пересмотрел,с третьего натренировался,с 4-го задрался,с 5-го взбесило!
  9. А как исправить зависание? У меня не убираеться курсор и заедает при том сервер...оно люто мешает...
  10. А как исправить зависание? У меня не убираеться курсор и заедает при том сервер...оно люто мешает... Я учился вот здесь:https://www.youtube.com/watch?v=u7_L-WuuC6M
  11. Что то ты не то пишешь... Использовал и полностью твой,и свой ресурсы,и вылезает еще больше ошибок.... 1.Если нажал "BindKey" то сначало 1 раз закрываеться и открываеться окно,но потом уже заедает курсор...ничего нельзя сделать...только риконнект.Даже Бинд Кеу не работает. 2.Не даються деньги ВООБЩЕ при нажатии на клавишу. 3.таже проблема "nill value" 4.Менюшка появляеться даже если ты зашел на сервер(то есть не тогда когда нажал на клавишу) Делал все как ты сказал...и даже больше(когда не работало) И кстати,те TEAMS так и не появились...
  12. Все в одном.Я не разбираюсь в "клиент-сервер"
  13. Уже час поправляю ресурс по его "хочу" и никакого результата...Вот код: Скриншот: http://s2.uploads.ru/jUZHr.png
  14. Как задать свою характеристику машин? Или это нельзя сделать? Допустим: танк.Хочу припарковать ему пулёмет из барона,но вот как? Еще: Есть растлер(замененный) хочу дать ему ракеты(гидры).Как? P.S. Еще нужно сделать так,что бы ПЕД (армеец) долбил по зомби,и ходил по Вейпойтам(я вейпойнты умею делать) мне нужно знать,как их назначить педу,и еще,нужно что бы он спавнился на начальной точке когда убит. (return > 0)?
  15. Опять вопрос(уже наверное достал я вас,но все же) Все что я знаю,это Event - OnClientGUIClick и больше ничего... Вот допустим: ButItem = guiCreateButton( 25, 25, 25, 25, "Buy It!", false) function CreateTable () guiCreateWindow ( 25, 30, 30, 30, PedShop, false) guiCreateButton( 25, 25, 25, 25, "Buy It!", false) ---\\\При старте ресурса,есть кнопка и окно,но оно не открываеться(биндим потом кнопку или добавляем команду) end addEventHandler ( "onClientResourceStart", getResourceRootElement(getThisResource()), CreateTable ) function ActiveButton () if ( ButItem ) then Что дальше делать? end end addEventHandler ( "OnClientGUIClick", getResourceRootElement(), ActiveButton ) Помогите,а ???
  16. Блин,английский,это плохо...это плохо... Слушай,опять вопрос: getThisResource используеться один раз,ну к примеру там: function StartThisTuturial () suchAddonsInThis end addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), StartThisTuturial ) function AddAddonsInThisResource () otherOneAddons end addEventHandler ( "onResourceStart", getResourceRootElement(), StartThisTuturial ) Как я понял(очень недавно начал скриптить)-Ветка идет от большего до меньшего(Мать--сын--сын сына) Но если писать "onResourceStart" то не проще ли сделать тогда,если стартанул StartThisTuturial? Как это сделать? P.S. Не вижу туториала... Как мне связывать серверный и клиентские функции,если они в разных .lua файлах?
  17. Спасибо тебе,выручил,но вот еще вопрос: Можно ссылку на туториал по сервер-клиент функциях? Я еще такого никогда не замечал,но в ядре ресурсов часто есть : name_c.lua и name_s.lua. Как я понял,это то,что исполняет сервер(server) и вывод к клиенту ( client )
  18. Я пользовался debugscript 3,и вконце-не выдавало ошибок,но и самых команд я так и не увидел.(Они попросту не создаються в TAB менюшке).Но проверить я не могу сам скрипт распределения т.к. команды не создаються. P.S-Есть идея сделать отдельный .lua и там уже создать комады(если их создавать без дополнений) но я думаю,что у меня ошибка где то здесь,или я что то не то сделал. function TeamsCreate () GuestJoin = createTeam ( "Guest", 0, 255, 0 ) PlayersJoin = createTeam ( "Players", 120, 120, 0 ) AdminsJoin = createTeam ( "Admins", 120, 120, 0 ) OwnerJoin = createTeam ( "Owner", 230, 0, 59 ) end addEventHandler ( "onResourceStart", getRootElement(), TeamsCreate ) function NotLoggedIn () PlayerCheck = getRandomPlayer (ThePlayer,true ) if ( PlayerCheck ) then setPlayerTeam ( source, GuestJoin ) end if ( PlayerCheck == false) then end end addEventHandler ( "onClientPlayerJoin", getRootElement(), NotLoggedIn ) function PlayersPlay () if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("Everyone")) then setPlayerTeam(source, PlayersJoin) end end addEventHandler ( "onPlayerLogin", getRootElement(), PlayersPlay ) function AdminsTeam () if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("Admin")) then setPlayerTeam(source, AdminsJoin) setPedArmor ( ThePlayer, 100 ) end end addEventHandler ( "onPlayerLogin", getRootElement(), AdminsTeam ) function OwnerTeam () if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("Supermoderator")) then setPlayerTeam(source, OwnerJoin) setPedArmor ( ThePlayer, 100 ) end end addEventHandler ( "onPlayerLogin", getRootElement(), OwnerTeam )
×
×
  • Create New...