Jump to content

Kernell

MTA Contributors
  • Posts

    1,739
  • Joined

  • Last visited

Everything posted by Kernell

  1. это не нарушает правил форума Это не нарушает правил форума, но и место совсем не подходящее. Это точно так же как придти в магазин где продают мобильные телефоны и задавать вопросы консультанту про туфли.
  2. Основные проблемы от того, что они вообще понятия не имеют о том, что такое программирование. P.S. Название темы с ошибкой, неправильно писать "LUA" прописными символами.
  3. Ты щас пол форуму пожелал удачи Тут нет разборок, просто я решил потроллить фломастера, как любит он любит делать, когда был тут модератором ))
  4. Давно уже всем известно, что взрослеть нужно тебе, то что ты за в очках и в машине тебя взрослым не делает, на себя в зеркало посмотри P.S. У тебя ПМС что ли?
  5. Зато ты один )) Forever alone ведь))
  6. Все нормальные люди кажутся похожими друг на друга со стороны задротов..
  7. Happy birthday Lil Toady =)
  8. Это дело в твоей сети. Ты живёшь почти рядом с сервером (он расположен в Новосибирске), а я живу в Ставрополе и пинг имею ~80 ms. P.S. Вообще в MTA пинг на много сильнее чувствуется чем в SA-MP.
  9. Это пример работы с ASCII, о ASCII вы должны были знать ещё до изучения Lua. Вы этого не знаете потому что начали изучать с Lua вместо Си, поэтому не знаете таких мелочей которые важны на самом деле.
  10. function GenerateHash( lenght ) local result = ""; for i = 1, lenght do result = ( "%s%c" ):format( result, math.random( 0, 1 ) == 0 and math.random( 65, 90 ) or math.random( 97, 122 ) ); end return result; end GenerateHash( длина строки ) GenerateHash( 5 ) -- OVmXt Это ты хотел?
  11. В MTA можно коннектиться к себе через внешний IP, я так обычно проверяю порты, когда они закрыты (глюк провайдера) соединение не устанавливается Так и должно быть. Автор, пользуйтесь командой openports для проверки портов.
  12. Flaker, в твоём коде нет проверки. Вот что я имел ввиду: local function TimeUpdate() local tReal = getRealTime(); local tGameHour, tGameMins = getTime(); if tGameHour ~= tReal.hour or tGameMins ~= tReal.minute then setTime( tReal.hour, tReal.minute ); -- при частом использовании setTime, мир будет "дёргаться", поэтому лучше сделать такую проверочку. end end setMinuteDuration( 60000 ); setTimer( TimeUpdate, 5000, 0 ); И ставить таймер на 61000 мс слишком много, время может легко сбиться
  13. setMinuteDuration getRealTime setTime P.S. Рекомендую в таймере проверять игровое время с реальным.
  14. 1. Фигурные скобки следует переносить на новую строку, ты ведь сам говорил что юзаешь стиль BSD. 2. Отступы в таблицах следует делать вместе с бинарными операторами, т.е. local tSAMPSettings = { bAllowGlithes = true; -- разрешить баги игры bLimitFPS = true; -- лимит ФПС bLimitPlayersCount = true; -- лимит игроков } Ну и не знаю как вы, а я как сишник привык ставить точку с запятой и для меня это правильно работает в Lua (вообще даже в школах на математике учат ставить точку с запятой). 3. Бинарные операторы следует обрамлять пробелами. 4. Лучше пользоваться венгерской нотацией, раз ты взялся ставить префиксы как тип в названиях переменных. ИМХО, пример не очень. -- настройки local aSAMPSettings = { m_bAllowGlithes = true; -- разрешить баги игры m_bLimitFPS = true; -- лимит ФПС m_bLimitPlayersCount = true; -- лимит игроков } -- функция-шутка local function WelcomeBackToSAMP() -- выход, если настройки не найдены if type( aSAMPSettings ) ~= 'table' then -- nil тоже тип return false; end if aSAMPSettings.m_bAllowGlithes then for _, value in ipairs( { "quickreload", "fastmove", "fastfire", "crouchbug" } ) do setGlitchEnabled( value, true ); end end if aSAMPSettings.m_bLimitFPS then setFPSLimit( 25 ); end if aSAMPSettings.m_bLimitPlayersCount then setMaxPlayers( 500 ); end return true; end По мне так, этот код более читабелен (вообще в коде MTA можно увидеть этот стиль). P.S. Вообще надо вот так код оформлять http://cs6002.vk.com/u38799199/118091232/z_e640b3de.jpg
  15. Тогда писать больше нечего. Вообще начните с изучения "логики" Вы хотя бы блок-схему составьте. Если вы этого не можете - зря ходили в школу.
  16. Ну наверное просто радио поток с лимитом подключений или не стабильный канал..
  17. Lana del Rey - Born to die (Gemini remix) Sway & Kelsey McHugh - Level Up
  18. функция getPedOccupiedVehicle возвращает элемент машины в которой игрок сидит или false если он не в машине.
  19. Залогиниться не пробовал? Твоя идея между прочим (что на мой взгляд - бред, брать текущий скин нужно перед открытием GUI). Поэтому и в ElementData ничего нету.
  20. В след. раз когда выкладываете скрипт - подумайте о его рефакторинге, чтобы другие могли без труда разобраться в вашем коде. local FrontCamera, PlayerLogin, SkinSelected, SkinNotSelected, SkinRight, SkinLeft; addEvent( "FrontCamera", true ); addEvent( "SkinSelected", true ); addEvent( "SkinNotSelected", true ); addEvent( "SkinRight", true ); addEvent( "SkinLeft", true ); function FrontCamera() if client then local fClientX, fClientY, fClientZ = getElementPosition( client ); setPedRotation( client, 1 ); setCameraMatrix( client, fClientX, fClientY + 5, fClientZ, fClientX, fClientY, fClientZ ); end end function PlayerLogin( thePreviousAccount, theCurrentAccount, autoLogin ) if not isGuestAccount( getPlayerAccount( source ) ) then setElementData( source, "defaultsskin", getElementModel( source ) ); end end function SkinSelected() if client then local iDefaultSkin = getElementData( client, "defaultsskin" ); fadeCamera( client, true ); setCameraTarget( client, client ); if ( getPlayerMoney( client ) or 0 ) < 100 then setElementModel( client, iDefaultSkin ); outputChatBox( "У Вас недостаточно денег!", client , 255, 0, 0, true ); return; end takePlayerMoney( client, 100 ); setElementData( source, "defaultsskin", getElementModel( client ) ); outputChatBox( "Вы успешно купили скин!", client ); end end function SkinNotSelected() if client then -- local playerskin = getElementData( client, "1skin" ); -- setElementModel( client, playerskin ); fadeCamera( client, true ); setCameraTarget( client, client ); ---outputChatBox( "Skin successfully changed!", client ); end end function SkinRight() if not client then return end local iSkin = getElementModel( client ); if iSkin == 0 then setElementModel( client, 7 ); elseif iSkin == 7 then setElementModel( client, 9 ); elseif iSkin == 41 then setElementModel( client, 43 ); elseif iSkin == 64 then setElementModel( client, 66 ); elseif iSkin == 85 then setElementModel( client, 87 ); elseif iSkin == 118 then setElementModel( client, 120 ); elseif iSkin == 148 then setElementModel( client, 150 ); elseif iSkin == 207 then setElementModel( client, 209 ); elseif iSkin == 238 then setElementModel( client, 240 ); elseif iSkin == 264 then setElementModel( client, 274 ); elseif iSkin == 288 then setElementModel( client, 0 ); else setElementModel( client, iSkin + 1 ); end end function SkinLeft() if not client then return end local iSkin = getElementModel( client ); if iSkin == 7 then setElementModel( client, 0 ); elseif iSkin == 9 then setElementModel( client, 7 ); elseif iSkin == 43 then setElementModel( client, 41 ); elseif iSkin == 66 then setElementModel( client, 64 ); elseif iSkin == 87 then setElementModel( client, 85 ); elseif iSkin == 120 then setElementModel( client, 118 ); elseif iSkin == 150 then setElementModel( client, 148 ); elseif iSkin == 209 then setElementModel( client, 207 ); elseif iSkin == 240 then setElementModel( client, 238 ); elseif iSkin == 274 then setElementModel( client, 264 ); elseif iSkin == 0 then setElementModel( client, 288 ); else setElementModel( client, iSkin - 1 ); end end addEventHandler( "SkinSelected", root, SkinSelected ); addEventHandler( "FrontCamera", root, FrontCamera ); addEventHandler( "OnPlayerLogin", root, PlayerLogin ); addEventHandler( "SkinNotSelected", root, SkinNotSelected ); addEventHandler( "SkinRight", root, SkinRight ); addEventHandler( "SkinLeft", root, SkinLeft );
  21. Вы вообще ниодной функции в МТА не знаете? addCommandHandler
  22. За тебя код писать никто не будет, помощи было достаточно.. Одни капризы да и только.
  23. MacTrekkie, я примерный код накидал, и не для того чтобы ты тупо скопипастил его.
×
×
  • Create New...