Bc# Posted November 28, 2012 Share Posted November 28, 2012 Tengo un problema es que necesito guardar el color del team pero en HEX no en RGB Ejemplo en este script se guarda en RGB local r,g,b = 255,255,255 local team = getPlayerTeam(player) if team then r,g,b = getTeamColor(team) end No hay forma de obtener esos datos y Guardarlos en HEX. Como algo asi pero no se si eso esta bien. local HEX = #ffffff local team = getPlayerTeam(player) if team then HEX = getTeamColor(team) end y otra pregunta si después en algún dxDrawText o string.format se puede ocupar esa misma función asi: string.format( '%d. %s HEX %s') Por favor alguna ayuda. Link to comment
Castillo Posted November 28, 2012 Share Posted November 28, 2012 function RGBToHex(red, green, blue, alpha) if((red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255) or (alpha and (alpha < 0 or alpha > 255))) then return nil end if(alpha) then return string.format("#%.2X%.2X%.2X%.2X", red,green,blue,alpha) else return string.format("#%.2X%.2X%.2X", red,green,blue) end end Con esa funcion podes convertir R, G, B a un codigo HEX. Link to comment
NodZen Posted November 28, 2012 Share Posted November 28, 2012 Se puede agregar eso al Killmessage? Link to comment
Bc# Posted November 28, 2012 Author Share Posted November 28, 2012 local r,g,b = 255,255,255 local team = getPlayerTeam(player) if team then r,g,b = getTeamColor(team) end local line = string.format( '%d. %s #%.2X%.2X%.2X %s', i, timeText, r, g, b, data[i].playerName ) Deveria funcionar pero no funciona Link to comment
Bc# Posted November 28, 2012 Author Share Posted November 28, 2012 Se puede agregar eso al Killmessage? Eso depende del enfoque que le des a la funcion para mi si lo sabes interpretar bien lo puedes hacer, yo creo que si se puede. Link to comment
Arsilex Posted November 28, 2012 Share Posted November 28, 2012 local r,g,b = RGBToHex(255,255,255) local team = getPlayerTeam(player) if team then r,g,b = getTeamColor(team) end local line = string.format( '%d. %s #%.2X%.2X%.2X %s', i, timeText, r, g, b, data[i].playerName ) Deveria funcionar pero no funciona Link to comment
Bc# Posted November 28, 2012 Author Share Posted November 28, 2012 local r,g,b = RGBToHex(255,255,255) local team = getPlayerTeam(player) if team then r,g,b = getTeamColor(team) end local line = string.format( '%d. %s #%.2X%.2X%.2X %s', i, timeText, r, g, b, data[i].playerName ) Deveria funcionar pero no funciona No habia definido player nuebamente. Pero si lo defino asi local player = getLocalPlayer() Me muestra el color de mi team no el color del team otra persona como lo puedo reparar. Link to comment
Arsilex Posted November 28, 2012 Share Posted November 28, 2012 muestranos toda el script por que no sabemos de quien es el team osea de que player ....(si es que es uno ) si es para todo puedes usar local players = getElementsByType ( "player" ) for i, k in ipairs(players) do --Tu Function end Link to comment
Bc# Posted November 28, 2012 Author Share Posted November 28, 2012 function CToptimes:doOnServerSentToptimes( data, serverRevision, playerPosition, player ) outputDebug( 'TOPTIMES', 'CToptimes:doOnServerSentToptimes ' .. tostring(#data) ) -- Calc number lines to use and height of window local numLines = math.clamp( 0, #data, 50 ) self.size.y = 15 + 46 + 15 * numLines -- Set height of window local sizeX = self.size.x local sizeY = self.size.y guiSetSize( self.gui['windowbg'], sizeX, sizeY, false ) -- Make listTimes contains the correct number of labels self:updateLabelCount(numLines) -- Update the list items for i=1,numLines do local timeText = data[i].timeText if timeText:sub(1,1) == '0' then timeText = ' ' .. timeText:sub(2) end --local player = getPlayerNametagText() local r,g,b = 255,255,255 local team = getPlayerTeam(player) if team then r,g,b = getTeamColor(team) end local line = string.format( '%d. %s #%.2X%.2X%.2X %s', i, timeText, r, g, b, data[i].playerName ) guiSetText ( self.gui['listTimes'][i], line ) if i == playerPosition then guiLabelSetColor ( self.gui['listTimes'][i], 255, 153, 0 ) else guiLabelSetColor ( self.gui['listTimes'][i], 255, 153, 0 ) end end -- Debug if _DEBUG_CHECK then outputDebug( 'TOPTIMES', 'toptimes', string.format('crev:%s srev:%s', tostring(self.clientRevision), tostring(serverRevision) ) ) if self.clientRevision == serverRevision then outputDebug( 'TOPTIMES', 'Already have this revision' ) end end -- Update status self.clientRevision = serverRevision self.listStatus = 'Full' self:updateShow() end Esa es del toptimes_client lo que intento hacer es que el toptimes me muestre el color del team de la persona que lo hizo. Link to comment
Bc# Posted November 28, 2012 Author Share Posted November 28, 2012 Dime que se puede hacer por favor estoy un poco perdido en este tema, no es primera ves que me pasa lo mismo con respecto a los colores y los players. Link to comment
Arsilex Posted November 28, 2012 Share Posted November 28, 2012 prueba poniendo en play data no estoy seguro Link to comment
Bc# Posted November 29, 2012 Author Share Posted November 29, 2012 Probe y sigue igual, ¿Alguien sabe por que el client no reconoce la variable player? Link to comment
Recommended Posts