dnsvlc Posted May 7, 2013 Share Posted May 7, 2013 При сервере который включается у меня на ПК - скрипты работают нормально, как нужно, без проблем. Но когда я загружаю их на хостинг - некоторые из них начинают работать только после перезагрузки скрипта. (При том, что в mtaserver они прописаны где надо). Пользовался разными FTP менеджерами: Total Commander, FileZilla. Все скрипты в UTF-8 или ANSI кодировке. Ошибок сервер не выдаёт. Если нужно, могу скрипт скинуть на проверку. Может обнаружится что-то. Link to comment
dnsvlc Posted May 8, 2013 Author Share Posted May 8, 2013 Попробуй на другом хосте! Этот вариант не подходит. Есть другие предложения? Link to comment
Sergey_Walter Posted May 8, 2013 Share Posted May 8, 2013 в mtaserver пропиши загрузку ресурсов по 2 раза кидай ресурсы которые не загружаются, позырим.. Link to comment
Kernell Posted May 8, 2013 Share Posted May 8, 2013 (edited) При сервере который включается у меня на ПК - скрипты работают нормально, как нужно, без проблем. Но когда я загружаю их на хостинг - некоторые из них начинают работать только после перезагрузки скрипта. (При том, что в mtaserver они прописаны где надо). Пользовался разными FTP менеджерами: Total Commander, FileZilla. Все скрипты в UTF-8 или ANSI кодировке. Ошибок сервер не выдаёт. Если нужно, могу скрипт скинуть на проверку. Может обнаружится что-то. Такое чувство, что у вас серверный onResourceStart даёт команду клиентам (которые уже подключены ранее), а те кто после подключился - естественно ничего не получат, ибо скрипт уже запущен. Edited May 8, 2013 by Guest Link to comment
dnsvlc Posted May 8, 2013 Author Share Posted May 8, 2013 При сервере который включается у меня на ПК - скрипты работают нормально, как нужно, без проблем. Но когда я загружаю их на хостинг - некоторые из них начинают работать только после перезагрузки скрипта. (При том, что в mtaserver они прописаны где надо). Пользовался разными FTP менеджерами: Total Commander, FileZilla. Все скрипты в UTF-8 или ANSI кодировке. Ошибок сервер не выдаёт. Если нужно, могу скрипт скинуть на проверку. Может обнаружится что-то. Такое чувство, что у вас серверный onResourceStart даёт команду клиентам (которые уже подключены ранее), а те кто после подключился - естественно ничего не получат, ибо скрипт уже запущен. Может я не правильно понял, но скрипты не работают даже после обновления и перезагрузки хостинга. Даже после полного удаления и установки мода сначала - всё по старому. Я не думаю что тут дело в самих скриптах, так как они не изменялись. в mtaserver пропиши загрузку ресурсов по 2 раза кидай ресурсы которые не загружаются, позырим.. Кстати, это идея. Сейчас попробую. Link to comment
Kernell Posted May 8, 2013 Share Posted May 8, 2013 Да, вы не правильно поняли. Выкладывайте скрипты Link to comment
dnsvlc Posted May 8, 2013 Author Share Posted May 8, 2013 Да, вы не правильно поняли.Выкладывайте скрипты Handling editor. (Там ничего не трогал). Carlock: Client: -- local player localPlayer = getLocalPlayer ( ) -- playSoundNearElement addEvent ( "onPlaySoundNearElement", true ) function playSoundNearElement ( theElement, sound ) -- local sound = 5 local maxdist = 15.0 -- valid element if ( theElement ) then local x,y,z = getElementPosition ( theElement ) local x2,y2,z2 = getElementPosition ( localPlayer ) local dist = getDistanceBetweenPoints3D ( x, y, z, x2, y2, z2 ) -- distance is less than parameter maxdist if ( dist < maxdist ) then -- play parameter sound playSoundFrontEnd ( 5 ) -- outputChatBox ( "sound should play" ) else -- outputChatBox ( "not in range" ) end else -- outputChatBox ( "invalid element" ) end end addEventHandler ( "onPlaySoundNearElement", getRootElement(), playSoundNearElement ) Server: function initCarLocks () -- Initilize Player Element Data local players = getElementsByType ( "player" ) for k,p in ipairs(players) do removeElementData ( p, "cl_ownedvehicle" ) bindKey ( p, "3", "down", doToggleLocked ) bindKey ( p, "4", "down", doToggleEngine ) bindKey ( p, "5", "down", doToggleLights ) end -- Initilize Vehicle Element Data local vehicles = getElementsByType ( "vehicle" ) for k,v in ipairs(vehicles) do removeElementData ( v, "cl_vehicleowner" ) removeElementData ( v, "cl_vehiclelocked" ) removeElementData ( v, "cl_enginestate" ) setVehicleLocked ( v, false ) setVehicleOverrideLights ( v, 0 ) end end addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource () ), initCarLocks ) addEventHandler ( "onResourceStop", getResourceRootElement ( getThisResource () ), initCarLocks ) -- player joins function cl_PlayerJoin ( ) bindKey ( source, "3", "down", doToggleLocked ) end addEventHandler ( "onPlayerJoin", getRootElement(), cl_PlayerJoin ) -- player quits function cl_PlayerQuit ( ) -- check for owned car local ownedVehicle = getElementData ( source, "cl_ownedvehicle" ) if (ownedVehicle ~= false) then cl_RemoveVehicleOwner ( ownedVehicle ) end end addEventHandler ( "onPlayerQuit", getRootElement(), cl_PlayerQuit ) -- player dies function cl_PlayerWasted ( ) -- check for owned car local ownedVehicle = getElementData ( source, "cl_ownedvehicle" ) if (ownedVehicle ~= false) then cl_RemoveVehicleOwner ( ownedVehicle ) end end addEventHandler ( "onPlayerWasted", getRootElement(), cl_PlayerWasted ) -- player tries to enter vehicle function cl_VehicleStartEnter ( enteringPlayer, seat, jacked ) local theVehicle = source local theOwner -- locked and not owner entering if ( getElementData ( theVehicle, "cl_vehiclelocked" ) == true ) then theOwner = getElementData ( theVehicle, "cl_vehicleowner" ) if theOwner ~= false and theOwner ~= enteringPlayer then -- make sure they dont enter --cancelEvent(); end end end addEventHandler ( "onVehicleStartEnter", getRootElement(), cl_VehicleStartEnter ) -- player enters a vehicle function cl_PlayerDriveVehicle ( player, seat, jacked ) -- Driver Enter if ( seat == 0 ) then oldVehicle = getElementData ( player, "cl_ownedvehicle" ) -- not entering player's own owned vehicle if ( (cl_VehicleLocked(source) == true) and (cl_VehicleOwner(source) ~= player) ) then removePedFromVehicle(player) Err_Msg("Этот транспорт закрыт.", player) return false end -- set element data for vehicle and owner cl_SetVehicleOwner ( source, player ) end return true end addEventHandler ( "onVehicleEnter", getRootElement(), cl_PlayerDriveVehicle ) -- vehicle respawns function cl_VehicleRespawn ( exploded ) cl_RemoveVehicleOwner ( source ) end addEventHandler ( "OnVehicleRespawn", getRootElement(), cl_VehicleRespawn ) -- vehicle explosion function cl_VehicleExplode ( ) local theOwner = getElementData ( source, "cl_vehicleowner" ) if ( theOwner ~= false ) then cl_RemoveVehicleOwner ( source ) end end addEventHandler ( "onVehicleExplode", getRootElement(), cl_VehicleExplode ) -- set vehicle owner function cl_SetVehicleOwner ( theVehicle, thePlayer ) local oldVehicle = getElementData ( thePlayer, "cl_ownedvehicle" ) if ( oldVehicle ~= false ) then -- unlock old car removeElementData ( oldVehicle, "cl_vehicleowner" ) removeElementData ( oldVehicle, "cl_vehiclelocked" ) removeElementData ( oldVehicle, "cl_enginestate" ) setVehicleLocked ( oldVehicle, false ) -- set vars for new car end setElementData ( theVehicle, "cl_vehicleowner", thePlayer ) setElementData ( theVehicle, "cl_vehiclelocked", false ) setElementData ( thePlayer, "cl_ownedvehicle", theVehicle ) setElementData( theVehicle, "cl_enginestate", true ) end function cl_RemoveVehicleOwner ( theVehicle ) local theOwner = getElementData ( theVehicle, "cl_vehicleowner" ) if ( theOwner ~= false ) then removeElementData ( theOwner, "cl_ownedvehicle" ) removeElementData ( theVehicle, "cl_vehicleowner" ) removeElementData ( theVehicle, "cl_vehiclelocked" ) removeElementData ( owned, "cl_enginestate" ) end setVehicleLocked ( theVehicle, false ) end -- flash the lights twice function cl_FlashLights ( thePlayer ) setTimer ( doToggleLights, 300, 4, thePlayer, true ) end -- flash once function cl_FlashOnce ( thePlayer ) setTimer ( doToggleLights, 300, 2, thePlayer, true ) end -- get vehicle owner ( according to vehicle's element data ) function cl_VehicleOwner ( theVehicle ) return getElementData( theVehicle, "cl_vehicleowner" ) end -- is vehicle locked ( according to vehicle's element data ) function cl_VehicleLocked ( theVehicle ) return getElementData( theVehicle, "cl_vehiclelocked" ) end -- messaging functions -- send red error message function Err_Msg ( strout, thePlayer ) outputChatBox ( strout, thePlayer, 200, 0, 10 ) end -- send message to all occupants of vehicle function Car_Msg ( strout, theVehicle ) numseats = getVehicleMaxPassengers ( theVehicle ) for s = 0, numseats do local targetPlayer = getVehicleOccupant ( theVehicle, s ) if targetPlayer ~= false then outputChatBox ( strout, targetPlayer, 30, 144, 255 ) end end end -- send aquamarine message to player function Info_Msg ( strout, thePlayer ) outputChatBox ( strout, thePlayer, 102, 205, 170 ) end -- commands function doToggleLocked ( source ) local theVehicle , strout if ( getElementType(source) == "vehicle" ) then theVehicle = source end if ( getElementType(source) == "player" ) then theVehicle = getElementData ( source, "cl_ownedvehicle" ) end if ( theVehicle ) then local vehiclename = getVehicleName ( theVehicle ) -- already locked if ( getElementData ( theVehicle, "cl_vehiclelocked") == true ) then doUnlockVehicle ( source ) else doLockVehicle ( source ) end else Err_Msg("Заспавните транспорт чтобы закрывать или открывать его.", source) end end function doLockVehicle ( source ) local theVehicle , strout if ( getElementType(source) == "vehicle" ) then theVehicle = source end if ( getElementType(source) == "player" ) then theVehicle = getElementData ( source, "cl_ownedvehicle" ) end if ( theVehicle ) then local vehiclename = getVehicleName ( theVehicle ) -- already locked if ( getElementData ( theVehicle, "cl_vehiclelocked") == true ) then strout = "Транспорт " .. vehiclename .. " уже закрыт." Err_Msg(strout, source) else setElementData ( theVehicle, "cl_vehiclelocked", true) setVehicleLocked ( theVehicle, true ) Car_Msg( "Траснпорт " .. vehiclename .. " закрыт.", theVehicle) if ( getVehicleController ( theVehicle ) == false ) then cl_FlashLights ( source ) end end else Err_Msg("Заспавните транспорт что бы закрыть его.", source) end end function doUnlockVehicle ( source ) local theVehicle, strout if ( getElementType(source) == "vehicle" ) then theVehicle = source end if ( getElementType(source) == "player" ) then theVehicle = getElementData ( source, "cl_ownedvehicle" ) end if ( theVehicle ) then local vehiclename = getVehicleName ( theVehicle ) if ( getElementData ( theVehicle, "cl_vehiclelocked") == false ) then strout = "Транспорт " .. vehiclename .. " уже открыт." Err_Msg(strout, source) else setElementData ( theVehicle, "cl_vehiclelocked", false) setVehicleLocked ( theVehicle, false ) Car_Msg( "Транспорт " .. vehiclename .. " открыт.", theVehicle ) if ( getVehicleController ( theVehicle ) == false ) then cl_FlashOnce ( source ) end end else Err_Msg("Заспавните транспорт чтобы открыть его.", source) end end function doToggleLights ( source, beep ) local theVehicle if ( Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now