Steven23 Posted July 29, 2013 Share Posted July 29, 2013 El problema es el siguiente, me descarge el script water func de la pagina de la comunidad , todo okay segui todos los pasos copiar cierto texto en el acl de admin y el de las funciones .... y ayer entro un user que cuando entro al server le salio el panel de waterfunc como ? como puede salir a los user normales el panel , yo segui los pasos para ponerlo a uso de los admins y sin embargo entra un user y puede utilizarlo , me malogra la hora de tsuamis , porfavor hay alguna solucion se los pido ayudenme lo malogra reiniciando todo el tsunami , manipulan los botenes , la pregunta es porque los players que no son mods y admins pueden manejarlo ? Link to comment
Steven23 Posted July 29, 2013 Author Share Posted July 29, 2013 CASTILLO AYUDAME PORFAVOR .... TU SABES MAS DE ESTOS TEMAS PLEASE Link to comment
Steven23 Posted July 30, 2013 Author Share Posted July 30, 2013 cual el del waterf func Link to comment
StanMarsh Posted July 30, 2013 Share Posted July 30, 2013 cual el del waterf func Sí. Link to comment
Steven23 Posted July 30, 2013 Author Share Posted July 30, 2013 NO TE OFENDAS ALEXMERCERED , PERO CONFIO MAS EN CASTILLO ES EL MEJO DE TODOS LOS SCRIPTERS CASTILLO QUE POSTEO ,, LOS ARCHIVOS DEL BLOC DE NOTAS DEL WATERFUNCK O LO QUE ESTA EN EL ACL ? Link to comment
Castillo Posted July 30, 2013 Share Posted July 30, 2013 El contenido de cada uno de los archivos .lua. P.D: Quita las mayusculas por favor. Link to comment
Steven23 Posted July 30, 2013 Author Share Posted July 30, 2013 Contenido 1 LUA CLIENT -------------------------- -- waterFunc Client -- Variables root = getRootElement() localPlayer = getLocalPlayer() local zx,zy = guiGetScreenSize() local zx2,zy2 = zx/2,zy/2 local leading = 25 local crow = 30 local currLevel = 0 local WguiVisible = false --local buttonState = nil --local checkBox = nil local runFlag = false local gFnt = "default-bold-small" addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),function() wdwWgui = guiCreateWindow(zx-410,zy-250,400,225,"waterFunc 1.0.1",false) guiSetFont(wdwWgui,gFnt) guiSetAlpha(wdwWgui,. wgui_flood_label = guiCreateLabel(10,crow,100,15,"Flood Level",false,wdwWgui) guiSetFont(wgui_flood_label,gFnt) guiLabelSetColor(wgui_flood_label,128,128,0) wgui_flood_edit = guiCreateEdit(95,crow-3,45,20,"10",false,wdwWgui) guiSetFont(wgui_flood_edit,gFnt) wgui_fld_set_btn = guiCreateButton(150,crow+1,35,15,"OK",false,wdwWgui) guiSetFont(wgui_fld_set_btn,gFnt) wgui_wvehgt_label = guiCreateLabel(210,crow,100,15,"Wave Height",false,wdwWgui) guiSetFont(wgui_wvehgt_label,gFnt) guiLabelSetColor(wgui_wvehgt_label,128,128,0) wgui_wvehgt_edit = guiCreateEdit(300,crow-3,45,20,"2",false,wdwWgui) guiSetFont(wgui_wvehgt_edit,gFnt) wgui_wvehgt_set_btn = guiCreateButton(355,crow+1,35,15,"OK",false,wdwWgui) guiSetFont(wgui_wvehgt_set_btn,gFnt) crow = crow+leading wgui_srge_label = guiCreateLabel(10,crow,100,15,"Surge Level",false,wdwWgui) guiSetFont(wgui_srge_label,gFnt) guiLabelSetColor(wgui_srge_label,128,128,0) wgui_srge_edit = guiCreateEdit(95,crow-3,45,20,"25",false,wdwWgui) guiSetFont(wgui_srge_edit,gFnt) wgui_srge_set_btn = guiCreateButton(150,crow+1,35,15,"OK",false,wdwWgui) guiSetFont(wgui_srge_set_btn,gFnt) crow = crow+leading wgui_ebb_label = guiCreateLabel(10,crow,100,15,"Ebb Level",false,wdwWgui) guiSetFont(wgui_ebb_label,gFnt) guiLabelSetColor(wgui_ebb_label,128,128,0) wgui_ebb_edit = guiCreateEdit(95,crow-3,45,20,"25",false,wdwWgui) guiSetFont(wgui_ebb_edit,gFnt) wgui_ebb_set_btn = guiCreateButton(150,crow+1,35,15,"OK",false,wdwWgui) guiSetFont(wgui_ebb_set_btn,gFnt) crow = crow+leading wgui_tide_label = guiCreateLabel(10,crow,100,15,"Tide Level",false,wdwWgui) guiSetFont(wgui_tide_label,gFnt) guiLabelSetColor(wgui_tide_label,128,128,0) wgui_tide_edit = guiCreateEdit(95,crow-3,45,20,"25",false,wdwWgui) guiSetFont(wgui_tide_edit,gFnt) wgui_tde_set_btn = guiCreateButton(150,crow+1,35,15,"OK",false,wdwWgui) guiSetFont(wgui_tde_set_btn,gFnt) crow = crow+leading+5 wgui_waterlevel_label = guiCreateLabel(10,crow,150,15,"Current Water Level",false,wdwWgui) guiSetFont(wgui_waterlevel_label,gFnt) guiLabelSetColor(wgui_waterlevel_label,128,128,0) wgui_spd_label = guiCreateLabel(210,crow,100,15,"Speed",false,wdwWgui) guiSetFont(wgui_spd_label,gFnt) guiLabelSetColor(wgui_spd_label,128,128,0) crow = crow+10 wgui_waterlevel_status = guiCreateLabel(15,crow,350,50,"0.00",false,wdwWgui) guiSetFont(wgui_waterlevel_status,"sa-header") guiLabelSetColor(wgui_waterlevel_status,0,255,0) crow = crow+20 wgui_waterspeed_scrn_label1 = guiCreateLabel(215,crow,150,15,"1",false,wdwWgui) guiSetFont(wgui_waterspeed_scrn_label1,gFnt) guiLabelSetColor(wgui_waterspeed_scrn_label1,128,128,0) wgui_waterspeed_rbtn1 = guiCreateRadioButton(225,crow,40,20,"",false,wdwWgui) wgui_waterspeed_scrn_label2 = guiCreateLabel(250,crow,150,15,"2",false,wdwWgui) guiSetFont(wgui_waterspeed_scrn_label2,gFnt) guiLabelSetColor(wgui_waterspeed_scrn_label2,128,128,0) wgui_waterspeed_rbtn2 = guiCreateRadioButton(260,crow,405,20,"",false,wdwWgui) wgui_waterspeed_scrn_label3 = guiCreateLabel(285,crow,150,15,"3",false,wdwWgui) guiSetFont(wgui_waterspeed_scrn_label3,gFnt) guiLabelSetColor(wgui_waterspeed_scrn_label3,128,128,0) wgui_waterspeed_rbtn3 = guiCreateRadioButton(295,crow,40,20,"",false,wdwWgui) wgui_waterspeed_scrn_label4 = guiCreateLabel(320,crow,150,15,"4",false,wdwWgui) guiSetFont(wgui_waterspeed_scrn_label4,gFnt) guiLabelSetColor(wgui_waterspeed_scrn_label4,128,128,0) wgui_waterspeed_rbtn4 = guiCreateRadioButton(330,crow,40,20,"",false,wdwWgui) wgui_waterspeed_scrn_label5 = guiCreateLabel(355,crow,150,15,"5",false,wdwWgui) guiSetFont(wgui_waterspeed_scrn_label5,gFnt) guiLabelSetColor(wgui_waterspeed_scrn_label5,128,128,0) wgui_waterspeed_rbtn5 = guiCreateRadioButton(365,crow,45,20,"",false,wdwWgui) guiRadioButtonSetSelected(wgui_waterspeed_rbtn3,true) crow = crow+leading+10 wgui_waterlevel_checkBox = guiCreateCheckBox(10,crow,15,15,"",false,false,wdwWgui) wgui_waterlevel_scrn_label = guiCreateLabel(35,crow,150,15,"Echo On Screen",false,wdwWgui) guiSetFont(wgui_waterlevel_scrn_label,gFnt) guiLabelSetColor(wgui_waterlevel_scrn_label,128,128,0) wgui_reset_wtr_label = guiCreateLabel(275,crow,100,15,"Reset Water",false,wdwWgui) guiSetFont(wgui_reset_wtr_label,gFnt) guiLabelSetColor(wgui_reset_wtr_label,128,128,0) wgui_wtr_reset_btn = guiCreateButton(355,crow+1,35,15,"OK",false,wdwWgui) guiSetFont(wgui_wtr_reset_btn,gFnt) crow = crow+leading wtrScrnStatus = guiCreateWindow(180,1000,75,30,"Water Level",false) guiSetFont(wtrScrnStatus, gFnt) guiSetAlpha(wtrScrnStatus,. wgui_waterlevel_scrn_status = guiCreateLabel(.25,.5,.5,1,"",true,wtrScrnStatus) guiSetFont(wgui_waterlevel_scrn_status,"sa-normal") guiLabelSetColor(wgui_waterlevel_scrn_status,0,255,0) guiWindowSetMovable(wdwWgui,true) guiWindowSetSizable(wdwWgui,false) guiSetVisible(wdwWgui,false) guiWindowSetMovable(wtrScrnStatus,true) guiWindowSetSizable(wtrScrnStatus,false) guiSetVisible(wtrScrnStatus,false) showCursor(false) addEventHandler("onClientGUIClick",wgui_fld_set_btn,function(button,state) if button == "left" and state == "up" then local editVal = tonumber(guiGetText(wgui_flood_edit)) if editVal then triggerServerEvent("onFloodMap",root,localPlayer,editVal) end end end, false) addEventHandler("onClientGUIClick",wgui_tde_set_btn,function(button,state) if button == "left" and state == "up" then local editVal = tonumber(guiGetText(wgui_tide_edit)) if (editVal > 0) then runFlag = true setWaterSpeedVal() triggerServerEvent("onRunTides",root,localPlayer,runFlag,wSpeed,editVal) elseif (editVal == 0) then runFlag = false triggerServerEvent("onRunTides",root,localPlayer,runFlag) end end end, false) addEventHandler("onClientGUIClick",wgui_srge_set_btn,function(button,state) if button == "left" and state == "up" then local editVal = tonumber(guiGetText(wgui_srge_edit)) if editVal then setWaterSpeedVal() triggerServerEvent("onWaterSurge",root,localPlayer,wSpeed,editVal) end end end, false) addEventHandler("onClientGUIClick",wgui_ebb_set_btn,function(button,state) if button == "left" and state == "up" then local editVal = tonumber(guiGetText(wgui_ebb_edit)) if editVal then setWaterSpeedVal() triggerServerEvent("onWaterEbb",root,localPlayer,wSpeed,editVal) end end end, false) addEventHandler("onClientGUIClick",wgui_wvehgt_set_btn,function(button,state) if button == "left" and state == "up" then local editVal = tonumber(guiGetText(wgui_wvehgt_edit)) if editVal then triggerServerEvent("onSetWveHeight",root,localPlayer,editVal) end end end, false) addEventHandler("onClientGUIClick",wgui_wtr_reset_btn,function(button,state) if button == "left" and state == "up" then guiSetText(wgui_flood_edit,"10") guiSetText(wgui_srge_edit,"25") guiSetText(wgui_ebb_edit,"25") guiSetText(wgui_tide_edit,"25") guiSetText(wgui_wvehgt_edit,"2") guiRadioButtonSetSelected(wgui_waterspeed_rbtn3,true) guiCheckBoxSetSelected(wgui_waterlevel_checkBox,false) triggerServerEvent("onWtrFuncReset",root,localPlayer) end end, false) bindKey("F6","down",callWgui) end) function callWgui() triggerServerEvent("onTriggerWgui",root,localPlayer) end function displayWgui(thePlayer) --,key,keyState) if WguiVisible == false then guiSetVisible(wdwWgui,true) showCursor(true) WguiVisible = true else guiSetVisible(wdwWgui,false) showCursor(false) WguiVisible = false end end addEvent("ondisplayWgui",true) addEventHandler("ondisplayWgui",root,displayWgui) function setWaterSpeedVal() if guiRadioButtonGetSelected(wgui_waterspeed_rbtn1) == true then wSpeed = 1 elseif guiRadioButtonGetSelected(wgui_waterspeed_rbtn2) == true then wSpeed = 2 elseif guiRadioButtonGetSelected(wgui_waterspeed_rbtn3) == true then wSpeed = 3 elseif guiRadioButtonGetSelected(wgui_waterspeed_rbtn4) == true then wSpeed = 4 elseif guiRadioButtonGetSelected(wgui_waterspeed_rbtn5) == true then wSpeed = 5 end end function waterStatus(waterlevel) waterlevel = tostring(waterlevel) waterlevel = string.format("%.2f",waterlevel) guiSetText(wgui_waterlevel_status,waterlevel) guiSetText(wgui_waterlevel_scrn_status,waterlevel) if guiCheckBoxGetSelected(wgui_waterlevel_checkBox) == true then guiSetVisible(wtrScrnStatus,true) else guiSetVisible(wtrScrnStatus,false) end end addEvent("onWaterStatus",true) addEventHandler("onWaterStatus",root,waterStatus) function upDateCurrentWaterLevel(levelChange) currLevel = levelChange thePlayer = localPlayer triggerEvent("onWaterStatus",root,currLevel) --triggerServerEvent("onCurrentWaterLevel",root,thePlayer,currLevel) end addEvent("onupDateCurrentWaterLevel",true) addEventHandler("onupDateCurrentWaterLevel",root,upDateCurrentWaterLevel) Contenido 2 LUA SERVER ------------------------------------------- -- waterFunc Server --[[ floodMap set map water level waterSurge gradual water level increase waterEbb gradual water level decrease waterLevel set river/lake water level runTides set water level increase/decrease cycle ]] local root = getRootElement() local origLevel = 0 local startLevel = 0 local wtrLevel = 0 local currLevel = 0 local setLevel = 0 local waterSpeed = 2 local wtrTimerInt = 0 local wtrTimerCnt = 0 local wtrChgRate = 0.02 local wtrSizeVal = 2998 local wtr_x = 0 local wtr_y = 0 local wtr_z = 0 local tidesRun = false local waterRun = false local isWater = false local wtrTimer = nil local cycleTimer = nil local wChkTimer = nil --[[ function dbugmsg(flabel) if isElement(water) then isWater = true end outputDebugString("---------- "..flabel) outputDebugString("VARS: orig="..tostring(startLevel) ..", wlvl="..tostring(wtrLevel) .." set: "..tostring(setLevel) .." curr: "..tostring(currLevel) .." wtrspd: "..tostring(waterSpeed) .." wtrTimerInt: "..tostring(wtrTimerInt) .." wtrTimerCnt: "..tostring(wtrTimerCnt)) --" targ: "..tostring(targetLevel).. outputDebugString("water: "..tostring(isWater) .." trun: "..tostring(tidesRun) .." wrun: "..tostring(waterRun) .." wtmr: "..tostring(wtrTimer) .." cyctmr: "..tostring(cycleTimer) .." chktmr: "..tostring(wChkTimer)) if wtrCo ~= nil then outputDebugString(tostring(wtrCo)..": "..coroutine.status(wtrCo)) end end ]] function triggerWgui(thePlayer) if hasObjectPermissionTo(thePlayer,"function.displayWgui",false) then triggerClientEvent(thePlayer,"ondisplayWgui",getResourceRootElement()) end end addEvent("onTriggerWgui",true) addEventHandler("onTriggerWgui",root,triggerWgui) -------------------------------------------- -- Water Functions -------------------------------------------- function makeWater(thePlayer) if not isWater then local sW_X = -wtrSizeVal local sW_Y = -wtrSizeVal local sE_X = wtrSizeVal local sE_Y = -wtrSizeVal local nW_X = -wtrSizeVal local nW_Y = wtrSizeVal local nE_X = wtrSizeVal local nE_Y = wtrSizeVal theWater = createWater(sW_X,sW_Y,wtrLevel,sE_X,sE_Y,wtrLevel,nW_X,nW_Y,wtrLevel,nE_X,nE_Y,wtrLevel) isWater = isElement(theWater) end end addEvent("onMakeWater",true) addEventHandler("onMakeWater",root,makeWater) function destroyWater() if isWater then destroyElement(theWater) isWater = false end end function wtrFuncReset(thePlayer) wtrCo = nil if isTimer(wtrTimer) then killTimer(wtrTimer) end if isTimer(cycleTimer) then killTimer(cycleTimer) end if isTimer(wChkTimer) then killTimer(wChkTimer) end if isWater then destroyWater() end origLevel = 0 startLevel = 0 wtrLevel = 0 currLevel = 0 setLevel = 0 waterSpeed = 3 wtrTimerInt = 0 wtrTimerCnt = 0 wtrChgRate = 0.02 wtrSizeVal = 2998 tidesRun = false waterRun = false setWaveHeight(0) setWaterLevel(0) triggerClientEvent("onupDateCurrentWaterLevel",root,wtrLevel) end addEvent("onWtrFuncReset",true) addEventHandler("onWtrFuncReset",root,wtrFuncReset) function waterTimerChk() if not isTimer(wtrTimer) then waterRun = false killTimer(wtrTimerChk) end end function setWaterSpeed() if waterSpeed == 1 then wtrChgRate = 0.01 wtrTimerCnt = setLevel * 100 wtrTimerInt = 100 elseif waterSpeed == 2 then wtrChgRate = 0.02 wtrTimerCnt = setLevel * 50 wtrTimerInt = 100 elseif waterSpeed == 3 then wtrChgRate = 0.02 wtrTimerCnt = setLevel * 50 wtrTimerInt = 50 elseif waterSpeed == 4 then wtrTimerInt = 50 wtrChgRate = 0.04 wtrTimerCnt = setLevel * 25 elseif waterSpeed == 5 then wtrTimerInt = 50 wtrChgRate = 0.1 wtrTimerCnt = setLevel * 10 end end function setWveHeight(thePlayer,waveHeight) if waveHeight then local waveHeight = waveHeight setWaveHeight(waveHeight) end end addEvent("onSetWveHeight",true) addEventHandler("onSetWveHeight",root,setWveHeight) function currentWaterLevel(thePlayer,levelChange) currLevel = levelChange end addEvent("onCurrentWaterLevel",true) addEventHandler("onCurrentWaterLevel",root,currentWaterLevel) -- Set map water level function floodMap(thePlayer,newLevel) --if hasObjectPermissionTo(thePlayer,"function.floodMap",false) then if waterRun then outputDebugString("A Water Function Is Already Running",0,255,0,0) else if newLevel > 0 then makeWater(thePlayer) end setLevel = newLevel if isWater then setWaterLevel(theWater,setLevel) else setWaterLevel(setLevel) end triggerClientEvent("onupDateCurrentWaterLevel",root,setLevel) end --end end addEvent("onFloodMap",true) addEventHandler("onFloodMap",root,floodMap) -- Raise water level function waterSurge(thePlayer,wSpeed,newLevel) --if hasObjectPermissionTo(thePlayer,"function.waterSurge",false) then if waterRun then outputDebugString("A Water Function Is Already Running",0,255,0,0) else waterRun = true wtrLevel = currLevel setLevel = newLevel waterSpeed = wSpeed setWaterSpeed() local flabel = " Surge:" wtrTimer = setTimer(waterRise,wtrTimerInt,wtrTimerCnt,wtrLevel) wtrTimerChk = setTimer(waterTimerChk,500,0) --dbugmsg(flabel) end --end end addEvent("onWaterSurge",true) addEventHandler("onWaterSurge",root,waterSurge) function waterRise(setLevel) if currLevel == 0 and wtrTimerCnt > 0 then makeWater(thePlayer) end wtrLevel = (wtrLevel + wtrChgRate) if isWater then setWaterLevel(theWater,wtrLevel) else setWaterLevel(wtrLevel) end triggerClientEvent("onupDateCurrentWaterLevel",root,wtrLevel) end -- Lower water level function waterEbb(thePlayer,wSpeed,newLevel) --if hasObjectPermissionTo(thePlayer,"function.waterEbb",false) then if waterRun then outputDebugString("A Water Function Is Already Running",0,255,0,0) else waterRun = true wtrLevel = currLevel setLevel = newLevel waterSpeed = wSpeed setWaterSpeed() local flabel = " Ebb:" wtrTimer = setTimer(waterFall,wtrTimerInt,wtrTimerCnt,wtrLevel) wtrTimerChk = setTimer(waterTimerChk,1000,0) --dbugmsg(flabel) end --end end addEvent("onWaterEbb",true) addEventHandler("onWaterEbb",root,waterEbb) function waterFall(setLevel) if currLevel == 0 and wtrTimerCnt > 0 then destroyWater(thePlayer) end wtrLevel = (wtrLevel - wtrChgRate) if isWater then setWaterLevel(theWater,wtrLevel) else setWaterLevel(wtrLevel) end triggerClientEvent("onupDateCurrentWaterLevel",root,wtrLevel) end -- Run Tide Cycle function runTides(thePlayer,runFlag,wSpeed,newLevel) --if hasObjectPermissionTo(thePlayer,"function.runTides",false) then tidesRun = runFlag if tidesRun then if waterRun then outputDebugString("A Water Function Is Already Running",0,255,0,0) else if newLevel > 0 then waterSpeed = wSpeed waterRun = true --makeWater(thePlayer) setLevel = newLevel wtrCo = coroutine.create(wtrCorout) coroutine.resume(wtrCo) cycleTimer = setTimer(tidesTimerRun,500,0,setLevel) end end else waterRun = false end --end end addEvent("onRunTides",true) addEventHandler("onRunTides",root,runTides) function wtrCorout() local flabel = " Tides:" setWaterSpeed() wtrLevel = currLevel wtrTimer = setTimer(waterRise,wtrTimerInt,wtrTimerCnt,wtrLevel) coroutine.yield() wtrLevel = currLevel wtrTimer = setTimer(waterFall,wtrTimerInt,wtrTimerCnt,wtrLevel) --dbugmsg(flabel) end function tidesTimerRun() local timerChk = isTimer(wtrTimer) if timerChk == false then if wtrCo ~= nil then if coroutine.status(wtrCo) == "dead" then if not tidesRun then killTimer(cycleTimer) wtrTimerChk = setTimer(waterTimerChk,wtrTimerInt,0) return else wtrCo = coroutine.create(wtrCorout) end elseif coroutine.status(wtrCo) == "suspended" then coroutine.resume(wtrCo) end end end end porfavor ayudame castillo.. Link to comment
Sensacion Posted July 30, 2013 Share Posted July 30, 2013 Tienes que poner solo para los permisos de admin, quizá le pusiste para los usuarios también y al presionar f6 les muestra el gui. Link to comment
StanMarsh Posted July 30, 2013 Share Posted July 30, 2013 También te puedes descargar el water level ( no se si es el que usas) que tiene un panel incluido y solo le deja a los admins ajustándolo por el panel admin. Link to comment
Steven23 Posted July 31, 2013 Author Share Posted July 31, 2013 si se resolvio gracias sensacion y castilllo por aclarar mis dudas !!! Link to comment
FraN-724 Posted July 31, 2013 Share Posted July 31, 2013 Para la otra, usa ["lua"] ["/lua"] para tus posteos de scripts pd: sin comillas entre medio Link to comment
Recommended Posts