Bc# Posted November 28, 2012 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.
Castillo Posted November 28, 2012 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.
Bc# Posted November 28, 2012 Author 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
Bc# Posted November 28, 2012 Author 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.
Arsilex Posted November 28, 2012 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
Bc# Posted November 28, 2012 Author 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.
Arsilex Posted November 28, 2012 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
Bc# Posted November 28, 2012 Author 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.
Bc# Posted November 28, 2012 Author 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.
Arsilex Posted November 28, 2012 Posted November 28, 2012 prueba poniendo en play data no estoy seguro
Bc# Posted November 29, 2012 Author Posted November 29, 2012 Probe y sigue igual, ¿Alguien sabe por que el client no reconoce la variable player?
Recommended Posts