Jump to content

BorderLine

Members
  • Posts

    1,027
  • Joined

  • Last visited

Everything posted by BorderLine

  1. al usar :gsub("#%x%x%x%x%x%x","") estas quitando los hexadecimales prueba esto function greetingHandler ( message, r, g, b) outputChatBox ( "The server says: " .. message, r,g,b,true ) end addEvent( "onGreeting", true ) addEventHandler( "onGreeting", getRootElement(), greetingHandler ) function greetingCommand ( playerSource, commandName ) local r, g, b = getPlayerNametagColor(playerSource) triggerClientEvent ( "onGreeting", getRootElement(), "Hola " ..getPlayerName(playerSource), r, g, b ) end
  2. y cual es el problema? podrias dar mas detalles,
  3. tal como dice alvarez entonces aslo asi function greetingHandler ( message, r, g, b) outputChatBox ( "The server says: " .. message, r,g,b ) end addEvent( "onGreeting", true ) addEventHandler( "onGreeting", getRootElement(), greetingHandler ) function greetingCommand ( playerSource, commandName ) local r, g, b = getPlayerNametagColor(playerSource) triggerClientEvent ( "onGreeting", getRootElement(), "Hola " ..getPlayerName(playerSource):gsub("#%x%x%x%x%x%x",""), r, g, b ) end intenta eso, nose si funcione
  4. Bueno, nose si esto es totalmente legal, si de todos modos solid cierra el post lo entendere ni quiero manchar mi reputacion. este resource fue subido hace mucho a la comunidad y fue reportado por supuesto robo a 8Q. aqui se los traigo con una minima modificacion para que se muestre la bandera del pais del jugador que entra. Client function dxDrawColorText(str, ax, ay, bx, by, color, scale, font, left, top, clip, wordbreak, postGUI) local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if cap == "" and col then color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font ) ax = ax + w color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end last = e + 1 s, e, cap, col = str:find( pat, last ) end if last <= #str then cap = str:sub( last ) local w = dxGetTextWidth( cap, scale, font ) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font, left, top, clip, wordbreak, postGUI ) end end local messageJoin = "" local messageQuit = "" local messageNick = "" local messageLogin = "" x,y = guiGetScreenSize() function renderPlayerJoined ( ) dxDrawColorText("#ffffff".. messageJoin,30,y/2-20,580.0,20.0,tocolor(200,0,0,255),1,"default-bold","left","top",false,false,false) dxDrawImage (10,y/2-20,16,11,coFlag,0,-120) end function renderPlayerLeft ( ) dxDrawColorText("#ffffff".. messageQuit,30,y/2,580.0,32.0,tocolor(0,0,255,170),1,"default-bold","left","top",false,false,false) dxDrawImage (10,y/2,16,16,"icon/quit.png",0,-120) end function renderPlayerNick ( ) dxDrawColorText("#ffffff".. messageNick,30,y/2+20,574.0,20.0,tocolor(200,0,0,255),1,"default-bold","left","top",false,false,false) dxDrawImage (10,y/2+20,16,16,"icon/nick.png",0,-120) end function renderPlayerLogin ( ) dxDrawColorText("#ffffff".. messageLogin,30,y/2+40,574.0,20.0,tocolor(200,0,0,255),1,"default-bold","left","top",false,false,false) dxDrawImage (10,y/2+40,16,16,"icon/login.png",0,-120) end function greetingHandler ( player, ulke, cFlag ) messageJoin = "#ffffff"..getPlayerName (player) .. " #ffffffhas joined the game." coFlag = ":admin/client/images/sxeflags/"..tostring ( cFlag )..".png" addEventHandler ( "onClientRender", root, renderPlayerJoined ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderPlayerJoined ) end ,6000,1 ) end addEvent( "onJoin", true ) addEventHandler( "onJoin", root, greetingHandler ) addEventHandler('onClientPlayerQuit', root, function(reason) messageQuit = "#ffffff" ..getPlayerName(source) .. " #ffffffhas left game. [#ffffff" .. reason .. "#ffffff]" addEventHandler ( "onClientRender", root, renderPlayerLeft ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderPlayerLeft ) end ,6000,1 ) end ) addEventHandler ( "onClientPlayerChangeNick", root, function ( oldNick, newNick ) messageNick = "#ffffff" ..oldNick.. " #ffffffis now known as #ffffff" ..newNick addEventHandler ( "onClientRender", root, renderPlayerNick ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderPlayerNick ) end ,6000,1 ) end ) function giris ( player ) messageLogin = "#ffffff"..getPlayerName (player) .. " #ffffffhas successfully logged in!" addEventHandler ( "onClientRender", root, renderPlayerLogin ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderPlayerLogin ) end ,6000,1 ) end addEvent( "onLogin", true ) addEventHandler( "onLogin", root, giris ) function cikis ( player ) messageLogin = "#ffffff"..getPlayerName (player) .. " #ffffffhas successfully logged out!" addEventHandler ( "onClientRender", root, renderPlayerLogin ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderPlayerLogin ) end ,6000,1 ) end addEvent( "onLogout", true ) addEventHandler( "onLogout", root, cikis ) Server addEventHandler('onPlayerJoin', getRootElement(), joinHandler) countryNames = { ['AD'] = 'Andorra', ['AE'] = 'United Arab Emirates', ['AF'] = 'Afghanistan', ['AG'] = 'Antigua and Barbuda', ['AI'] = 'Anguilla', ['AL'] = 'Albania', ['AM'] = 'Armenia', ['AO'] = 'Angola', ['AP'] = 'ARIPO', ['AR'] = 'Argentina', ['AT'] = 'Austria', ['AU'] = 'Australia', ['AW'] = 'Aruba', ['AZ'] = 'Azerbaijan', ['BA'] = 'Bosnia and Herzegovina', ['BB'] = 'Barbados', ['BD'] = 'Bangladesh', ['BE'] = 'Belgium', ['BF'] = 'Burkina Faso', ['BG'] = 'Bulgaria', ['BH'] = 'Bahrain', ['BI'] = 'Burundi', ['BJ'] = 'Benin', ['BM'] = 'Bermuda', ['BN'] = 'Brunei Darussalam', ['BO'] = 'Bolivia', ['BQ'] = 'Bonaire', ['BR'] = 'Brazil', ['BS'] = 'Bahamas', ['BT'] = 'Bhutan', ['BV'] = 'Bouvet Island', ['BW'] = 'Botswana', ['BY'] = 'Belarus', ['BZ'] = 'Belize', ['CA'] = 'Canada', ['CD'] = 'Congo', ['CF'] = 'Central African Republic', ['CG'] = 'Congo', ['CH'] = 'Switzerland', ['CI'] = 'Cote d?Ivoire', ['CK'] = 'Cook Islands', ['CL'] = 'Chile', ['CM'] = 'Cameroon', ['CN'] = 'China', ['CO'] = 'Colombia', ['CR'] = 'Costa Rica', ['CU'] = 'Cuba', ['CV'] = 'Cape Verde', ['CW'] = 'Curacao', ['CY'] = 'Cyprus', ['CZ'] = 'Czech Republic', ['DE'] = 'Germany', ['DJ'] = 'Djibouti', ['DK'] = 'Denmark', ['DM'] = 'Dominica', ['DO'] = 'Dominican Republic', ['DZ'] = 'Algeria', ['EC'] = 'Ecuador', ['EE'] = 'Estonia', ['EG'] = 'Egypt', ['EH'] = 'Western Sahara', ['ER'] = 'Eritrea', ['ES'] = 'Spain', ['ET'] = 'Ethiopia', ['FI'] = 'Finland', ['FJ'] = 'Fiji', ['FK'] = 'Malvinas', ['FO'] = 'Faroe Islands', ['FR'] = 'France', ['GA'] = 'Gabon', ['GB'] = 'United Kingdom', ['GD'] = 'Grenada', ['GE'] = 'Georgia', ['GG'] = 'Guernsey', ['GH'] = 'Ghana', ['GI'] = 'Gibraltar', ['GL'] = 'Greenland', ['GM'] = 'Gambia', ['GN'] = 'Guinea', ['GQ'] = 'Equatorial Guinea', ['GR'] = 'Greece', ['GT'] = 'Guatemala', ['GW'] = 'Guinea-Bissau', ['GY'] = 'Guyana', ['HN'] = 'Honduras', ['HR'] = 'Croatia', ['HT'] = 'Haiti', ['HU'] = 'Hungary', ['ID'] = 'Indonesia', ['IE'] = 'Ireland', ['IL'] = 'Israel', ['IM'] = 'Isle of Man', ['IN'] = 'India', ['IQ'] = 'Iraq', ['IR'] = 'Iran', ['IS'] = 'Iceland', ['IT'] = 'Italy', ['JE'] = 'Jersey', ['JM'] = 'Jamaica', ['JO'] = 'Jordan', ['JP'] = 'Japan', ['KE'] = 'Kenya', ['KG'] = 'Kyrgyzstan', ['KH'] = 'Cambodia', ['KI'] = 'Kiribati', ['KM'] = 'Comoros', ['KN'] = 'Saint Kitts and Nevis', ['KP'] = 'Korea', ['KR'] = 'Korea', ['KW'] = 'Kuwait', ['KY'] = 'Cayman Islands', ['KZ'] = 'Kazakhstan', ['LA'] = 'Lao People?s Republic', ['LB'] = 'Lebanon', ['LC'] = 'Saint Lucia', ['LI'] = 'Liechtenstein', ['LK'] = 'Sri Lanka', ['LR'] = 'Liberia', ['LS'] = 'Lesotho', ['LT'] = 'Lithuania', ['LU'] = 'Luxembourg', ['LV'] = 'Latvia', ['LY'] = 'Libyan Arab Jamahiriya', ['MA'] = 'Morocco', ['MC'] = 'Monaco', ['MD'] = 'Moldova', ['ME'] = 'Montenegro', ['MG'] = 'Madagascar', ['MK'] = 'Macedonia', ['ML'] = 'Mali', ['MM'] = 'Myanmar', ['MN'] = 'Mongolia', ['MO'] = 'Macao', ['MP'] = 'Northern Mariana Islands', ['MR'] = 'Mauritania', ['MS'] = 'Montserrat', ['MT'] = 'Malta', ['MU'] = 'Mauritius', ['MV'] = 'Maldives', ['MW'] = 'Malawi', ['MX'] = 'Mexico', ['MY'] = 'Malaysia', ['MZ'] = 'Mozambique', ['NA'] = 'Namibia', ['NE'] = 'Niger', ['NG'] = 'Nigeria', ['NI'] = 'Nicaragua', ['NL'] = 'Netherlands', ['NO'] = 'Norway', ['NP'] = 'Nepal', ['NR'] = 'Nauru', ['NZ'] = 'New Zealand', ['OM'] = 'Oman', ['PA'] = 'Panama', ['PE'] = 'Peru', ['PG'] = 'Papua New Guinea', ['PH'] = 'Philippines', ['PK'] = 'Pakistan', ['PL'] = 'Poland', ['PT'] = 'Portugal', ['PW'] = 'Palau', ['PY'] = 'Paraguay', ['QA'] = 'Qatar', ['RO'] = 'Romania', ['RS'] = 'Serbia', ['RU'] = 'Russian Federation', ['RW'] = 'Rwanda', ['SA'] = 'Saudi Arabia', ['SB'] = 'Solomon Islands', ['SC'] = 'Seychelles', ['SD'] = 'Sudan', ['SE'] = 'Sweden', ['SG'] = 'Singapore', ['SH'] = 'Saint Helena', ['SI'] = 'Slovenia', ['SK'] = 'Slovakia', ['SL'] = 'Sierra Leone', ['SM'] = 'San Marino', ['SN'] = 'Senegal', ['SO'] = 'Somalia', ['SR'] = 'Suriname', ['ST'] = 'Sao Tome and Principe', ['SV'] = 'Salvador', ['SX'] = 'Sint Maarten (Dutch part)', ['SY'] = 'Syrian Arab Republic', ['SZ'] = 'Swaziland', ['TC'] = 'Turks and Caicos Islands', ['TD'] = 'Chad', ['TG'] = 'Togo', ['TH'] = 'Thailand', ['TJ'] = 'Tajikistan', ['TL'] = 'Timor?Leste', ['TM'] = 'Turkmenistan', ['TN'] = 'Tunisia', ['TO'] = 'Tonga', ['TR'] = 'Turkey', ['TT'] = 'Trinidad and Tobago', ['TV'] = 'Tuvalu', ['TW'] = 'Taiwan', ['TZ'] = 'Tanzania', ['UA'] = 'Ukraine', ['UG'] = 'Uganda', ['US'] = 'United States of America', ['UY'] = 'Uruguay', ['UZ'] = 'Uzbekistan', ['VA'] = 'Holy See', ['VC'] = 'Saint Vincent', ['VE'] = 'Venezuela', ['VG'] = 'Virgin Islands', ['VN'] = 'Viet Nam', ['VU'] = 'Vanuatu', ['WS'] = 'Samoa', ['YE'] = 'Yemen', ['ZA'] = 'South Africa', ['ZZ'] = 'n/a', ['ZM'] = 'Zambia', } function showHome () local countryCode = exports["admin"]:getPlayerCountry(source) local flag = exports["admin"]:getPlayerCountry(source) setElementData(source,"country",tostring ( countryNames [ countryCode ] )) triggerClientEvent ( "onJoin", getRootElement(), source, tostring ( countryNames [ countryCode ] ), flag ) end addEventHandler("onPlayerJoin",getRootElement(),showHome) function login() triggerClientEvent ( "onLogin", getRootElement(), source ) end addEventHandler("onPlayerLogin", getRootElement(), login) function logout() triggerClientEvent ( "onLogout", getRootElement(), source ) end addEventHandler("onPlayerLogout", getRootElement(), logout)
  5. supongo que estas guiandote por los ejemplos de la wiki. bueno te explico, el outputchatbox contiene mas argumentgos, deberias leerlos y uno de esos es que se muestren los codigos hexadecimales. A diferencia del server, la funcion outputchatbox en clientside, no contiene el 2do argumento del server, que es al jugador que se el envia el mensaje. en este caso segimos con los sigentes argumentos function greetingHandler ( message ) outputChatBox ( "The server says: " .. message, 255,255,255,true )-- 255,255,255 son los RGB y el true, es para mostrar los hexadecimales end addEvent( "onGreeting", true ) addEventHandler( "onGreeting", getRootElement(), greetingHandler )
  6. y no pongas una funcion para cada modelo, has lo ke dice plate y metelas todas dentro de una funcion
  7. es lo mas simple para usar, ya que con resourcestart deberias usar un for-loop para hacer que funcione en todos los jugadores
  8. brad, creo que aun no entiendes que en el evento onresource start el primer parametro no es el jugador, es el resource, y tal como te lo dijo alexs_steel en un post anterior, usa un for De otra forma usa esto function nnColor() setPlayerNametagColor (source ,r,g,b) setPlayerNametagShowing ( source , true ) end addEventHandler("onPlayerSpawn",getRootElement(),nnColor) y claro que definas RGB Ahora, debo agregar que si usas setPlayerNametagColor, se vera en el scoreboard tambien. si quieres algo no tan colorido por todos lados, usa elementData PD: otra cosa, onResourceStart dice esto The source of this event is the root element in the resource that started. Por lo tanto source no funcionaria, en el ejemplo que yo di si funciona porq source es el jugador que ha dado spawn
  9. mi script contiene kills y deads. tambien un comando para admins para editar las kills https://community.multitheftauto.com/index.php?p= ... ls&id=5844 se guardan tal como quieres, lea la descripcion
  10. xDD carajo es que no se puede hablar nada serio en esta seccion. gracias nod, probare con el re6, tengo los otros 2 en ps3 y el re5, pero el re5 es bastante dificil, pero gracias Solid, jamas habia oido de ese juego, vere gameplays para ver que tan bueno es. gracias
  11. Lo ultimo que aria seria gastar disco duro en unas mierdas de graficos como minectaft Atouk ya he jugado warcraft pero hace años, asi que ahora vere como ando asi que algo entiendo del juego. Gracias
  12. Hola a todos, bueno les comento, hace bastantes meses me compre una laptop. Es bueno para mi trabajo, y mas comoda. Es una i5, 8gb de ram, y 1 gb de video compartida. Hasta ahora solo he jugado Skyrim y me va de maravillas, quisiera que me recomendaran algun juego, bueno, no online, pero que sea tan amplio como skyrim y sea asi rpg. Recibo sus recomendaciones Un abrazo
  13. el tema es que el GTA 5 solo podras verlo con un reproductor y en PS o Xbox no jajajaja
  14. No hablen mucho de Reqisuitos para PC porq hasta ahora solo se habla de PS y XBOX yo no me quejo xDD tengo mi PS3 esperando para jugar ese hermoso juego
  15. man eso no funcionara, el primer argumento de onResourceStart es el resource y no el jugador, como lo estas definiendo, imposible sacar las cordenadas del resource al cual definiste thePlayer lea la wiki https://wiki.multitheftauto.com/wiki/OnResourceStart
  16. setVehicleColor(vehicle,r,g,b,255,0,0) -- el segundo color sera el rojo Ve hay con los RGB si quieres que el segundo color del vehiculo sea el mismo que el primero entonces setVehicleColor(vehicle,r,g,b,r,g,b)
  17. Tienes tu MTA actualizado correctamente? los shaders exigen una version determinada minima de MTA, sino la tienes no te corren
  18. man, el problema del evento es porq los parametros de onResourseStart no incluye un player. el primer parametro es el resource. lee la wiki y veras https://wiki.multitheftauto.com/wiki/OnResourceStart
  19. si el evento que usaras para esa funcion indica que el primer argumento es el jugador, si. Si el primer argumento indica el vehiculo, miskamas... sera el vehiculo
  20. osea, puedes llamar al argumento que indica al jugador de cualquiera manera, eso no variara.
  21. te dejo mi script de sistema de chat completo, De todos modos lo iva a subir a la comunidad. local chatRadius = 70 function sendMessageToNearbyPlayers ( message, messageType ) if ( messageType == 0 ) then local posX, posY, posZ = getElementPosition ( source ) local red, green, blue = getPlayerNametagColor ( source ) local chatSphere = createColSphere ( posX, posY, posZ, chatRadius ) local nearbyPlayers = getElementsWithinColShape ( chatSphere, "player" ) destroyElement ( chatSphere ) for index, nearbyPlayer in ipairs( nearbyPlayers ) do local team = getPlayerTeam(source) if (team) then red, green, blue = getTeamColor( team ) end outputChatBox( "("..#nearbyPlayers..")"..getPlayerName ( source )..": #ffffff".. message, nearbyPlayer, red, green, blue, true ) end cancelEvent ( ) end end addEventHandler ( "onPlayerChat", getRootElement(), sendMessageToNearbyPlayers ) addEventHandler("onPlayerJoin",getRootElement(), function () bindKey(source,"u","down","chatbox","City") end) addEventHandler("onResourceStart",getResourceRootElement(getThisResource()), function () for index, player in pairs(getElementsByType("player")) do bindKey(player,"u","down","chatbox","City") end end) function CityChat(P,_,...) local r, g, b = getPlayerNametagColor ( P ) local city = getElementData ( P, "City" ) local message = table.concat({...}, " ") if ( city and city ~= "Downloading.." ) then for index, playersCity in ipairs ( getElementsByType ( "player" ) ) do if ( getElementData ( playersCity, "City" ) == city ) then if not isPlayerMuted ( P ) then outputChatBox ("("..city..")"..getPlayerName(P) ..": #FFFFFF".. message, playersCity, r, g, b, true ) else exports.errorwindow: show ( P, "error", "You are Muted", 4000, "Error",false) end end end end end addCommandHandler("City",CityChat) function onChatCar(player,_,...) local msg = table.concat({...}, " ") local nick = getPlayerName(player) local r, g, b = getPlayerNametagColor ( player ) local vehicle = getPedOccupiedVehicle(player) local occupants = getVehicleOccupants(vehicle) local seats = getVehicleMaxPassengers(vehicle) if isPedInVehicle (player) then for seat = 0, seats do local occupant = occupants[seat] if occupant and getElementType(occupant)=="player" then outputChatBox("(Car Chat)"..(nick)..": #FFFFFF"..(msg).." ", occupant, r, g, b, true) end end else exports.errorwindow: show ( player, "error", "Debes estar dentro de un vehiculo para usar /cc", 2000, "Error",false) end end addCommandHandler("cc",onChatCar) function onChatGlobal(player,_,...) local msg = table.concat({...}, " ") local nick = getPlayerName(player) local uMoney = getPlayerMoney(player) local r, g, b = getPlayerNametagColor ( player ) if not isPlayerMuted ( player ) then if (uMoney >= 2000 ) then outputChatBox("(Global)"..(nick)..": #FFFFFF"..(msg) , getRootElement(), r, g, b, true ) exports.errorwindow: show ( player, "info", "Taken #ff0000-$2000#ffffff for use Global Chat", 2000, "Informacion",false) takePlayerMoney(player,2000) else exports.errorwindow: show ( player, "error", "You Need #00ff00-$2000#ffffff to use Global Chat", 2000, "Informacion",false) end else exports.errorwindow: show ( player, "error", "You are muted", 4000, "Error",false) end end addCommandHandler("Global",onChatGlobal) function onChatG(player,_,...) local account = getPlayerAccount(player) if isObjectInACLGroup( 'user.'..getAccountName( account ), aclGetGroup( 'Admin' ) ) then local msg2 = table.concat({...}, " ") local nick2 = getPlayerName(player) local r, g, b = getPlayerNametagColor ( player ) outputChatBox("(Admin)"..(nick2)..": #FFFFFF"..(msg2) , getRootElement(), r, g, b, true ) end end addCommandHandler("Admin",onChatG) function onChatSm(player,_,...) local account = getPlayerAccount(player) if isObjectInACLGroup( 'user.'..getAccountName( account ), aclGetGroup( 'SuperModerator' ) ) then local msg2 = table.concat({...}, " ") local nick2 = getPlayerName(player) local r, g, b = getPlayerNametagColor ( player ) outputChatBox("(S.Mod)"..(nick2)..": #FFFFFF"..(msg2) , getRootElement(), r, g, b, true ) end end addCommandHandler("Smod",onChatSm) addEventHandler ( "onPlayerChat", getRootElement(), function ( message, messageType ) if messageType == 1 then cancelEvent() end end) Edita lo que puedas
  22. BorderLine

    Zonas

    aver amigo, primero que nada, deberias leer esto viewtopic.php?f=122&t=59515 y esto viewtopic.php?f=122&t=40101 En pocas palabras, no puedes venir aqui a pedir "ayuda" o exigir un script, Primero que nada, todos estan ocupados en sus propios proyectos, y si no vas a poner de tu parte para estudiar la programacion lua, entonces no puedes venir a pedir cosas y que las hagan por ti.
  23. el tema de player, no siempre sera igual, eso dependera del evento que estes usando por ejemplo en onVehicleDamage el primer argumento es la cantidad de daño que recibe el vehiculo, y source es el vehiculo por ejemplo el ejemplo de la wiki function displayVehicleLoss(loss) local thePlayer = getVehicleOccupant(source) if(thePlayer) then -- Check there is a player in the vehicle outputChatBox("Your vehicle just lost " .. tonumber(loss) .. " health.", thePlayer) -- Display the message end end addEventHandler("onVehicleDamage", getRootElement(), displayVehicleLoss) en este caso tubimos que definir el player con thePlayer usando la funcion getVehicleOccupant y source, como ya dijimos es el vehiculo. Pero tienes que fijarte en los parametros de los eventos.
  24. usa los tags [ lua ] [ /lua ] y con respecto a ponerle 2 colores. las lineas 169 y 173, hay defines el color del vehiculo, solo estan los primeros 3 colores, agregale 3 mas
  25. getPlayerTeam getTeamColor setVehicleColor "onVehicleEnter"
×
×
  • Create New...