TeixeiraRB Posted March 20, 2018 Share Posted March 20, 2018 Olá, gostaria de mudar esse sistema para que o jogador dominar a área através do marker e não pela colisão da área. Ai o marker ia fazer a função do ColCuboid esperou que tenha entendido .. ------------------------------------------------------ -- Scripting By Sasu -- Copyright © 2013-2015 - All rights reserved. ------------------------------------------------------ local turfPos = { { 2133.1950683594, 633.66455078125, 0, 197.5, 92, 90 }, } local turfElement = {} local turfTimer = {} local checkComplete = false local messages = { [1] = "Sistema de Territorio by:Sasuke * foi iniciado corretamente!", [2] = "Esse território já pertence a %s", [3] = "Você entrou em %s's do território. Aguarde 2 minutos para dominar!", [4] = "Este território não pertence a ninguém. Aguarde 2 minutos para dominar!", [5] = "Parabéns. Você consquistou o território!", [6] = "Se você não voltar dentro de 20s, você não vai dominar o território", [7] = "Você não conseguiu consquisou o território devido à ausência" } -- Nadie = None | Just a translation addEventHandler("onResourceStart", resourceRoot, function() executeSQLQuery("CREATE TABLE IF NOT EXISTS Turf_System ( Turfs TEXT, GangOwner TEXT, r INT, g INT, b INT)") -- local check = executeSQLQuery("SELECT * FROM Turf_System" ) if #check == 0 then for i=1,#turfPos do executeSQLQuery("INSERT INTO Turf_System(Turfs,GangOwner,r,g,b) VALUES(?,?,?,?,?)", "Turf["..tostring(i).."]", "Nadie", 0, 255, 0) end elseif #check > 1 then for i = #check, #turfPos do executeSQLQuery("INSERT INTO Turf_System(Turfs,GangOwner,r,g,b) VALUES(?,?,?,?,?)", "Turf["..tostring(i).."]", "Nadie", 0, 255, 0) end end for i,v in ipairs(turfPos) do local sqlData = executeSQLQuery("SELECT * FROM Turf_System WHERE Turfs=?", "Turf["..tostring(i).."]") local turfCol = createColCuboid(unpack(v)) setElementData(turfCol, "getTurfGang", sqlData[1].GangOwner) local turfArea = createRadarArea(v[1], v[2], v[4], v[5], sqlData[1].r, sqlData[1].g, sqlData[1].b, 175) turfElement[turfCol] = {turfCol, turfArea, i} turfTimer[turfCol] = {} end outputDebugString( messages[1] ) end ) addEventHandler ( "onColShapeHit", root, function ( player ) if turfElement[source] and source == turfElement[source][1] then local turf,area,id = unpack( turfElement[source] ) local playerGang = getElementData ( player, "gang" ) local turfGang = executeSQLQuery("SELECT GangOwner FROM Turf_System WHERE Turfs=?", "Turf["..tostring(id).."]" ) if ( turfGang[1].GangOwner == playerGang ) then outputChatBox( messages[2]:format( turfGang[1].GangOwner or "None" ), player, 0, 255, 0, false ) else local playerGang = getElementData ( player, "gang" ) setElementData( source, "warTurf", playerGang ) if ( isTimer ( turfTimer[source][1] ) ) then if isTimer( turfTimer[source][2] ) then killTimer( turfTimer[source][2] ) end return end if ( playerGang ) then local r, g, b = unpack ( getGangColor ( playerGang ) ) -- local r, g, b = 255, 255, 255 setRadarAreaFlashing ( area, true ) if turfGang[1].GangOwner ~= "Nadie" then outputChatBox( messages[3]:format( turfGang[1].GangOwner ), player, 0, 255, 0, false ) else outputChatBox( messages[4], player, 0, 255, 0, false ) end turfTimer[source][1] = setTimer ( function ( ) local players = getGangPlayersInTurf ( turf, playerGang ) setRadarAreaColor ( area, tonumber(r), tonumber(g), tonumber(b), 175 ) for _, player in ipairs ( players ) do outputChatBox( messages[5], player, 0, 255, 0, false ) triggerClientEvent(player, "onTakeTurf", player) givePlayerMoney ( player, 4000 ) executeSQLQuery("UPDATE Turf_System SET GangOwner=?,r=?,g=?,b=? WHERE Turfs=?", playerGang, tonumber(r), tonumber(g), tonumber(b), "Turf["..tostring(id).."]" ) -- setElementData ( turf, "getTurfGang", playerGang ) end setRadarAreaFlashing ( area, false ) end ,120000, 1) end end end end ) addEventHandler ( "onColShapeLeave", root, function( player ) if turfElement[source] and source == turfElement[source][1] then if isTimer( turfTimer[source][1] ) then local aGang = getElementData( source, "warTurf" ) local ps = getGangPlayersInTurf( source, aGang ) if #ps == 0 then outputChatBox( messages[6], player, 255, 0, 0 ) turfTimer[source][2] = setTimer( function(source, aGang) if isTimer(turfTimer[source][1]) then killTimer(turfTimer[source][1]) end setRadarAreaFlashing(turfElement[source][2], false) for _, v in ipairs( getElementsByType("player") ) do if getElementData(v, "gang") == aGang then outputChatBox(messages[7], v, 255, 0, 0) end end end , 20000, 1, source, aGang) end end end end ) function getGangPlayersInTurf( turf, gang ) -- element, string if turf and gang then local players = getElementsWithinColShape ( turf, "player" ) local gPla = {} for _, v in ipairs( players ) do if getElementData(v, "gang") == gang then table.insert(gPla, v) end end return gPla end end function getGangColor(gangName) return exports[ "gang_system" ]:getGangData ( gangName, "color" ) end Link to comment
Other Languages Moderators Lord Henry Posted March 21, 2018 Other Languages Moderators Share Posted March 21, 2018 Então você está tentando editar resource de terceiros, é isso? Link to comment
DNL291 Posted March 21, 2018 Share Posted March 21, 2018 (edited) Como você mesmo disse, basta trocar createColCuboid por createMarker, na linha 45 é onde você pode fazer isso. E editar a tabela turfPos pra deixar apenas as coordenadas da marca. Fora isso, você vai precisar editar algumas coisas como "onMarkerHit" no lugar do evento de colisão do colshape. Edited March 21, 2018 by DNL291 Link to comment
TeixeiraRB Posted March 21, 2018 Author Share Posted March 21, 2018 3 hours ago, Lord Henry said: Então você está tentando editar recursos de terceiros, é isso? So estou colocando uma coisa que o dono do scripter devia ter colocada. Pois dominar a área em qualquer lugar é meio chato, por que a área pode se grande e sempre sera dominada. 27 minutes ago, DNL291 said: Você pode fazer isso, basta trocar. E editar uma tabela turfPos pra deixar apenas como coordenadas da marca. Para isso, você vai retornar algumas coisas como "onMarkerHit" no lugar do evento de colisão do colshape. A parte do MarkerHit até conseguindo, mas depois da parte do markerleave ai que veio o problema. Mas vou tenta observa bem e tenta mexer. 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