eldelahoz Posted September 28, 2013 Share Posted September 28, 2013 Hola es lo siguiente es que tengo un gui sacado de la comunidad es un panel pero quiero que lo use solamente los admins por asi decirlo tengo que poner function startTeleportWindow() local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then createTeleportWindow() guiSetVisible(window, true) showCursor(true) guiSetInputEnabled(true) end end addCommandHandler("teleport", startTeleportWindow) pero no meda no me ejecuta que tengo mal? Link to comment
FraN-724 Posted September 28, 2013 Share Posted September 28, 2013 Estas juntando Client side con Server side, usa mejor triggerServerEvent Link to comment
eldelahoz Posted September 28, 2013 Author Share Posted September 28, 2013 Algo asi? function startTeleportWindow() triggerServerEvent ( "submitTeleport", thePlayer ) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then createTeleportWindow() guiSetVisible(window, true) showCursor(true) guiSetInputEnabled(true) end end Link to comment
FraN-724 Posted September 28, 2013 Share Posted September 28, 2013 No, intenta esto Client function startTeleportWindow() triggerServerEvent ( "submitTeleport", getRootElement(), getLocalPlayer() ) createTeleportWindow() guiSetVisible(window, true) showCursor(true) guiSetInputEnabled(true) end Server addEvent("submitTeleport", true) function private(thePlayer) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then end end addEventHandler("submitTeleport", root, private) Link to comment
eldelahoz Posted September 28, 2013 Author Share Posted September 28, 2013 no meda y este es el script https://community.multitheftauto.com/index.php?p= ... ils&id=736 Link to comment
AlvareZ_ Posted September 28, 2013 Share Posted September 28, 2013 Server: function showGui() local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then triggerClientEvent("startTeleportWindow", thePlayer) end end addCommandHandler("teleport", showGui) Client: function startTele() createTeleportWindow() guiSetVisible(window, true) showCursor(true) guiSetInputEnabled(true) addEvent("startTeleportWindow", true) addEventHandler("startTeleportWindow", root, startTele) Link to comment
Alexs Posted September 28, 2013 Share Posted September 28, 2013 Server: function showGui() local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then triggerClientEvent("startTeleportWindow", thePlayer) end end addCommandHandler("teleport", showGui) Client: function startTele() createTeleportWindow() guiSetVisible(window, true) showCursor(true) guiSetInputEnabled(true) addEvent("startTeleportWindow", true) addEventHandler("startTeleportWindow", root, startTele) Olvidaste definir 'thePlayer'. Link to comment
eldelahoz Posted September 28, 2013 Author Share Posted September 28, 2013 Este es el script completo no ce por que algunas cosas no van en el server y en el client Client function createTeleportWindow() window = guiCreateWindow(0.3852,0.2075,0.2344,0.2688,"P-Teleport",true) guiSetAlpha(window,0.80000001192093) editX = guiCreateEdit(128,31,161,27,"",false,window) guiSetAlpha(editX,1) editY = guiCreateEdit(128,68,161,27,"",false,window) guiSetAlpha(editY,1) editZ = guiCreateEdit(128,105,161,27,"",false,window) guiSetAlpha(editZ,1) editInterior = guiCreateEdit(128,142,161,27,"",false,window) guiSetAlpha(editInterior,1) buttonTeleport = guiCreateButton(12,179,277,24,"Teleport me!",false,window) guiSetAlpha(buttonTeleport,1) labelX = guiCreateLabel(12,37,106,15,"Insert X",false,window) guiSetAlpha(labelX,1) guiLabelSetColor(labelX,255,255,255) guiLabelSetVerticalAlign(labelX,"top") guiLabelSetHorizontalAlign(labelX,"right",false) labelY = guiCreateLabel(12,75,106,15,"Insert Y",false,window) guiSetAlpha(labelY,1) guiLabelSetColor(labelY,255,255,255) guiLabelSetVerticalAlign(labelY,"top") guiLabelSetHorizontalAlign(labelY,"right",false) labelZ = guiCreateLabel(12,112,106,15,"Insert Z",false,window) guiSetAlpha(labelZ,1) guiLabelSetColor(labelZ,255,255,255) guiLabelSetVerticalAlign(labelZ,"top") guiLabelSetHorizontalAlign(labelZ,"right",false) labelInterior = guiCreateLabel(12,148,106,15,"Insert Interior ID",false,window) guiSetAlpha(labelInterior,1) guiLabelSetColor(labelInterior,255,255,255) guiLabelSetVerticalAlign(labelInterior,"top") guiLabelSetHorizontalAlign(labelInterior,"right",false) guiSetVisible(window, false) addEventHandler("onClientGUIClick", buttonTeleport, clientSubmitTeleport, false) end function startTeleportWindow() createTeleportWindow() guiSetVisible(window, true) showCursor(true) guiSetInputEnabled(true) end function clientSubmitTeleport(button,state) if button == "left" and state == "up" then local teleX = guiGetText(editX) local teleY = guiGetText(editY) local teleZ = guiGetText(editZ) local teleI = guiGetText(editInterior) localPlayer = getLocalPlayer() setElementInterior(localPlayer, teleI, teleX, teleY, teleZ) guiSetInputEnabled(false) guiSetVisible(window, false) showCursor(false) end end addCommandHandler("teleport", startTeleportWindow) Server function teleportHandler(teleX, teleY, teleZ, teleI) localPlayer = getLocalPlayer() setElementInterior(localPlayer, teleI, teleX, teleY, teleZ) end addEvent("submitTeleport", true) addEventHandler("submitTeleport", root, teleportHandler) Link to comment
Alexs Posted September 28, 2013 Share Posted September 28, 2013 Tienes varios errores y cosas incompletas, para empezar utilizas 'getLocalPlayer' en server-side. Link to comment
eldelahoz Posted September 28, 2013 Author Share Posted September 28, 2013 Es que el script no es mio es sacado de la comunidad Link to comment
_SAXI_ Posted September 28, 2013 Share Posted September 28, 2013 Client: function startTeleportWindow() createTeleportWindow() guiSetVisible(window, true) showCursor(true) guiSetInputEnabled(true) end addEvent("mostrarVentana",true) addEventHandler("mostrarVentana",root,startTeleportWindow) Server: addCommandHandler("teleport",function() local cuenta = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..cuenta, aclGetGroup ( "Admin" ) ) then triggerClientEvent(thePlayer,"mostrarVentana",thePlayer) else outputChatBox("No tienes permiso para usar este comando",thePlayer,255,0,0,false) end end) Link to comment
Alexs Posted September 28, 2013 Share Posted September 28, 2013 Recuerda definir 'thePlayer'. Link to comment
eldelahoz Posted September 28, 2013 Author Share Posted September 28, 2013 Eso me sigue funcionado para todos Link to comment
Cuervo_fi Posted September 29, 2013 Share Posted September 29, 2013 Este es el resource original, editalo a tu gusto. CLIENT: function createTeleportWindow() window = guiCreateWindow(0.3852,0.2075,0.2344,0.2688,"P-Teleport",true) guiSetAlpha(window,0.80000001192093) editX = guiCreateEdit(128,31,161,27,"",false,window) guiSetAlpha(editX,1) editY = guiCreateEdit(128,68,161,27,"",false,window) guiSetAlpha(editY,1) editZ = guiCreateEdit(128,105,161,27,"",false,window) guiSetAlpha(editZ,1) editInterior = guiCreateEdit(128,142,161,27,"",false,window) guiSetAlpha(editInterior,1) buttonTeleport = guiCreateButton(12,179,277,24,"Teleport me!",false,window) guiSetAlpha(buttonTeleport,1) labelX = guiCreateLabel(12,37,106,15,"Insert X",false,window) guiSetAlpha(labelX,1) guiLabelSetColor(labelX,255,255,255) guiLabelSetVerticalAlign(labelX,"top") guiLabelSetHorizontalAlign(labelX,"right",false) labelY = guiCreateLabel(12,75,106,15,"Insert Y",false,window) guiSetAlpha(labelY,1) guiLabelSetColor(labelY,255,255,255) guiLabelSetVerticalAlign(labelY,"top") guiLabelSetHorizontalAlign(labelY,"right",false) labelZ = guiCreateLabel(12,112,106,15,"Insert Z",false,window) guiSetAlpha(labelZ,1) guiLabelSetColor(labelZ,255,255,255) guiLabelSetVerticalAlign(labelZ,"top") guiLabelSetHorizontalAlign(labelZ,"right",false) labelInterior = guiCreateLabel(12,148,106,15,"Insert Interior ID",false,window) guiSetAlpha(labelInterior,1) guiLabelSetColor(labelInterior,255,255,255) guiLabelSetVerticalAlign(labelInterior,"top") guiLabelSetHorizontalAlign(labelInterior,"right",false) guiSetVisible(window, false) addEventHandler("onClientGUIClick", buttonTeleport, clientSubmitTeleport, false) end function startTeleportWindow() createTeleportWindow() guiSetVisible(window, true) showCursor(true) guiSetInputEnabled(true) end addEvent("onAdminTeleport", true) addEventHandler("onAdminTeleport", getRootElement(), startTeleportWindow) function clientSubmitTeleport(button,state) if button == "left" and state == "up" then local teleX = guiGetText(editX) local teleY = guiGetText(editY) local teleZ = guiGetText(editZ) local teleI = guiGetText(editInterior) localPlayer = getLocalPlayer() setElementInterior(localPlayer, teleI, teleX, teleY, teleZ) guiSetInputEnabled(false) guiSetVisible(window, false) showCursor(false) end end SERVER: function checkAdminTeleport (thePlayer) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then triggerClientEvent(thePlayer, "onAdminTeleport", getRootElement()) else outputChatBox("Este comando es solo para Administradores.",player,255,12,15) end end addCommandHandler("teleport", checkAdminTeleport ) EDIT: me confundi en el evento !. ya lo arregle. Link to comment
Recommended Posts