Jump to content

ayuda poner privado los interiores!! y bug de scoreboard


Mr.Balp

Recommended Posts

hola tengo 2 problemas tengo un resource que es el spawn donde tengo teams y clanes privados con contraseña lo que no e podido hacer es poner privado los teleports o markers como le digan de esos interiores para que solo los de el team pueda entrar a ese interior quite todos los interiores del resource interiors y coloque nuevos me ayudarian un ejemplo seria este es de una base del team GOC donde entran a su base miren:

y van dentro de interiors.map en el resource interiors y funciona a la perfeccion pero como ago para que solo los del team puedan entrar a esos interiores gracias.

2.tengo uun bug o no se con el scoreboard siempre que entran a 2 o mas teams en el scoreboard todos aparecen en blanco sin team como ago para que entren en cualquier team y queden ahi en el scoreboard sin que se pongan en blanco y se salgan del team dentro de mi scoreboard tengo FPS PING GROUP ya que tengo gang sytem KILL DEATHS TEAM Y ESO por si algo esta causando problemas aunque no creo ayuda gracias

Link to comment

Remplasa tu s_main por esto:

    g_root = getRootElement( ); 
    classGroups = { }; 
      
      
    addEvent( "spawn_clientRequestSpawn", true ); 
    addEventHandler( "spawn_clientRequestSpawn", g_root, 
        function( categoryIndex, classIndex, skinIndex, password ) 
            if skinIndex then 
                local class = classGroups[ categoryIndex ].classes[ classIndex ]; 
                if class.password then 
                    if not password or password == "" then 
                        triggerClientEvent( client, "spawn_requestPassword", root, class.name ); 
                        return; 
                    elseif password ~= class.password then 
                        outputChatBox( "The password you typed in is incorrect! Try again or cancel to choose different class.", client, 200, 50, 50 ); 
                        triggerClientEvent( client, "spawn_requestPassword", root, class.name ); 
                        return; 
                    end 
                end 
                local skin = class.skinMngr.skins[ skinIndex ]; 
                local spawn = true; 
                local spawned; 
                --[[if not classGroups[ cetegoryIndex ].owner then -- if there is NO owner of the clan/gang spawn player 
                    spawn = true; 
                else -- if there IS owner of the clan/gang then check if he's member of the clan/gang 
                    
                end]] 
                
                if spawn then 
                    if not class.team then 
                        class.team = createTeam( class.name, class.color.red, class.color.green, class.color.blue ); 
                        setTeamFriendlyFire ( class.team, false ) 
                    end 
                    
                    local plrTeam = getPlayerTeam( client ); 
                    if ( ( plrTeam ) and ( plrTeam ~= class.team ) and ( countPlayersInTeam( plrTeam ) == 0 ) ) then 
                        destroyElement( plrTeam ); 
                    end 
                    
                    spawned = spawnPlayer( 
                        client, 
                        skin.spawnLoc.x, 
                        skin.spawnLoc.y, 
                        skin.spawnLoc.z, 
                        skin.spawnLoc.rot, 
                        skin.modelId, 
                        0, 0, 
                        class.team 
                    ); 
                end 
                
                if spawned then 
                    setElementData( client, "team", class.name ) 
                    setElementData( client, "skin", skin.name ) 
                    fadeCamera( client, true ); 
                    setCameraTarget( client, client ); 
                    setTimer( setCameraTarget, 200, 1, client, client ); 
                    
                    triggerClientEvent( client, "spawn_SpawnedSuccessfully", client ); 
                    
                    --setPlayerMoney( client, 500 ); 
                    for _, weapon in ipairs( class.weaponMngr.weapons ) do 
                        giveWeapon( client, weapon.id, weapon.ammo, false ); 
                    end 
                    createBlipAttachedTo( client, 0, 2, class.color.red, class.color.green, class.color.blue ) 
                else 
                    triggerClientEvent( client, "spawn_FailedToSpawn", client ); 
                    if countPlayersInTeam( class.team ) == 0 then 
                        destroyElement( class.team ); 
                        class.team = nil; 
                    end 
                end 
            end 
        end 
    ); 
      
    addEvent( "spawn_receivePassword", true ); 
    addEventHandler( "spawn_receivePassword", g_root, 
        function( ) 
        
        end 
    ); 
      
      
    addEventHandler( "onPlayerSpawn", g_root, 
        function ( ) 
        
        end 
    ); 
      
    addEventHandler( "onPlayerWasted", g_root, 
        function( ) 
            fadeCamera( source, false, 4 ) 
            setTimer( requestMenu, 5000, 1, source ); 
            deleteAllPlayerBlips( source ) 
        end 
    ); 
      
    function requestMenu( player ) 
        callClientFunc( player, "showSpawnMenu", true, true ); 
        callClientFunc( player, "classSelected" ); 
    end 
      
      
    addCommandHandler( "kill", 
        function( plr ) 
            killPed( plr ); 
        end 
    ) 
      
     
      
    function preloadClassesInfo( ) 
        local groups = getElementsByType( "category" ); 
        for _, group in ipairs( groups ) do 
            table.insert( classGroups, Group:New( group ) ); 
        end 
    end 
    addEventHandler( "onResourceStart", getResourceRootElement(), preloadClassesInfo ) 
      
      
    function deleteAllPlayerBlips(player) 
        local elements = getAttachedElements(player) 
        if (elements) then 
            for i, element in ipairs(elements) do 
                if (getElementType(element) == "blip") then 
                    destroyElement(element) 
                end 
            end 
        end 
        print( "number of players in team: " .. tostring( countPlayersInTeam( getPlayerTeam( player ) ) ) ); 
    end 
      
    addEventHandler( "onPlayerQuit", g_root, function() deleteAllPlayerBlips(source) end ); 
      
      
    ------------------------------------------------------------------------------------------ 
    ------------------------------------------------------------------------------------------ 
    function callClientFunc( player, funcName, ... ) 
        if #{ ... } ~= 0 then 
            triggerClientEvent( player, "_clientCallFunction", root, funcName, ... ) 
        else 
            triggerClientEvent( player, "_clientCallFunction", root, funcName ) 
        end 
    end 
      
    addEvent( "_serverCallFunction", true ) 
    addEventHandler( "_serverCallFunction", root, 
        function( funcName, ... ) 
            _G[ funcName ](...) 
        end 
    ) 

se te guardaran los teams

Link to comment
Remplasa tu s_main por esto:
    g_root = getRootElement( ); 
    classGroups = { }; 
      
      
    addEvent( "spawn_clientRequestSpawn", true ); 
    addEventHandler( "spawn_clientRequestSpawn", g_root, 
        function( categoryIndex, classIndex, skinIndex, password ) 
            if skinIndex then 
                local class = classGroups[ categoryIndex ].classes[ classIndex ]; 
                if class.password then 
                    if not password or password == "" then 
                        triggerClientEvent( client, "spawn_requestPassword", root, class.name ); 
                        return; 
                    elseif password ~= class.password then 
                        outputChatBox( "The password you typed in is incorrect! Try again or cancel to choose different class.", client, 200, 50, 50 ); 
                        triggerClientEvent( client, "spawn_requestPassword", root, class.name ); 
                        return; 
                    end 
                end 
                local skin = class.skinMngr.skins[ skinIndex ]; 
                local spawn = true; 
                local spawned; 
                --[[if not classGroups[ cetegoryIndex ].owner then -- if there is NO owner of the clan/gang spawn player 
                    spawn = true; 
                else -- if there IS owner of the clan/gang then check if he's member of the clan/gang 
                    
                end]] 
                
                if spawn then 
                    if not class.team then 
                        class.team = createTeam( class.name, class.color.red, class.color.green, class.color.blue ); 
                        setTeamFriendlyFire ( class.team, false ) 
                    end 
                    
                    local plrTeam = getPlayerTeam( client ); 
                    if ( ( plrTeam ) and ( plrTeam ~= class.team ) and ( countPlayersInTeam( plrTeam ) == 0 ) ) then 
                        destroyElement( plrTeam ); 
                    end 
                    
                    spawned = spawnPlayer( 
                        client, 
                        skin.spawnLoc.x, 
                        skin.spawnLoc.y, 
                        skin.spawnLoc.z, 
                        skin.spawnLoc.rot, 
                        skin.modelId, 
                        0, 0, 
                        class.team 
                    ); 
                end 
                
                if spawned then 
                    setElementData( client, "team", class.name ) 
                    setElementData( client, "skin", skin.name ) 
                    fadeCamera( client, true ); 
                    setCameraTarget( client, client ); 
                    setTimer( setCameraTarget, 200, 1, client, client ); 
                    
                    triggerClientEvent( client, "spawn_SpawnedSuccessfully", client ); 
                    
                    --setPlayerMoney( client, 500 ); 
                    for _, weapon in ipairs( class.weaponMngr.weapons ) do 
                        giveWeapon( client, weapon.id, weapon.ammo, false ); 
                    end 
                    createBlipAttachedTo( client, 0, 2, class.color.red, class.color.green, class.color.blue ) 
                else 
                    triggerClientEvent( client, "spawn_FailedToSpawn", client ); 
                    if countPlayersInTeam( class.team ) == 0 then 
                        destroyElement( class.team ); 
                        class.team = nil; 
                    end 
                end 
            end 
        end 
    ); 
      
    addEvent( "spawn_receivePassword", true ); 
    addEventHandler( "spawn_receivePassword", g_root, 
        function( ) 
        
        end 
    ); 
      
      
    addEventHandler( "onPlayerSpawn", g_root, 
        function ( ) 
        
        end 
    ); 
      
    addEventHandler( "onPlayerWasted", g_root, 
        function( ) 
            fadeCamera( source, false, 4 ) 
            setTimer( requestMenu, 5000, 1, source ); 
            deleteAllPlayerBlips( source ) 
        end 
    ); 
      
    function requestMenu( player ) 
        callClientFunc( player, "showSpawnMenu", true, true ); 
        callClientFunc( player, "classSelected" ); 
    end 
      
      
    addCommandHandler( "kill", 
        function( plr ) 
            killPed( plr ); 
        end 
    ) 
      
     
      
    function preloadClassesInfo( ) 
        local groups = getElementsByType( "category" ); 
        for _, group in ipairs( groups ) do 
            table.insert( classGroups, Group:New( group ) ); 
        end 
    end 
    addEventHandler( "onResourceStart", getResourceRootElement(), preloadClassesInfo ) 
      
      
    function deleteAllPlayerBlips(player) 
        local elements = getAttachedElements(player) 
        if (elements) then 
            for i, element in ipairs(elements) do 
                if (getElementType(element) == "blip") then 
                    destroyElement(element) 
                end 
            end 
        end 
        print( "number of players in team: " .. tostring( countPlayersInTeam( getPlayerTeam( player ) ) ) ); 
    end 
      
    addEventHandler( "onPlayerQuit", g_root, function() deleteAllPlayerBlips(source) end ); 
      
      
    ------------------------------------------------------------------------------------------ 
    ------------------------------------------------------------------------------------------ 
    function callClientFunc( player, funcName, ... ) 
        if #{ ... } ~= 0 then 
            triggerClientEvent( player, "_clientCallFunction", root, funcName, ... ) 
        else 
            triggerClientEvent( player, "_clientCallFunction", root, funcName ) 
        end 
    end 
      
    addEvent( "_serverCallFunction", true ) 
    addEventHandler( "_serverCallFunction", root, 
        function( funcName, ... ) 
            _G[ funcName ](...) 
        end 
    ) 

se te guardaran los teams

oye gracias pero eso para que es para lo del bug de teams o para los interiores? gracias por tu ayuda c:

Link to comment

Alvarez Yo quiero Hacer un scrip con donde yo haga un marker de una base y que solo el "skin" pueda entrar en ese marker!, solo el skin osea para que sea mas fácil y no hacer mucho script, aun que creo que tendré que hacer un script con los marker para eso no? me falta eso que te digo para abrir el server, como lo arias tu yo creo el marker pero el script de que solo el skin entre no se, se podría hacer, lo siento si no me explique bien. gracias

Link to comment

te dare algo a la rapida.

markerentrada = createMarker() 
markersalida = createMarker 
  
setElementInterior(markersalida, int..)--esto en caso que lo transportes a un interior. pones el marker de salida dentro del interior..sino elimina esta linea 
  
function entrada(thePlayer) 
if (getElementModel(thePlayer) == idskin ) then 
setElementInterior(... 
--o bien si es sin interior 
setElementPosition(thePlayer... 
--si quieres agregar otra ID de otro skin 
elseif (getElementModel(thePlayer) == id2skin) then 
setElementInterior() 
setElementPosition() 
--si es solo un skin entonces saltate a este else 
else 
outputChatBox("usted no puede entrar",thePlayer,255,255,255) 
end 
end 
addEventHandler( "onMarkerHit", markerentrada, entrada ) 

Link to comment
te dare algo a la rapida.
markerentrada = createMarker() 
markersalida = createMarker 
  
setElementInterior(markersalida, int..)--esto en caso que lo transportes a un interior. pones el marker de salida dentro del interior..sino elimina esta linea 
  
function entrada(thePlayer) 
if (getElementModel(thePlayer) == idskin ) then 
setElementInterior(... 
--o bien si es sin interior 
setElementPosition(thePlayer... 
--si quieres agregar otra ID de otro skin 
elseif (getElementModel(thePlayer) == id2skin) then 
setElementInterior() 
setElementPosition() 
--si es solo un skin entonces saltate a este else 
else 
outputChatBox("usted no puede entrar",thePlayer,255,255,255) 
end 
end 
addEventHandler( "onMarkerHit", markerentrada, entrada ) 

Lee lo que dijo Yakuza, eso sirve para lo que quieres.

Link to comment
te dare algo a la rapida.
markerentrada = createMarker() 
markersalida = createMarker 
  
setElementInterior(markersalida, int..)--esto en caso que lo transportes a un interior. pones el marker de salida dentro del interior..sino elimina esta linea 
  
function entrada(thePlayer) 
if (getElementModel(thePlayer) == idskin ) then 
setElementInterior(... 
--o bien si es sin interior 
setElementPosition(thePlayer... 
--si quieres agregar otra ID de otro skin 
elseif (getElementModel(thePlayer) == id2skin) then 
setElementInterior() 
setElementPosition() 
--si es solo un skin entonces saltate a este else 
else 
outputChatBox("usted no puede entrar",thePlayer,255,255,255) 
end 
end 
addEventHandler( "onMarkerHit", markerentrada, entrada ) 

Lee lo que dijo Yakuza, eso sirve para lo que quieres.

oye si gracias pero pareciera que es si quiero crear mis propios teleports pero ya los tengo y utilize interiors ahi los hice en interiors.map y eso en donde iria? es que en markers soy malisimo tal vez si me ayudaran un poco mas explicado muchisimas gracias!!

Link to comment

alguien me podria explicar mejor es que mis marekers los hice con interiors osea los cree en interiors.map ejemplo:

y tal vez ese script que em dieron sea bueno ymme sirva pero no lo entiendo y tendria que crear uno nuevo alguien me podria ayuidar como coloco los interiors privados gracias

Link to comment

chicos lo que pasa es que no entiendo mucho este tema me defiendo algo en script muy poco peor este si no lo entiendo nada bueno digamos que ese script em sirve peor que ago con el ? es que quiero es editar interiors no quiero comensar de nuevo los teleports me serviria un script que privatise los interiors peor que tenga convenio con el resource interiors donde tengo todo eso mas explicado me ayudaria gracias porfa ayudenmen esto se em complico :c

Link to comment

Balp. Para mi creo que seria mejor que hicieras de nuevo, creo que seria mas corto ya que no es tan complicado hacer estos teleport, claro si sabes un poco y si no que te vallan guiando, por mi no te puedo dar nada por que estoy en lo mismo, y dependiendo si hacer un script que sea largo y otro corto seria mejor el largo así aprendería mas, pero si no sabes mucho el corto. espero que te ayuden :)

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...