10-11-2015, 01:06 AM
Yeah, its pretty strange. I created a test command again called /pteleport, and it has the same values as the OnEntityChangedWorld, and it works when executing it, but not here. lol
Here is the code from the portal_main.lua (well, i only included the needed information here)
Here is the code from the portal_main.lua (well, i only included the needed information here)
function Initialize(Plugin) PLUGIN = Plugin PLUGIN:SetName("Portal") PLUGIN:SetVersion(1) PluginManager = cRoot:Get():GetPluginManager() cPluginManager:AddHook(cPluginManager.HOOK_PLAYER_MOVING, OnPlayerMoving) cPluginManager:AddHook(cPluginManager.HOOK_PLAYER_LEFT_CLICK, OnPlayerBreakingBlock) cPluginManager:AddHook(cPluginManager.HOOK_ENTITY_CHANGED_WORLD, OnEntityChangedWorld) PluginManager:BindCommand("/ptoggle", "portal.create", HandleToggleCommand, " - switches volume selection mode") PluginManager:BindCommand("/pwarp", "portal.create", HandleMakeWarpCommand, " (name) - creates warp point with given name") PluginManager:BindCommand("/penter", "portal.create", HandleMakeEnterCommand, " (name) - creates portal volume out of selection and associates it with given warp") PluginManager:BindCommand("/pteleport", "", HandlePortalCommand, "") Plugin:AddWebTab("Portals", HandleRequest_Portals) LoadPortalsData() LoadPlayersData() LOG("Initialized " .. PLUGIN:GetName() .. " v" .. PLUGIN:GetVersion()) return true end function OnEntityChangedWorld(Entity, World) if Entity:IsPlayer() then if HasTeleported then local _name = Entity:GetName() local _zone = PlayersData[_name].zones -- doesn't even teleport. -- Even if i type in 1254, 255, 31 manually for example, it refuses Entity:TeleportToCoords(PortalsData.warps["".._zone].point.x, PortalsData.warps["".._zone].point.y, PortalsData.warps["".._zone].point.z) -- Shows the correct values of the location print("x: " .. PortalsData.warps["".._zone].point.x) print("y: " .. PortalsData.warps["".._zone].point.y) print("z: " .. PortalsData.warps["".._zone].point.z) -- Gets executed Entity:SendMessage("You have been teleported!") IsWorld = false HasTeleported = false end end return false end function HandlePortalCommand(Split, Player) local _name = Player:GetName() local _zone = PlayersData[_name].zones -- Ditto, does the same thing, execpt it works Player:TeleportToCoords(PortalsData.warps["".._zone].point.x, PortalsData.warps["".._zone].point.y, PortalsData.warps["".._zone].point.z) print("x: " .. PortalsData.warps["".._zone].point.x) print("y: " .. PortalsData.warps["".._zone].point.y) print("z: " .. PortalsData.warps["".._zone].point.z) Player:SendMessage("You have been teleported!") return true end