Mr.Balp Posted December 29, 2012 Share Posted December 29, 2012 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
AlvareZ_ Posted December 29, 2012 Share Posted December 29, 2012 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
Mr.Balp Posted December 29, 2012 Author Share Posted December 29, 2012 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
Castillo Posted December 29, 2012 Share Posted December 29, 2012 Para hacer interiores privados vas a tener que editar el recurso "interiors". Link to comment
AlvareZ_ Posted December 30, 2012 Share Posted December 30, 2012 lo q te dije anterior son los team y si quieres los interiors editas el script como dijo castillo o tambien podrias usarlos aparte createMarker getElementModel Link to comment
JesusAliso Posted December 30, 2012 Share Posted December 30, 2012 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
AlvareZ_ Posted December 30, 2012 Share Posted December 30, 2012 exacto para eso debes usar lo q te dije Link to comment
JesusAliso Posted December 30, 2012 Share Posted December 30, 2012 Pero me darías una idea para que solo el numero del skin pueda entrar? al marker. Link to comment
BorderLine Posted December 30, 2012 Share Posted December 30, 2012 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
BorderLine Posted December 30, 2012 Share Posted December 30, 2012 si estas perdido postea el codigo y con gusto te ayudo Link to comment
Mr.Balp Posted December 30, 2012 Author Share Posted December 30, 2012 Para hacer interiores privados vas a tener que editar el recurso "interiors". ok solid hise mis bases con interiors borre los que venian en el server y puse creo como 10 nomas me podrias ayudar como los pondria privados por skin y/o grupos gracias Link to comment
Xperia Posted December 30, 2012 Share Posted December 30, 2012 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
Mr.Balp Posted December 30, 2012 Author Share Posted December 30, 2012 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
Xperia Posted December 30, 2012 Share Posted December 30, 2012 Pues coge las coordenadas y los creas en el script.Nunca use el resource interiors. Link to comment
Mr.Balp Posted December 30, 2012 Author Share Posted December 30, 2012 Pues coge las coordenadas y los creas en el script.Nunca use el resource interiors. es que la verdad no se como hacerlo ;/ algo mas de ayuda porfa!! gracias. Link to comment
Mr.Balp Posted December 30, 2012 Author Share Posted December 30, 2012 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
Mr.Balp Posted December 30, 2012 Author Share Posted December 30, 2012 Para hacer interiores privados vas a tener que editar el recurso "interiors". solid me podrias decir como lo edito porfaa gracias! este es un ejemplo de como tengo : Link to comment
Arsilex Posted December 30, 2012 Share Posted December 30, 2012 no agas triple post y espera a que alguen responda... Link to comment
AlvareZ_ Posted December 30, 2012 Share Posted December 30, 2012 esta muy bien explicado lo q dijo yakuza, o q quieres el script? Link to comment
JesusAliso Posted December 30, 2012 Share Posted December 30, 2012 Yakuza posteare ok, Xperia seria mejor si uno hace los teleport al script? como dice yakuza Alvarez si no te molesta como los tienes tu? por id skin o otro script? Link to comment
JesusAliso Posted December 30, 2012 Share Posted December 30, 2012 Me darías un ejemplo no te pido que me des los que tienes, guíame con un ejemplo y si puedes me das los script que usaste para buscarlos por la wiki de mta, y gracias Link to comment
Mr.Balp Posted December 30, 2012 Author Share Posted December 30, 2012 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
JesusAliso Posted December 30, 2012 Share Posted December 30, 2012 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
Recommended Posts