MaRcell Posted February 6, 2015 Share Posted February 6, 2015 Bom eu pegei aquele spawn do 50p spanw menu editei tudo certin mas um negocio e que quando morre volta pro menu para escolher outro time e eu queria tirar isso e por para spanwnar na sede do mesmo time que escolheu e essa parte do script tah akie 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 ); end local plrTeam = getPlayerTeam( client ); if ( ( plrTeam ) and ( plrTeam ~= class.team ) and ( countPlayersInTeam( plrTeam ) == 1 ) ) 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( onPlayerSpawn, 5000, 1, source ); deleteAllPlayerBlips( source ) end ); addCommandHandler( "kill", function( plr ) killPed( plr ); end addEventHandler(onPlayerSpawn) ) 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 ) Link to comment
DNL291 Posted February 6, 2015 Share Posted February 6, 2015 onPlayerSpawn é uma função? Se não for, isso tá errado. No evento onPlayerWasted na linha 90, Você precisa chamar uma função que o jogador 'spawna' em sua base. Defina as bases pelo nome do time. E na função que irá gerar ele na base, use o nome do time que ele está, para obter os dados do respawn. Link to comment
MaRcell Posted February 6, 2015 Author Share Posted February 6, 2015 Nao intendi muito bem poderia explicar denovo? Link to comment
DNL291 Posted February 7, 2015 Share Posted February 7, 2015 Crie uma tabela e defina as chaves com o nome do time. Dentro dessas chaves, coloque os dados do spawn. Assim: local teams = { ["Time1"] = { baseLoc = {x, y, z} }, ["Time2"] = { baseLoc = {x, y, z} }, ["Time3"] = { baseLoc = {x, y, z} } } E faça a função que será chamada quando, por exemplo, o jogador morrer: function respawnPlayerAtBase(thePlayer) local team getPlayerTeam(thePlayer) if isElement(thePlayer) and team then local spawnX,spawnY,spawnZ = unpack( teams[getTeamName(team)].baseLoc ) spawnPlayer(thePlayer, spawnX,spawnY,spawnZ, 0, getElementModel(thePlayer) end end Essa função, você irá chamar no evento "onPlayerWasted". Link to comment
MaRcell Posted February 7, 2015 Author Share Posted February 7, 2015 Entendi a gr vlw dnl Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now