HolaRocola Posted August 8, 2015 Share Posted August 8, 2015 Hola amigos, me descargué un script de la comunidad que se trata de que cuando un jugador le da click o control se activa el nitro, pero quiero saber como agregarlo para que sea solamente para admin? Hice esto pero nose si esta bien: g_Me = getLocalPlayer( ); g_Root = getRootElement( ); g_ResRoot = getResourceRootElement( ); function toggleNOS( key, state ) local accountName = getAccountName(getPlayerAccount(g_Me)); if isObjectInACLGroup("user."..accountName, aclGetGroup("Admin")) then local veh = getPedOccupiedVehicle( g_Me ); if veh and not isEditingPosition then if state == "up" then removeVehicleUpgrade( veh, 1010 ); setControlState( "vehicle_fire", false ); else addVehicleUpgrade( veh, 1010 ); end end end end addEventHandler( "onClientResourceStart", g_ResRoot, function( ) for index, g_Me in pairs(getElementsByType("player")) do bindKey(g_Me, "vehicle_fire", "both", toggleNOS ); bindKey(g_Me, "vehicle_secondary_fire", "both", toggleNOS ); end end ) Link to comment
Pipee20k Posted August 8, 2015 Share Posted August 8, 2015 (edited) isObjectInACLGroup solo funciona en serverside function resourceStart () for k, p in ipairs (getElementsByType("player")) do bindKey (p, "lalt", "down", toggleNos, p) end end addEventHandler ("onResourceStart", resourceRoot, resourceStart) function playerJoins () bindKey (source, "lalt", "down", toggleNos, source) end addEventHandler("onPlayerJoin", root, playerJoins) function toggleNos (thePlayer) local accName = getAccountName (getPlayerAccount (thePlayer)) if isObjectInACLGroup ("user."..accName, aclGetGroup ("Admin")) then triggerClientEvent (thePlayer, "toggleNos", thePlayer) end end g_Me = getLocalPlayer( ); g_Root = getRootElement( ); g_ResRoot = getResourceRootElement( ); function toggleNOS( key, state ) local accountName = getAccountName(getPlayerAccount(g_Me)); if isObjectInACLGroup("user."..accountName, aclGetGroup("Admin")) then local veh = getPedOccupiedVehicle( g_Me ); if veh and not isEditingPosition then if state == "up" then removeVehicleUpgrade( veh, 1010 ); setControlState( "vehicle_fire", false ); else addVehicleUpgrade( veh, 1010 ); end end end end addEvent ("toggleNOS", true) addEventHandler ("toggleNOS", root, toggleNOS) Mira si eso te funciona, el serverside lo saque de uno de mis primeros scripts XDD Edited August 9, 2015 by Guest Link to comment
HolaRocola Posted August 9, 2015 Author Share Posted August 9, 2015 Como podria hacerlo entonces? Link to comment
aka Blue Posted August 9, 2015 Share Posted August 9, 2015 Haces un trigger. Añades un evento al cliente y lo ejecutas desde el servidor usando triggerClientEvent Link to comment
HolaRocola Posted August 9, 2015 Author Share Posted August 9, 2015 No entiendo como hacerlo :c Link to comment
HolaRocola Posted August 11, 2015 Author Share Posted August 11, 2015 si y no me funcionó :c Link to comment
Enargy, Posted August 12, 2015 Share Posted August 12, 2015 Serverside... g_ResRoot = getResourceRootElement( getThisResource() ); function toggleNOS( thePlayer, key, state ) if isPlayerIsAdmin( thePlayer ) then local veh = getPedOccupiedVehicle( thePlayer ); if veh then if state == "up" then removeVehicleUpgrade( veh, 1010 ); else addVehicleUpgrade( veh, 1010 ); end end end end function isPlayerIsAdmin( player ) if isObjectInACLGroup("user."..getAccountName(getPlayerAccount( player )), aclGetGroup("Admin")) then return true end return false end addEventHandler( "onResourceStart", g_ResRoot, function( ) for index, g_Me in ipairs(getElementsByType("player")) do bindKey(g_Me, "vehicle_fire", "both", toggleNOS ); bindKey(g_Me, "vehicle_secondary_fire", "both", toggleNOS ); end end ) addEventHandler( "onPlayerJoin", root, function( ) bindKey(source, "vehicle_fire", "both", toggleNOS ); bindKey(source, "vehicle_secondary_fire", "both", toggleNOS ); end ) Link to comment
UserToDelete Posted August 13, 2015 Share Posted August 13, 2015 Yo lo que tenia para reconocer en clientSide los admins era esto --Esto es server side for k,v in ipairs(getElementsByType("player")) do if hasObjectPermissionTo(v, "command.ban") then setElementData(v, "admin", true) end end Luego en el client Side usaba el --Esto es client side getElementData(localPlayer, "admin") Si era admin, daba true, sino, false Link to comment
Recommended Posts