Timiimit Posted December 30, 2011 Share Posted December 30, 2011 Hi! I would like to make script that noone would be able to warp to you if they would type '/lockwarp'. Right now i have nothing: Link to comment
TAPL Posted December 30, 2011 Share Posted December 30, 2011 what gamemode are you using? anyway you can use something like this addCommandHandler("lockwarp", function(playe) setElementData(player,"IsWarpLocked",true) end) addCommandHandler("unlockwarp", function(playe) setElementData(player,"IsWarpLocked",false) end) if getElementData(player,"IsWarpLocked") then outputChatBox("Not allowed Warp to this player, he is locked warp.") return end Link to comment
Timiimit Posted December 30, 2011 Author Share Posted December 30, 2011 i tried: addCommandHandler("lockwarp", function(player) setElementData(player,"IsWarpLocked",true) end) addCommandHandler("unlockwarp", function(player) setElementData(player,"IsWarpLocked",false) end) doesn't work!? + why do you need my gamemode? Link to comment
TAPL Posted December 30, 2011 Share Posted December 30, 2011 how would you think we can help you if we don't know what the gamemode you are using? also i don't want your gamemod, just the name of the gamemod. Link to comment
Timiimit Posted December 30, 2011 Author Share Posted December 30, 2011 i know what gamemode is just dont know why you need its name?? anyway my gamemod name is 'Awsome Freeroam' Link to comment
TAPL Posted December 30, 2011 Share Posted December 30, 2011 I'M Not IN YOUR HEAD put this if getElementData(targetPlayer,"IsWarpLocked") then outputChatBox("Not allowed Warp to this player, he is locked warp.") return end in file 'fr_server' line '250' it will be function warpMe(targetPlayer) if getElementData(targetPlayer,"IsWarpLocked") then outputChatBox("Not allowed Warp to this player, he is locked warp.",source) return end if isPedDead(source) then spawnMe() end local vehicle = getPedOccupiedVehicle(targetPlayer) if not vehicle then -- target player is not in a vehicle - just warp next to him local x, y, z = getElementPosition(targetPlayer) clientCall(source, 'setPlayerPosition', x + 2, y, z) else -- target player is in a vehicle - warp into it if there's space left if getPedOccupiedVehicle(source) then --removePlayerFromVehicle(source) outputChatBox('Get out of your vehicle first.', source) return end local numseats = getVehicleMaxPassengers(vehicle) for i=0,numseats do if not getVehicleOccupant(vehicle, i) then if isPedDead(source) then local x, y, z = getElementPosition(vehicle) spawnMe(x + 4, y, z + 1) end warpPedIntoVehicle(source, vehicle, i) return end end outputChatBox('No free seats left in ' .. getPlayerName(targetPlayer) .. '\'s vehicle.', source, 255, 0, 0) end local interior = getElementInterior(targetPlayer) setElementInterior(source, interior) setCameraInterior(source, interior) end Link to comment
Timiimit Posted December 30, 2011 Author Share Posted December 30, 2011 it says: [2011-12-30 10:59:08] SCRIPT ERROR: freeroam\fr_server.lua:280: ')' expected near 's' [2011-12-30 10:59:08] WARNING: Loading script failed: freeroam\fr_server.lua:280: ')' expected near 's' [2011-12-30 10:59:09] WARNING: myscripts\lockwarp.lua:11: Bad argument @ 'getElementData' [Expected element at argument 1, got nil] script file: addCommandHandler("lockwarp", function(player) setElementData(player,"IsWarpLocked",true) end) addCommandHandler("unlockwarp", function(player) setElementData(player,"IsWarpLocked",false) end) if getElementData(targetPlayer,"IsWarpLocked") then outputChatBox("Not allowed Warp to this player, he is locked warp.") return end Link to comment
TAPL Posted December 30, 2011 Share Posted December 30, 2011 show the function warpMe and this is Server-Side addCommandHandler("lockwarp", function(player) setElementData(player,"IsWarpLocked",true) end) addCommandHandler("unlockwarp", function(player) setElementData(player,"IsWarpLocked",false) end) if you want it client side addCommandHandler("lockwarp", function() setElementData(localPlayer,"IsWarpLocked",true) end) addCommandHandler("unlockwarp", function() setElementData(localPlayer,"IsWarpLocked",false) end) and don't put this code in any other resources, only in file 'fr_server' and line '250' if getElementData(targetPlayer,"IsWarpLocked") then outputChatBox("Not allowed Warp to this player, he is locked warp.") return end Link to comment
Timiimit Posted December 30, 2011 Author Share Posted December 30, 2011 fr_server: function warpMe(targetPlayer) if getElementData(targetPlayer,"IsWarpLocked") then outputChatBox("Not allowed Warp to this player, he is locked warp.",source) return end if isPedDead(source) then spawnMe() end local vehicle = getPedOccupiedVehicle(targetPlayer) if not vehicle then -- target player is not in a vehicle - just warp next to him local x, y, z = getElementPosition(targetPlayer) clientCall(source, 'setPlayerPosition', x + 2, y, z) else -- target player is in a vehicle - warp into it if there's space left if getPedOccupiedVehicle(source) then --removePlayerFromVehicle(source) outputChatBox('Get out of your vehicle first.', source) return end local numseats = getVehicleMaxPassengers(vehicle) for i=0,numseats do if not getVehicleOccupant(vehicle, i) then if isPedDead(source) then local x, y, z = getElementPosition(vehicle) spawnMe(x + 4, y, z + 1) end warpPedIntoVehicle(source, vehicle, i) return end end outputChatBox('No free seats left in ' .. getPlayerName(targetPlayer) .. ''s vehicle.', source, 255, 0, 0) end local interior = getElementInterior(targetPlayer) setElementInterior(source, interior) setCameraInterior(source, interior) end whole 'fr_server': g_Root = getRootElement() g_ResRoot = getResourceRootElement(getThisResource()) g_PlayerData = {} g_VehicleData = {} g_ArmedVehicles = { [425] = true, [447] = true, [520] = true, [430] = true, [464] = true, [432] = true } g_Trailers = { [606] = true, [607] = true, [610] = true, [590] = true, [569] = true, [611] = true, [584] = true, [608] = true, [435] = true, [450] = true, [591] = true } g_RPCFunctions = { addPedClothes = { option = 'clothes', descr = 'Modifying clothes' }, addVehicleUpgrade = { option = 'upgrades', descr = 'Adding/removing upgrades' }, fadeVehiclePassengersCamera = true, fixVehicle = { option = 'repair', descr = 'Repairing vehicles' }, giveMeVehicles = { option = 'createvehicle', descr = 'Creating vehicles' }, giveMeWeapon = { option = 'weapons.enabled', descr = 'Getting weapons' }, givePedJetPack = { option = 'jetpack', descr = 'Getting a jetpack' }, killPed = { option = 'kill', descr = 'Killing yourself' }, removePedClothes = { option = 'clothes', descr = 'Modifying clothes' }, removePedFromVehicle = true, removePedJetPack = { option = 'jetpack', descr = 'Removing a jetpack' }, removeVehicleUpgrade = { option = 'upgrades', descr = 'Adding/removing upgrades' }, setElementAlpha = { option = 'alpha', descr = 'Changing your alpha' }, setElementPosition = true, setElementInterior = true, setMyGameSpeed = { option = 'gamespeed.enabled', descr = 'Setting game speed' }, setMySkin = { option = 'setskin', descr = 'Setting skin' }, setPedAnimation = { option = 'anim', descr = 'Setting an animation' }, setPedFightingStyle = { option = 'setstyle', descr = 'Setting fighting style' }, setPedGravity = { option = 'gravity.enabled', descr = 'Setting gravity' }, setPedStat = { option = 'stats', descr = 'Changing stats' }, setTime = { option = 'time.set', descr = 'Changing time' }, setTimeFrozen = { option = 'time.freeze', descr = 'Freezing time' }, setVehicleColor = true, setVehicleHeadLightColor = true, setVehicleOverrideLights = { option = 'lights', descr = 'Forcing lights' }, setVehiclePaintjob = { option = 'paintjob', descr = 'Applying paintjobs' }, setVehicleRotation = true, setWeather = { option = 'weather', descr = 'Setting weather' }, spawnMe = false, warpMe = { option = 'warp', descr = 'Warping' } } g_OptionDefaults = { alpha = true, anim = true, clothes = true, createvehicle = true, gamespeed = { enabled = false, min = 0.0, max = 3 }, gravity = { enabled = false, min = 0, max = 0.1 }, jetpack = true, kill = true, lights = true, paintjob = true, repair = true, setskin = true, setstyle = true, spawnmaponstart = true, spawnmapondeath = true, stats = true, time = { set = false, freeze = true }, upgrades = true, warp = true, weapons = { enabled = false, vehiclesenabled = true, disallowed = {} }, weather = false, welcometextonstart = true, vehicles = { maxidletime = 60000, idleexplode = true, maxperplayer = 1, disallowed = {dumper} } } function getOption(optionName) local option = get(optionName:gsub('%.', '/')) if option then if option == 'true' then option = true elseif option == 'false' then option = false end return option end option = g_OptionDefaults for i,part in ipairs(optionName:split('.')) do option = option[part] end return option end addEventHandler('onResourceStart', g_ResRoot, function() table.each(getElementsByType('player'), joinHandler) end ) function joinHandler(player) if not player then player = source end local r, g, b = math.random(50, 255), math.random(50, 255), math.random(50, 255) setPlayerNametagColor(player, r, g, b) g_PlayerData[player] = { vehicles = {} } g_PlayerData[player].blip = createBlipAttachedTo(player, 0, 2, r, g, b) if g_FrozenTime then clientCall(player, 'setTimeFrozen', true, g_FrozenTime[1], g_FrozenTime[2], g_FrozenWeather) end if getOption('welcometextonstart') then outputChatBox('Welcome to Freeroam', player, 0, 255, 0) outputChatBox('Press F1 to show/hide controls', player, 0, 255, 0) end end addEventHandler('onPlayerJoin', g_Root, joinHandler) addEvent('onLoadedAtClient', true) addEventHandler('onLoadedAtClient', g_ResRoot, function(player) if getOption('spawnmaponstart') and isPedDead(player) then clientCall(player, 'showWelcomeMap') end end, false ) addEventHandler('onPlayerWasted', g_Root, function() if not getOption('spawnmapondeath') then return end local player = source setTimer( function() if isPedDead(player) then clientCall(player, 'showMap') end end, 2000, 1 ) end ) addEvent('onClothesInit', true) addEventHandler('onClothesInit', g_Root, function() local result = {} local texture, model -- get all clothes result.allClothes = {} local typeGroup, index for type=0,17 do typeGroup = {'group', type = type, name = getClothesTypeName(type), children = {}} table.insert(result.allClothes, typeGroup) index = 0 texture, model = getClothesByTypeIndex(type, index) while texture do table.insert(typeGroup.children, {id = index, texture = texture, model = model}) index = index + 1 texture, model = getClothesByTypeIndex(type, index) end end -- get current player clothes { type = {texture=texture, model=model} } result.playerClothes = {} for type=0,17 do texture, model = getPedClothes(source, type) if texture then result.playerClothes[type] = {texture = texture, model = model} end end triggerClientEvent(source, 'onClientClothesInit', source, result) end ) addEvent('onPlayerGravInit', true) addEventHandler('onPlayerGravInit', g_Root, function() triggerClientEvent('onClientPlayerGravInit', source, getPedGravity(source)) end ) function setMySkin(skinid) if isPedDead(source) then local x, y, z = getElementPosition(source) if isPedTerminated(source) then x = 0 y = 0 z = 3 end local r = getPedRotation(source) local interior = getElementInterior(source) spawnPlayer(source, x, y, z, r, skinid) setElementInterior(source, interior) setCameraInterior(source, interior) else setElementModel(source, skinid) setElementHealth(source, 100) end setCameraTarget(source, source) setCameraInterior(source, getElementInterior(source)) end function spawnMe(x, y, z) if not x then x, y, z = getElementPosition(source) end if isPedTerminated(source) then repeat until spawnPlayer(source, x, y, z, 0, math.random(9, 288)) else spawnPlayer(source, x, y, z, 0, getPedSkin(source)) end setCameraTarget(source, source) setCameraInterior(source, getElementInterior(source)) end function warpMe(targetPlayer) if Link to comment
myonlake Posted December 30, 2011 Share Posted December 30, 2011 function warpMe(targetPlayer) local interior = getElementInterior(targetPlayer) setElementInterior(source, interior) setCameraInterior(source, interior) if getElementData(targetPlayer, "IsWarpLocked") then outputChatBox("The player you want to warp to has locked warping.", source, 255, 0, 0, false) return end if isPedDead(source) then spawnMe() end local vehicle = getPedOccupiedVehicle(targetPlayer) if not vehicle then -- target player is not in a vehicle - just warp next to him local x, y, z = getElementPosition(targetPlayer) clientCall(source, 'setPlayerPosition', x + 2, y, z) else -- target player is in a vehicle - warp into it if there's space left if getPedOccupiedVehicle(source) then --removePlayerFromVehicle(source) outputChatBox('Get out of your vehicle first.', source) return end local numseats = getVehicleMaxPassengers(vehicle) for i=0,numseats do if not getVehicleOccupant(vehicle, i) then if isPedDead(source) then local x, y, z = getElementPosition(vehicle) spawnMe(x + 4, y, z + 1) end warpPedIntoVehicle(source, vehicle, i) return end end outputChatBox("No free seats left in " .. getPlayerName(targetPlayer) .. "'s vehicle.", source, 255, 0, 0) end end addCommandHandler("lockwarp", function(player) setElementData(player, "IsWarpLocked", true) end) addCommandHandler("unlockwarp", function(player) removeElementData(player, "IsWarpLocked") end) Link to comment
tuaos Posted April 21, 2015 Share Posted April 21, 2015 Sorry, how to make this option available in Freeroam-GUI, by checking the check-box disables warp and when unchecked enables. I have tried a lot but couldn't get it working. Link to comment
TAPL Posted April 21, 2015 Share Posted April 21, 2015 There's two check boxs in freeroam window, one for the "jetpack" and the other for "fall off", you can see how they work and apply the same code in the topic without using the commands. Link to comment
tuaos Posted April 21, 2015 Share Posted April 21, 2015 There's two check boxs in freeroam window, one for the "jetpack" and the other for "fall off", you can see how they work and apply the same code in the topic without using the commands. Yes bro! I was working on that for long and even referred Scripting tutorials. Still it didn't help me. Link to comment
tuaos Posted April 22, 2015 Share Posted April 22, 2015 (edited) Post the code you tried. Edited April 22, 2015 by Guest Link to comment
TAPL Posted April 22, 2015 Share Posted April 22, 2015 fr_client Delete line 588 and 591. server.warpMe(player) Link to comment
tuaos Posted April 22, 2015 Share Posted April 22, 2015 fr_clientDelete line 588 and 591. server.warpMe(player) Now I cant open Freeroam-Gui after doing it. Link to comment
TAPL Posted April 22, 2015 Share Posted April 22, 2015 Actually removeElementData is server side only, you should use setElementData to remove the data client side. Also player not defined you should use g_Me or localPlayer. function disableWarp() if guiCheckBoxGetSelected(getControl(wndMain, 'disablewarp')) then setElementData(g_Me, "IsWarpLocked", true) else setElementData(g_Me, "IsWarpLocked", false) end end Link to comment
tuaos Posted April 22, 2015 Share Posted April 22, 2015 Actually removeElementData is server side only, you should use setElementData to remove the data client side. Also player not defined you should use g_Me or localPlayer. function disableWarp() if guiCheckBoxGetSelected(getControl(wndMain, 'disablewarp')) then setElementData(g_Me, "IsWarpLocked", true) else setElementData(g_Me, "IsWarpLocked", false) end end Works like a charm! .... thank you so much bro... Link to comment
tuaos Posted April 22, 2015 Share Posted April 22, 2015 (edited) You're welcome. I am very sorry bro. But later came to know I get errors and it is not working properly. Tested with 2 players. Here is the list of errors. [2015-04-22 22:24:28] ERROR: Client (tuaos_2) triggered serverside event onPlayerCheckForHexCodes, but event is not added serverside[2015-04-22 22:24:28] ERROR: Client (tuaos_2) triggered serverside event onLoadedAtClient, but event is not added serverside[2015-04-22 22:24:41] ERROR: Client (tuaos_2) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:24:44] ERROR: Client (tuaos_2) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:24:52] ERROR: Client (tuaos_2) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:01] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:07] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:14] ERROR: Client (tuaos_2) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:19] ERROR: Client (tuaos_2) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:33] ERROR: Client (tuaos_2) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:36] ERROR: Client (tuaos_2) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:38] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:40] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:40] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:42] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:47] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:50] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:51] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:51] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:51] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:53] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:53] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:53] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:54] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:25:57] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:26:01] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:26:10] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside[2015-04-22 22:29:18] ERROR: Client (tuaos_1) triggered serverside event onServerCall, but event is not added serverside fr_client fr_server Edited April 23, 2015 by Guest Link to comment
TAPL Posted April 22, 2015 Share Posted April 22, 2015 I guess it because you're using old file util.lua and util_server.lua Try those: https://github.com/multitheftauto/mtasa ... m/util.lua https://github.com/multitheftauto/mtasa ... server.lua Link to comment
tuaos Posted April 23, 2015 Share Posted April 23, 2015 I guess it because you're using old file util.lua and util_server.luaTry those: https://github.com/multitheftauto/mtasa ... m/util.lua https://github.com/multitheftauto/mtasa ... server.lua I did it and now it doesn't give any me errors. But there is a problem,I can only warp to players with no hexadecimal color code tags on (Warp to player) GUI (only /wt /warpto function works perfectly with all). I think there should be a fix for Freeroam-GUI regarding playernametag. 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