-
Posts
1,102 -
Joined
Everything posted by Enargy,
-
Ya funciona. vehiculos = { {411}, --{"nombreDeSkin", ID} } Horns2 = guiCreateGridList(10, (260 - 191) / 2, 104, 191, false) usar2 = guiCreateButton(267 - 100 - 10, (260 - 70) / 2, 100, 70, "Usar", false, window2) cerrar2 = guiCreateButton(128, 157, 85, 34, "Cerrar", false) guiSetFont(usar2, "sa-header") guiGridListAddColumn(Horns2, "Autos Vip", 0.9) for i,v in pairs (vehiculos) do local vehicle = getVehicleNameFromID(v[1]) local row = guiGridListAddRow (Horns2) guiGridListSetItemText (Horns2, row, 1, vehicle, false, true) end local player = getLocalPlayer() addEventHandler("onClientGUIClick", root, function() if source == usar2 then local row, column = guiGridListGetSelectedItem(Horns2) if ( row ~= guiGridListGetRowCount ( Horns2 ) and column ~= 0 ) then local vehicleID = guiGridListGetItemText ( Horns2, row, 1 ) triggerServerEvent("onPlayerRequestVehicleVIP", player, vehicleID) --outputChatBox( vehicleID ) end end end) @Blue Pie, v[1] son los valor que hay dentro de la tabla que se exporta cuando se usa algún looping, i es el indice inicial de los valores. creo que no me explique bien .
-
Client. vehiculos = { {411}, --{"nombreDeSkin", ID} } Horns = guiCreateGridList(10, (260 - 191) / 2, 104, 191, false) usar = guiCreateButton(267 - 100 - 10, (260 - 70) / 2, 100, 70, "Usar", false, window2) guiSetFont(usar, "sa-header") guiGridListAddColumn(Horns, "Autos Vip", 0.9) for i,v in ipairs (vehiculos) do local vehicle = getVehicleNameFromID(v[1]) local row = guiGridListAddRow (Horns) guiGridListSetItemText (Horns, row, 1, vehicle, false, true) end local player = getLocalPlayer() addEventHandler("onClientGUIClick", root, function() if source == usar then local vehRow, column = guiGridListGetItemText (Horns, guiGridListGetSelectedItem (Horns), 2) if ( vehRow ~= 0 and column ~= 0 ) then triggerServerEvent("onPlayerRequestVehicleVIP", player, vehRow) --outputChatBox( row ) end end end) Server. addEvent("onPlayerRequestVehicleVIP", true) addEventHandler("onPlayerRequestVehicleVIP", root, function( vehicle ) if ( vehicle ) then local vehicleID = getVehicleIDFromName(vehicle) local x,y,z = getElementPosition( source ); x = x + 5 vipCar = createVehicle( vehicleID, x, y, z ); return true; end end)
-
Pues si pero en lugar de usar los nombres, puedes usar IDs (es mas facil). vehiculos = { --Precio {411}, {529}, {502}, }
-
El mismo codigo que te di y lo que tambien te dió Blue Pie, le agregas mas valores e.g: vehiculos = { --Precio {"Infernus", 20000}, {"Turismo", 30000}, {"Comet", 20000}, -- etc etc etc... } luego en el serverside, en lugar del setElementModel usas createVehicle, definiendo la posición actual del jugador. Querrás decir getVehicleNameFromID
-
Prueba... skins = { {"Skin1", 256}, --{"nombreDeSkin", ID} } Horns = guiCreateGridList(10, (260 - 191) / 2, 104, 191, false) usar = guiCreateButton(267 - 100 - 10, (260 - 70) / 2, 100, 70, "Usar", false, window2) guiSetFont(usar, "sa-header") guiGridListAddColumn(Horns, "Skins Vip", 0.9) guiGridListAddColumn(Horns, "ID", 0.5) for i,v in ipairs (skins) do local skinIDs, idModel = v[1], v[2] local row = guiGridListAddRow (Horns) guiGridListSetItemText (Horns, row, 1, skinIDs, false, true) guiGridListSetItemText (Horns, row, 2, idModel, false, true) end local player = getLocalPlayer() addEventHandler("onClientGUIClick", root, function() if source == usar then local skinRow, column = guiGridListGetItemText (Horns, guiGridListGetSelectedItem (Horns), 2) if ( skinRow ~= 0 and column ~= 0 ) then triggerServerEvent("skin1", player, skinRow) --outputChatBox( row ) end end end) y en serverside seria asi: addEvent("skin1", true) addEventHandler("skin1", root, function( skin ) if ( skin ) then setElementModel( source, tonumber(skin) ); return true; end end)
-
Serverside... g_ResRoot = getResourceRootElement( getThisResource() ); function toggleNOS( thePlayer, key, state ) if isPlayerIsAdmin( thePlayer ) then local veh = getPedOccupiedVehicle( thePlayer ); if veh then if state == "up" then removeVehicleUpgrade( veh, 1010 ); else addVehicleUpgrade( veh, 1010 ); end end end end function isPlayerIsAdmin( player ) if isObjectInACLGroup("user."..getAccountName(getPlayerAccount( player )), aclGetGroup("Admin")) then return true end return false end addEventHandler( "onResourceStart", g_ResRoot, function( ) for index, g_Me in ipairs(getElementsByType("player")) do bindKey(g_Me, "vehicle_fire", "both", toggleNOS ); bindKey(g_Me, "vehicle_secondary_fire", "both", toggleNOS ); end end ) addEventHandler( "onPlayerJoin", root, function( ) bindKey(source, "vehicle_fire", "both", toggleNOS ); bindKey(source, "vehicle_secondary_fire", "both", toggleNOS ); end )
-
Formato RGB = 255, 255, 255. Hexadecimal = #FFFFFF (BLANCO).
-
Intentaste reinstalar MTA?
-
Si dices que el dueño te lo paso pues nunca mencionaste que eran de X persona y te llevaste el credito... eso es teoricamente robo. Admito que el que comenzo el rollo fui yo al poner 'stolen' (lo que significa robado en ingles), y fue por que dije anteriormente. Publicando cosas que no fueron hechas por ti. En lo general es mejor ser un novato en el scripting o no saber nada y tener dinero para pagarle a un pro en lugar de usar resources de otros y hacerse copyright a si mismo. Dices tener 16 años pero con mente de niñito lloron, ademas de una ortografia hermosa que tienes...
-
Entonces deja de hacer off topic lol, sigues posteando lo mismo...
-
Efectivamente, son antiguos scripts de SX .
-
Tambien puedes usar la useful isMouseInPosition para poder ejecutar X funcion por coordenadas distintas. ` Code - coloca esto en tu client script. function isMouseInPosition ( x, y, width, height ) if ( not isCursorShowing ( ) ) then return false end local sx, sy = guiGetScreenSize ( ) local cx, cy = getCursorPosition ( ) local cx, cy = ( cx * sx ), ( cy * sy ) if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then return true else return false end end Sintaxis. x -- posicion X del boton. y -- posicion Y del boton. width -- el ancho del boton. height -- la altura de si. bool isMouseInPosition ( int x, int y, int width, int height ) PD: Usando el evento que te dijo pimpollo con esto, funcionara.
-
Pues por lo que puede ocurrirte esto seria en la condicional, isPlayerInFaction no usa string en lugar de numeros? isPlayerInFaction( player, string team )
-
Encontre setServerConfigSetting quizas pueda funcionarte para algo relacionado.
-
Errores en /debugscript 3 ?
-
El shutdown reinicia el servidor cuando es hosteado, pero localmente se apaga... es decir que si tu servidor lo hosteas en tu maquina se apaga.
-
Pues que se les cierra cuando entran. Logic
-
Escribiste 'scrypt'. Es script
-
Si es un problema entonces borra el timer .
-
En ese caso deberias de hacer un sistema de guardado para que el servidor guarde los blips en todas las cuentas y luego cargarlas al momento de entrar al servidor, supongo..
-
Pasa que lo ise asi... Server: addEventHandler( "onPlayerWasted", root, function () if ( getTickCount ( ) - TiempoPr4 >= 5000 ) then local x,y,z = getElementPosition (source) counterddd = counterddd + 1 triggerClientEvent ( "BlipMuerto", source,x,y,z ,counterddd ) TiempoPr4 = getTickCount ( ) end end) client local Death = {} function Blip2 (x,y,z,counterddd) Death[counterddd] = exports.customblips:createCustomBlip ( x,y, 5, 5, "suddenDeath2.png" ) setTimer ( function () if Death[counterddd] then exports.customblips:destroyCustomBlip(Death[counterddd]) end end, 2700000, 1) end addEventHandler("BlipMuerto", getRootElement(), Blip2) Funciona bien, pero los blip se crean apartir de cuando el usuario conecta, si el desconecta y vuelve a conectar ya no ve los anteriores solo los nuevos... Pero se estan creando cuando el player muere... y tambien olvidaste addEvent en client.
-
Postea el meta por favor.
-
Eso no tiene nada que ver, dependiendo de como es creado el blip. Si alguien entra al servidor o cuando inicia el resource( lo cual no se crea para la persona que ha entrado ).