Kira_Getto
Members-
Posts
12 -
Joined
-
Last visited
Kira_Getto's Achievements
Square (6/54)
0
Reputation
-
Спасибо. И ещё очень интересует, как сделать так, чтобы за окном было видно окружение? Я много раз такое видел. В самом здании не делают интерьер, но когда попадаешь внутрь, то видишь через окно всё, что снаружи.
-
А можно же будет задать область? Типо если в этой области игрок припарковал свой автомобиль, то автомобиль не исчезнет. И как задать эту область?
-
Хотел спросить, а с помощью чего можно сделать так: Когда игрок онлайн, то его транспорт может быть где угодно (Это и так есть), но когда он оффнется, то если его транспорт был у его дома или на парковке, то он не пропадает, а когда где-то в другом месте, то перемещается в нужное место. Какие функции при этом нужны?
-
^Спасибо большое! Помогло) И у меня очередная проблема. Я скачал ресурс slothbot и куда бы этот архив не пихал, при нажатии "start slothbot" мне выдаёт, что не видит этот ресурс. Куда его нужно кидать? Если что, то путь к ресурсам у меня deathmatch > resources > myserver.
-
Cпасибо большое за помощь, но сейчас выдаёт ошибку и я немного не понимаю что нужно исправить. SCRIPT ERROR: myserver\car\car_locks_server.lua:224: 'end' expected (to close 'function' at line 200) near 'else' ERROR: Loading script failed: myserver\car\car_locks_server.lua:224: 'end' expected (to close 'function' at line 200) near 'else'
-
Помогите пожалуйста. Выдаёт такую ошибку: "attempt to perform arithmetic on local 'lvls' (a nil value)" И кто больше разбирается, то проверьте функцию на правильность. Изначально я хотел, чтобы каждый промежуток времени начислялись exp каждому игроку. И потом повышался его лвл. При вводе команды /mylevel чтобы в чат показывало уровень игрока. В чём моя ошибка? addCommandHandler ( "mylevel", function ( thePlayer ) local myLevel = exports.exp_system:getPlayerLevel ( thePlayer ) outputChatBox ( "Ваш уровень: ".. myLevel, thePlayer ) end ) function experience () for i, pPlayer in ipairs( getElementsByType( "player" ) ) do local pAccount = getPlayerAccount( pPlayer ) local exp = getAccountData(pAccount, "exp") local exps = tonumber(getAccountData(pAccount, "exp")) local lvls = tonumber(getAccountData(pAccount, "lvl")) local needexp = lvls * 4 if not exp then setAccountData(pAccount, "exp", 1) setAccountData(pAccount, "allexp", 1) setAccountData(pAccount, "lvl", 1) outputChatBox("Ваш опыт: " .. exps .. "/" .. needexp, getRootElement(), 0, 255, 0) else setAccountData(pAccount, "exp", exps + 1) if exps == needexp then setAccountData(pAccount, "lvl", lvls + 1) setAccountData(pAccount, "exp", 1) outputChatBox("Ваш уровень повышен до " .. lvls + 1 .. "!", getRootElement(), 0, 255, 0) else outputChatBox("Ваш опыт: " .. exps .. "/" .. needexp, getRootElement(), 0, 255, 0) end end end end setTimer(experience, 3000, 0)
-
Скинь функцию -- player element data -- -- cl_ownedvehicle -- vehicle element data -- -- cl_vehicleowner -- cl_vehiclelocked -- cl_enginestate -- resource starts - ends function initCarLocks () -- Initilize Player Element Data local players = getElementsByType ( "player" ) for k,p in ipairs(players) do removeElementData ( p, "cl_ownedvehicle" ) bindKey ( p, "l", "down", doToggleLocked ) bindKey ( p, "2", "down", doToggleEngine ) 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, "2", "down", doToggleEngine ) 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("this vehicle is locked.", 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) Info_Msg ( "locked vehicle " .. vehiclename .. ".", source ) 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 ) Info_Msg ( "unlocked vehicle " .. vehiclename .. ".", source ) if ( getVehicleController ( theVehicle ) == false ) then cl_FlashOnce ( source ) end end else Err_Msg
-
Возможно, неправильно тебя понял, но: -- Server Code -- Type 'lock' to lock/unlock current vehicle function doChangeLockState(player) local veh = getPedOccupiedVehicle(player) if veh then local lock = true local op = 'закрыто' if isVehicleLocked(veh) then lock = false op = 'открыто' end if setVehicleLocked(veh, lock) then return outputConsole("Ваше транспортное средство было "..op..".", player) end end end addCommandHandler("lock", doChangeLockState) Оно работает, но теперь эта команда работает только в самом автомобиле. То есть, если вышел из автомобиля, то его больше не открыть.
-
^ Спасибо большое. То, что нужно. У меня вот есть две команды для того, чтобы открыть и закрыть автомобиль. А как сделать так, чтобы введя /lock один раз - автомобиль закрывался, а на второй раз открывался? addCommandHandler ( "lock", doLockVehicle ) addCommandHandler ( "unlock", doUnlockVehicle )
-
И хотелось узнать, как сделать так, чтобы hp игроков каждые 15 секунд повышалось на 1hp и так до 100? Я вот набросал что-то, но не работает. setTimer( function() for k,v in ipairs(getElementsByType("player")) do if getTeamName(getPlayerTeam(v)) == "Staff" then setElementHealth(v, getElementHealth(v)+100) end end end, 100, 0)
-
function consoleGiveCash ( thePlayer, command, amount, sum ) -- amount - первый аргумент (ник игрока), sum - второй (сумма) givePlayerMoney ( getPlayerFromName(amount), sum ) takePlayerMoney ( thePlayer, sum ) end addCommandHandler ( "pay", consoleGiveCash ) Всё. Собрал то что нужно. Спасибо за помощь)
-
Подскажите, как создать команду для передачи денег. При нажатии команды /pay [ник] [сумма] деньги от одного игрока будут переходить к другому. Я смог найти функции, но не понимаю как их соединить и доработать. function consoleGiveCash ( thePlayer, command, amount ) givePlayerMoney ( thePlayer, amount ) end addCommandHandler ( "pay", consoleGiveCash ) function takeCash ( thePlayer, command, amount ) takePlayerMoney ( thePlayer, tonumber(amount) ) end
