Erema93
Members-
Posts
60 -
Joined
-
Last visited
Everything posted by Erema93
-
В логах пусто. Сервер тупо закрывается сам без ошибок.
-
Положил файл из архива куда указал, теперь сервер после запуска сам закрывается
-
При переносе скриптов из samp выдает ошибки. MODULE: Unable to load mods\deathmatch\modules\king.dll (126) ERROR: [gamemodes]\[amx]\amx\server\rcon.lua:47: attempt to call global 'amxVersionString' (a nil value) ERROR: [gamemodes]\[amx]\amx\server\amx.lua:23: The amx module (king.dll/so) isn't loaded. It is required for amx to function. Please add it to your server config and restart your server. ERROR: [gamemodes]\[amx]\amx\server\amx.lua:108: attempt to call global 'amxLoad' (a nil value) Сразу скажу, что сервер и клиент на последней версии, файл для модуля находится в нужном месте.
-
Wow Trailer sync fix, good
-
@alexaxel705 Я немного о другом имел ввиду. Если у всех старых ID авто уже будут заменены модели на новые, то скрипт уже не будет работать как надо? I meant a little about something else. If all old car IDs already have models replaced by new ones, then the script will no longer work as it should?
-
Synchronization of the tractor with the trailer was repaired?
-
And if all the old IDs are busy, it turns out that the script will not work?
-
Сделал как в коде server.Lua написано, но получается ошибка. Скрипт создания авто: вот
-
Можете показать, что в server.Lua? А то я пытаюсь командой заспавнить, используя CreateVehicle, но что-то авто не появляется
-
Ребят, помогите разобраться в этом скрипте, прописываю код на спавн авто на новые ID, а оно не спавнится никакой командой.
-
На комьюнити MTA появился скрипт с добавлением машин на новых ID
-
Вот оно что, значит только методом тыка. Спасибо за ответ
-
Подключение дополнительных track.dat для MTA
Erema93 replied to Erema93's topic in Russian / Русский
А возможно ли сделать скриптом сделать переключение путей (смена маршрута) рельсового транспорта? Если да, то скажите как его сделать? -
Подключение дополнительных track.dat для MTA
Erema93 replied to Erema93's topic in Russian / Русский
Не ну это понятно, что так можно. Но не думаю, что разработчики сервера так делали, ибо несколько трамвайных путей и каждый трамвай ездил по своему маршруту. Опять же знаю, что при наличии файла Track можно заспавнить рельсовый транспорт на определенный путь. -
Ну тогда что означают эти координаты в таблицы? Оставлял по одной разной строке и пассажир садился не на рандомное место, а на то куда указано в коде. То есть каждая строка в таблице отвечала за определенное место
-
Возможно подключить скриптом подключить дополнительные пути для рельсового транспорта с помощью скрипта? Видел на одном сервере, где рельсовый транспорт ездит по разным маршрутам, но ведь в оригинальной GTA лимит путей очень маленький. Хотелось бы знать, с помощью чего прописывать пути, как их подключать (если возможно скриптом в MTA)?
-
Есть вот такой код Подскажите, каким образом задаются в этом коде координаты пассажирских мест и как узнать необходимую координату, если хочу новое место для пассажира прописать?
-
Доступ к определенному авто к определенной группе
Erema93 replied to Erema93's topic in Russian / Русский
Исправил, работает как надо. Спасибо. Ваше getTeamName не работало и выдавало ошибку плохого аргумент. Если кому-то будет нужен код, то вот он: local teamjob = createTeam ( "Машинист", 0, 255, 0 ) addEventHandler ( "onVehicleStartEnter", getRootElement (), function ( player ) if getElementModel ( source ) == 537 then if getPlayerTeam ( player ) == teamjob then outputChatBox ( "Вы устроились на работу ", player, 255, 0, 0) else cancelEvent() outputChatBox ( "У вас нет доступа к ТС ", player, 255, 0, 0 ) end end end ) -
Доступ к определенному авто к определенной группе
Erema93 replied to Erema93's topic in Russian / Русский
Проверил код. Игрок в группе не может сесть в транспорт 537 -
Доступ к определенному авто к определенной группе
Erema93 replied to Erema93's topic in Russian / Русский
Ну а мне нужно так: игрок в группе сможет сесть в машину 537, но если игрок не в группе, то не сможет сесть в неё. Не нужно, чтобы он никуда не смог сесть. Пример: игрок состоит в группе машинистов, то он сможет сесть в локомотив, но если он не состоит в этой группе, то он не сможет в него сесть (а в остальной любой сможет) Более понятный пример: если игрок состоит во фракции, то у него есть доступ к авто фракции, иначе - нет доступа. -
Доступ к определенному авто к определенной группе
Erema93 replied to Erema93's topic in Russian / Русский
Заменил оба, теперь вообще не садится никуда -
Доступ к определенному авто к определенной группе
Erema93 replied to Erema93's topic in Russian / Русский
Пытался двигаться в нужном направлении, но пока что нужный итог не получается local teamjob = createTeam("Машинист", 0, 255, 0) addEventHandler ( "onVehicleStartEnter", getRootElement (), function ( player ) local teamjob = getPlayerTeam(player) if getPlayerTeam (player) ~= "Машинист" and getElementModel ( source ) ~= 537 then outputChatBox("Есть ", player, 255, 0, 0) else cancelEvent() outputChatBox("Вы не состоите в Группе ", player, 255, 0, 0) end end ) -
Как сделать, чтобы определенным транспортом могли пользоваться только игроки определенной команды(группы, team)? Знаю только одно условие: if getTeamName (getPlayerTeam (client)) == "Название группы" then else outputChatBox ("У вас нет доступа к ТС", hitElement) end А второе не могу додуматься. Причем нужно, чтобы оба условия соблюдались.
-
Всех приветствую. Нужна помощь: есть логин панель, надо 1) из одной строки "Логин" сделать две строки для ввода ("Имя" и "Фамилия") и чтобы было вводить можно было только с заглавной буквы и только буквы (пример "Ivan_Petrov") 2) нужно сделать, чтобы ник игрока брался не из настроек, а который он ввёл при регистрации. Server function PlayerLogin(username,password,checksave) if not (username == "") then if not (password == "") then local account = getAccount ( username, password ) if ( account ~= false ) then logIn(source, account, password) triggerClientEvent (source,"hideLoginWindow",getRootElement()) if checksave == true then triggerClientEvent(source,"saveLoginToXML",getRootElement(),username,password) else triggerClientEvent(source,"resetSaveXML",getRootElement(),username,password) end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","Wrong username and/or password!") end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","Please enter your password!") end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","Please enter your username!") end end addEvent("onRequestLogin",true) addEventHandler("onRequestLogin",getRootElement(),PlayerLogin) function registerPlayer(username,password,passwordConfirm) if not (username == "") then if not (password == "") then if not (passwordConfirm == "") then if password == passwordConfirm then local account = getAccount (username,password) if (account == false) then local accountAdded = addAccount(tostring(username),tostring(password)) if (accountAdded) then outputChatBox ("#FF0000* #00FF00Вы успешно зарегистрировались! [Username: #FFFFFF" .. username .. " #00FF00| Password: #FFFFFF" .. password .. "#00FF00 ]",source,255,255,255,true ) else triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","An unknown error has occured! Please choose a different username/password and try again.") end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","An account with this username already exists!") end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Passwords do not match!") end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Please confirm your password!") end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Please enter a password!") end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Please enter a username you would like to register with!") end end addEvent("onRequestRegister",true) addEventHandler("onRequestRegister",getRootElement(),registerPlayer) Client wdwLogin_Pannel = {} tabPannel_Main = {} tab_Login = {} tab_Register = {} --Settings blackLoginScreen = true --True/false Black screen, while player login... blackScreenTime = 5 --Time to complete disappearance of the black screen in seconds. GuestEnable = true --Can a Player play as Guest, or no. [true/false] function open_log_reg_pannel() if not(isElement(wdwLogin_Pannel)) then if blackLoginScreen == true then fadeCamera(false,0,0,0,0) end local sWidth,sHeight = guiGetScreenSize() -- The variables local Width,Height = 473,284 --Ширина, Высота окна local X = (sWidth/2) - (Width/2) --Получение центра по X (По ширине экрана) local Y = (sHeight/2) - (Height/2) --Получение центра по Y (Высоте экрана) wdwLogin_Pannel = guiCreateWindow(X,Y,Width,Height,"EBASH_BASS_V_TAZ",false) guiWindowSetSizable(wdwLogin_Pannel,false) tabPannel_Main = guiCreateTabPanel(9,23,455,251,false,wdwLogin_Pannel) tab_Login = guiCreateTab("Вход",tabPannel_Main) lbl_Login = guiCreateLabel(103,72,42,19,"Логин:",false,tab_Login) guiLabelSetVerticalAlign(lbl_Login,"center") guiLabelSetHorizontalAlign(lbl_Login,"right",false) guiSetFont(lbl_Login,"default-bold-small") edit_Login = guiCreateEdit(156,72,169,23,"",false,tab_Login) --Поле ввода логина edit_password = guiCreateEdit(156,106,169,23,"",false,tab_Login) --Поле ввода пароля guiEditSetMaxLength ( edit_Login,25) guiEditSetMaxLength ( edit_password,25) guiEditSetMasked ( edit_password, true ) lbl_Password = guiCreateLabel(48,106,96,19,"Пароль:",false,tab_Login) guiLabelSetVerticalAlign(lbl_Password,"center") guiLabelSetHorizontalAlign(lbl_Password,"right",false) guiSetFont(lbl_Password,"default-bold-small") lbl_top_info = guiCreateLabel(109,6,244,35,"Пожалуйста, напишите имя пользователя и пароль.",false,tab_Login) guiLabelSetColor(lbl_top_info,68,255,134) guiLabelSetVerticalAlign(lbl_top_info,"center") guiLabelSetHorizontalAlign(lbl_top_info,"center",false) lbl_about_legth = guiCreateLabel(142,42,184,18,"Максимум 25 символов.",false,tab_Login) guiLabelSetColor(lbl_about_legth,253,255,68) guiLabelSetVerticalAlign(lbl_about_legth,"center") guiLabelSetHorizontalAlign(lbl_about_legth,"center",false) checkbox_save = guiCreateCheckBox(329,110,100,20,"(Запомнить)",false,false,tab_Login) guiSetFont(checkbox_save,"default-small") btn_Login = guiCreateButton(164,162,147,41,"Вход",false,tab_Login) guiSetFont(btn_Login,"default-bold-small") login_tab_error_msg = guiCreateLabel(31,131,419,25,"Error_login_tab",false,tab_Login) guiLabelSetColor(login_tab_error_msg,255,0,0) guiLabelSetVerticalAlign(login_tab_error_msg,"center") guiLabelSetHorizontalAlign(login_tab_error_msg,"center",false) guiSetFont(login_tab_error_msg,"default-bold-small") tab_Register = guiCreateTab("Регистрация",tabPannel_Main) lbl_account_name = guiCreateLabel(43,39,119,21,"Логин:",false,tab_Register) guiLabelSetVerticalAlign(lbl_account_name,"center") guiLabelSetHorizontalAlign(lbl_account_name,"right",false) guiSetFont(lbl_account_name,"default-bold-small") lbl_reg_top_info = guiCreateLabel(66,5,364,31,"Пожалуйста, заполните все поля! (Не используйте \"!@#$\"%'^&*()\")",false,tab_Register) guiLabelSetColor(lbl_reg_top_info,255,234,55) guiLabelSetVerticalAlign(lbl_reg_top_info,"center") guiLabelSetHorizontalAlign(lbl_reg_top_info,"center",false) edit_account_name = guiCreateEdit(172,40,176,23,"",false,tab_Register) guiEditSetMaxLength ( edit_account_name,25) lbl__reg_tab_password = guiCreateLabel(43,71,119,21,"Пароль:",false,tab_Register) guiLabelSetVerticalAlign(lbl__reg_tab_password,"center") guiLabelSetHorizontalAlign(lbl__reg_tab_password,"right",false) guiSetFont(lbl__reg_tab_password,"default-bold-small") edit__reg_tab_password = guiCreateEdit(172,71,176,23,"",false,tab_Register) guiEditSetMaxLength ( edit__reg_tab_password,25) edit__reg_tab_Repassword = guiCreateEdit(172,102,176,23,"",false,tab_Register) guiEditSetMaxLength ( edit__reg_tab_Repassword,25) lvl_reg_tab_Repassword = guiCreateLabel(43,102,119,21,"Повторите пароль:",false,tab_Register) guiLabelSetVerticalAlign(lvl_reg_tab_Repassword,"center") guiLabelSetHorizontalAlign(lvl_reg_tab_Repassword,"right",false) guiSetFont(lvl_reg_tab_Repassword,"default-bold-small") btn_reg_tab_register = guiCreateButton(153,161,174,42,"Зарегистрироваться!",false,tab_Register) guiSetFont(btn_reg_tab_register,"default-bold-small") reg_tab_error_msg = guiCreateLabel(66,129,364,31,"Error_reg_ttab",false,tab_Register) guiLabelSetColor(reg_tab_error_msg,255,20,0) guiLabelSetVerticalAlign(reg_tab_error_msg,"center") guiLabelSetHorizontalAlign(reg_tab_error_msg,"center",false) guiSetFont(reg_tab_error_msg,"default-bold-small") guiSetVisible(wdwLogin_Pannel,true) --guiSetInputEnabled(true) showCursor(true) --Изменение надписей: guiSetText(reg_tab_error_msg, "") --Поле ошибки в Reg табе guiSetText(login_tab_error_msg, "") --Поле ошибки в Login табе local username, password = loadLoginFromXML() if not( username == "" or password == "") then guiCheckBoxSetSelected ( checkbox_save, true ) guiSetText ( edit_Login, tostring(username)) guiSetText ( edit_password, tostring(password)) else guiCheckBoxSetSelected ( checkbox_save, false ) guiSetText ( edit_Login, tostring(username)) guiSetText ( edit_password, tostring(password)) end --Эвенты addEventHandler("onClientGUIClick",btn_Login,onClickBtnLogin) addEventHandler("onClientGUIClick",btn_reg_tab_register,onClickBtnRegister) if GuestEnable == true then addEventHandler("onClientGUIClick",btnGuest,onClickGuest) end --else --destroyElement(wdwLogin_Pannel) --guiSetInputEnabled(false) --wdwLogin_Pannel = nil --showCursor(false) end end function start_cl_resource() --При старте open_log_reg_pannel() end addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),start_cl_resource) function loadLoginFromXML() --Загрузка логина и пароля из XML local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml") if not xml_save_log_File then xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login") end local usernameNode = xmlFindChild (xml_save_log_File, "username", 0) local passwordNode = xmlFindChild (xml_save_log_File, "password", 0) if usernameNode and passwordNode then return xmlNodeGetValue(usernameNode), xmlNodeGetValue(passwordNode) else return "", "" end xmlUnloadFile ( xml_save_log_File ) end function saveLoginToXML(username, password) --Сохрание логина и пароля в XML local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml") if not xml_save_log_File then xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login") end if (username ~= "") then local usernameNode = xmlFindChild (xml_save_log_File, "username", 0) if not usernameNode then usernameNode = xmlCreateChild(xml_save_log_File, "username") end xmlNodeSetValue (usernameNode, tostring(username)) end if (password ~= "") then local passwordNode = xmlFindChild (xml_save_log_File, "password", 0) if not passwordNode then passwordNode = xmlCreateChild(xml_save_log_File, "password") end xmlNodeSetValue (passwordNode, tostring(password)) end xmlSaveFile(xml_save_log_File) xmlUnloadFile (xml_save_log_File) end addEvent("saveLoginToXML", true) addEventHandler("saveLoginToXML", getRootElement(), saveLoginToXML) function resetSaveXML() --Сохрание логина и пароля в XML local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml") if not xml_save_log_File then xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login") end if (username ~= "") then local usernameNode = xmlFindChild (xml_save_log_File, "username", 0) if not usernameNode then usernameNode = xmlCreateChild(xml_save_log_File, "username") end end if (password ~= "") then local passwordNode = xmlFindChild (xml_save_log_File, "password", 0) if not passwordNode then passwordNode = xmlCreateChild(xml_save_log_File, "password") end xmlNodeSetValue (passwordNode, "") end xmlSaveFile(xml_save_log_File) xmlUnloadFile (xml_save_log_File) end addEvent("resetSaveXML", true) addEventHandler("resetSaveXML", getRootElement(), resetSaveXML) function onClickBtnLogin(button,state) --При нажатии на кнопку Login if(button == "left" and state == "up") then if (source == btn_Login) then username = guiGetText(edit_Login) password = guiGetText(edit_password) if guiCheckBoxGetSelected ( checkbox_save ) == true then checksave = true else checksave = false end triggerServerEvent("onRequestLogin",getLocalPlayer(),username,password,checksave) end end end function onClickBtnRegister(button,state) --При нажатии на кнопку Register and Cofirm if(button == "left" and state == "up") then if (source == btn_reg_tab_register) then username = guiGetText(edit_account_name) password = guiGetText(edit__reg_tab_password) passwordConfirm = guiGetText(edit__reg_tab_Repassword) triggerServerEvent("onRequestRegister",getLocalPlayer(),username,password,passwordConfirm) end end end function Error_msg(Tab, Text) if Tab == "Login" then guiSetText(login_tab_error_msg, tostring(Text)) setTimer(function() guiSetText(login_tab_error_msg, "") end,3000,1) elseif Tab == "Register" then guiSetText(reg_tab_error_msg, tostring(Text)) setTimer(function() guiSetText(reg_tab_error_msg, "") end,3000,1) end end addEvent("set_warning_text",true) addEventHandler("set_warning_text",getRootElement(),Error_msg) function onClickGuest(button,state) if(button == "left" and state == "up") then if (source == btnGuest) then guiSetVisible(wdwLogin_Pannel, false) guiSetInputEnabled(false) showCursor(false) if blackLoginScreen == true then fadeCamera(true,blackScreenTime) end end end end function hideLoginWindow() --Функция закрытия логин панели guiSetInputEnabled(false) guiSetVisible(wdwLogin_Pannel, false) destroyElement(wdwLogin_Pannel) wdwLogin_Pannel = nil showCursor(false) removeEventHandler("onClientGUIClick",btn_Login,onClickBtnLogin) if GuestEnable == true then removeEventHandler("onClientGUIClick",btnGuest,onClickGuest) end if blackLoginScreen == true then fadeCamera(true,blackScreenTime) end end addEvent("hideLoginWindow", true) addEventHandler("hideLoginWindow", getRootElement(), hideLoginWindow)