-
Posts
551 -
Joined
-
Last visited
Everything posted by depato123
-
Encontre un resource de garages, osea que se crea un pickup y precionas una tecla y entras a un garage. la verdad no se como funciona y no entiendo nada ¿alguien me ayuda? local vehicles = { } -- check all existing vehicles for interiors addEventHandler( "onResourceStart", getResourceRootElement( ), function( ) for key, value in ipairs( getElementsByType( "vehicle" ) ) do add( value ) end end ) -- cleanup code addEventHandler( "onElementDestroy", getRootElement( ), function( ) if vehicles[ source ] then destroyElement( vehicles[ source ] ) vehicles[ source ] = nil end end ) addEventHandler( "onResourceStop", getResourceRootElement( ), function( ) for key, value in ipairs( getElementsByType( "vehicle" ) ) do if getElementData( value, "entrance" ) then exports['anticheat-system']:changeProtectedElementDataEx( value, "entrance" ) end end end ) -- code to create the pickup and set properties local function addInterior( vehicle, targetx, targety, targetz, targetinterior ) local intpickup = createPickup( targetx, targety, targetz, 3, 1318 ) setElementDimension( intpickup, getElementData( vehicle, "dbid" ) + 20000 ) setElementInterior( intpickup, targetinterior ) vehicles[ vehicle ] = intpickup exports['anticheat-system']:changeProtectedElementDataEx( vehicle, "entrance", true ) end -- exported, called when a vehicle is created function add( vehicle ) if getElementModel( vehicle ) == 519 then -- Shamal addInterior( vehicle, 3.8, 23.1, 1199.6, 1 ) return true, 1 -- interior id elseif getElementModel( vehicle ) == 508 or getElementModel( vehicle ) == 484 or getElementModel( vehicle ) == 454 then addInterior( vehicle, 1.9, -3.2, 999.4, 2 ) return true, 2 else return false end end -- enter over right click menu function teleportTo( player, x, y, z, dimension, interior, freeze ) fadeCamera( player, false, 1 ) setTimer( function( player ) setElementDimension( player, dimension ) setElementInterior( player, interior ) setCameraInterior( player, interior ) setElementPosition( player, x, y, z ) triggerEvent( "onPlayerInteriorChange", player ) setTimer( fadeCamera, 1000, 1, player, true, 2 ) end, 1000, 1, player ) end addEvent( "enterVehicleInterior", true ) addEventHandler( "enterVehicleInterior", getRootElement( ), function( vehicle ) if vehicles[ vehicle ] then if isVehicleLocked( vehicle ) then outputChatBox( "You try the door handle, but it seems to be locked.", source, 255, 0, 0 ) else local exit = vehicles[ vehicle ] local x, y, z = getElementPosition(exit) local teleportArr = { x, y, z, getElementInterior(exit), getElementDimension(exit), 0, 0 } triggerClientEvent(source, "setPlayerInsideInterior", vehicle, teleportArr, 0) end end end ) function leaveInterior( player ) local dim = getElementDimension( player ) - 20000 for value in pairs( vehicles ) do if getElementData( value, "dbid" ) == dim then if isVehicleLocked( value ) then outputChatBox( "You try the door handle, but it seems to be locked.", player, 255, 0, 0 ) else local x, y, z = getElementPosition( value ) local xadd, yadd, zadd = 0, 0, 2 if (getElementModel(value) == 454) then -- Tropic xadd, yadd, zadd = 0, 0, 4 end local teleportArr = { x + xadd, y + yadd, z + zadd, getElementInterior(value), getElementDimension(value) } triggerClientEvent(player, "setPlayerInsideInterior", player, teleportArr, 0) return end end end end -- cancel picking up our pickups function isInPickup( thePlayer, thePickup, distance ) if not isElement(thePickup) then return false end local ax, ay, az = getElementPosition(thePlayer) local bx, by, bz = getElementPosition(thePickup) return getDistanceBetweenPoints3D(ax, ay, az, bx, by, bz) < ( distance or 2 ) and getElementInterior(thePlayer) == getElementInterior(thePickup) and getElementDimension(thePlayer) == getElementDimension(thePickup) end function isNearExit( thePlayer, theVehicle ) return isInPickup( thePlayer, vehicles[ theVehicle ] ) end function checkLeavePickup( player, pickup ) if isElement( player ) then if isInPickup( player, pickup ) then setTimer( checkLeavePickup, 500, 1, player, pickup ) else unbindKey( player, "f", "down", leaveInterior ) end end end addEventHandler( "onPickupHit", getResourceRootElement( ), function( player ) bindKey( player, "f", "down", leaveInterior ) setTimer( checkLeavePickup, 500, 1, player, source ) cancelEvent( ) end ) -- make sure we blow addEventHandler( "onVehicleRespawn", getRootElement( ), function( blown ) if blown and vehicles[ source ] then local dim = getElementData( source ) + 20000 for k, v in ipairs( getElementsByType( "player" ) ) do if getElementDimension( v ) == dim then killPed( v, 0 ) end end end end ) function vehicleKnock(veh) local player = source if (player) then local tpd = getElementDimension(player) if (tpd > 20000) then local vid = tpd - 20000 for key, value in ipairs( getElementsByType( "vehicle" ) ) do if getElementData( value, "dbid" ) == vid then exports.global:sendLocalText(player, " *" .. getPlayerName(player):gsub("_"," ") .. " begins to knock on the vehicle.", 255, 51, 102) exports.global:sendLocalText(value, " * Knocks can be heard coming from inside the vehicle. * ((" .. getPlayerName(player):gsub("_"," ") .. "))", 255, 51, 102) end end else if vehicles[veh] then local exit = vehicles[veh] if (exit) then exports.global:sendLocalText(player, " *" .. getPlayerName(player):gsub("_"," ") .. " begins to knock on the vehicle.", 255, 51, 102) exports.global:sendLocalText(exit, " * Knocks can be heard coming from the outside. * ((" .. getPlayerName(player):gsub("_"," ") .. "))", 255, 51, 102) end end end end end addEvent("onVehicleKnocking", true) addEventHandler("onVehicleKnocking", getRootElement(), vehicleKnock)
-
Si, el setpedFrozen que ya lo cambie por setElementFrozen pero eso ya no da errores y el problema es que... voy a subir imagenes 1º: Marker ramplazado por pickup: Exitoso 2º: Panel del house system: esto no fue cambiado 3º: Panel de contraseña: esto no fue cambiado 4º: No se que descripción poner 5º: Pongo la contraseña y le doy a "Confirm" pero no sucede nada Esas son las imágenes del problema que tengo con el resource Ayudaaaaaaa
-
Muy bien zero...
-
¿Como puedo cambiar la textura? ¿como modelo?
-
¿Se pueden cambiar las texturas de las ruedas de los autos por otras texturas?
-
D: ahora cuando le doy click al botón de entrar a la casa creada, el botón no responde local sql = { Query = executeSQLQuery }; addEventHandler( 'onResourceStart', resourceRoot, function() sql.Query( "CREATE TABLE IF NOT EXISTS house_data (\ ID INTEGER, en_X REAL, en_Y REAL, en_Z REAL,\ en_tX REAL, en_tY REAL, en_tZ REAL,\ ex_X REAL, ex_Y REAL, ex_Z REAL,\ ex_tX REAL, ex_tY REAL, ex_tZ REAL,\ int INTEGER, dim INTEGER, cost INTEGER, owner TEXT, key TEXT )" ); for i, v in ipairs( getElementsByType( 'player' ) ) do setElementData( v, 'k_len', tonumber( get( 'keyLength' ) ) ); local acc = getPlayerAccount( v ); if not isGuestAccount( acc ) then setElementData( v, 'HS_accountName', getAccountName( acc ) ); end; setElementData( v, 'mrk_in', nil ); end; local hr = sql.Query( "SELECT * FROM house_data" ); for i = 1, #hr do createHouse( false, hr[i].ID, hr[i].owner, hr[i].key, hr[i].en_X, hr[i].en_Y, hr[i].en_Z, hr[i].en_tX, hr[i].en_tY, hr[i].en_tZ, hr[i].ex_X, hr[i].ex_Y, hr[i].ex_Z, hr[i].ex_tX, hr[i].ex_tY, hr[i].ex_tZ, hr[i].int, hr[i].dim, hr[i].cost ); end; end ); addEventHandler( 'onResourceStop', resourceRoot, function() for i, v in ipairs( getElementsByType( 'player' ) ) do setElementData( v, 'k_len', nil ); setElementData( v, 'HS_accountName', nil ); end; end ); addEventHandler( 'onPlayerJoin', root, function() setElementData( source, 'k_len', tonumber( get( 'keyLength' ) ) ); end ); addEventHandler( 'onPlayerLogin', root, function( _, acc ) setElementData( source, 'HS_accountName', getAccountName( acc ) ); end ); addEventHandler( 'onPlayerLoout', root, function( _, acc ) setElementData( source, 'HS_accountName', nil ); end ); addCommandHandler( 'hpanel', function( player ) if isObjectInACLGroup( 'user.'..getAccountName( getPlayerAccount( player ) ), aclGetGroup( 'Admin' ) ) or hasObjectPermissionTo( player, 'function.banPlayer', false ) then if not getElementData( player, 'HP_Opened' ) and not getElementData( player, 'mrk_in' ) then triggerClientEvent( player, 'HP_SetVisible', root, true ); end; else outputChatBox( '* Access denied for this command!', player, 255, 36, 51 ); end; end ); addEvent( 'onPlayerAttemptCreateHouse', true ); addEventHandler( 'onPlayerAttemptCreateHouse', root, function( rt ) createHouse( true, #sql.Query( "SELECT * FROM house_data" ) + 1, '', '', unpack( rt ) ); outputChatBox( '* The new house has been created successfully!', client, 255, 255, 0 ); end ); function createHouse( add, ID, owner, key, eX, eY, eZ, etX, etY, etZ, exX, exY, exZ, extX, extY, extZ, int, dim, cost ) if add then sql.Query( "INSERT INTO house_data ( ID, en_X, en_Y, en_Z, en_tX, en_tY, en_tZ, ex_X, ex_Y, ex_Z, ex_tX, ex_tY, ex_tZ, int, dim, cost, owner, key ) VALUES ( "..ID..", "..eX..", "..eY..", "..eZ..", "..etX..", "..etY..", "..etZ..", "..exX..", "..exY..", "..exZ..", "..extX..", "..extY..", "..extZ..", "..int..", "..dim..", "..cost..", '', '' )" ); end; local m_Enter = createPickup( eX, eY, eZ - 1, 'cylinder', 1.25, 0, 153, 255, 150 ); setElementData( m_Enter, 'HS_INFO', { etX, etY, etZ, int, dim, cost, owner, key, ID } ); if getElementData( m_Enter, 'HS_INFO' )[7] ~= '' then setMarkerColor( m_Enter, 255, 51, 36, 150 ); end; addEventHandler( 'onPickupHit', m_Enter, function( player ) if getElementType( player ) == 'player' and not getPedOccupiedVehicle( player ) then if not getElementData( player, 'HP_Opened' ) then if not isGuestAccount( getPlayerAccount( player ) ) then setElementData( player, 'mrk_in', getElementData( source, 'HS_INFO' )[9] ); onPlayerHouseMarkerHit( player, source, true ); setPedFrozen( player, true ); else outputChatBox( '* You must be logged in to get in this house!', player, 255, 51, 36 ); end; end; end; end ); addEventHandler( 'onMarkerLeave', m_Enter, function( player ) if getElementType( player ) == 'player' and not getPedOccupiedVehicle( player ) then setElementData( player, 'mrk_in', nil ); end; end ); local m_Exit = createMarker( exX, exY, exZ - 1, 'cylinder', 1.25, 0, 153, 255, 150 ); setElementData( m_Exit, 'parent', m_Enter ); setElementInterior( m_Exit, int ); setElementDimension( m_Exit, dim ); setElementData( m_Exit, 'extX', extX ); setElementData( m_Exit, 'extY', extY ); setElementData( m_Exit, 'extZ', extZ ); addEventHandler( 'onMarkerHit', m_Exit, function( player, dim ) if getElementType( player ) == 'player' and dim then toggleAllControls( player, false ); fadeCamera( player, false ); setTimer( function( player, mrk ) if getPedOccupiedVehicle( player ) then removePedFromVehicle( player ); end; local x, y, z = getElementData( mrk, 'extX' ), getElementData( mrk, 'extY' ), getElementData( mrk, 'extZ' ); setElementPosition( player, x, y, z ); setElementInterior( player, 0 ); setElementDimension( player, 0 ); toggleAllControls( player, true ); fadeCamera( player, true ); end, 1200, 1, player, source ); end; end ); end; function onPlayerHouseMarkerHit( player, mrk, cursor ) local acc = getPlayerAccount( player ); if isGuestAccount( acc ) then outputChatBox( '* You must be logged in to get in this house!', player, 255, 51, 36 ); setElementData( player, 'mrk_in', nil ); return false; end; local tts = { [1] = true, [2] = false, [3] = false, [4] = true, [5] = false, [6] = false }; if isObjectInACLGroup( 'user.'..getAccountName( acc ), aclGetGroup( 'Admin' ) ) or hasObjectPermissionTo( player, 'function.banPlayer', false ) then tts[6] = true; end; local owner = getElementData( mrk, 'HS_INFO' )[7]; local accName = getAccountName( acc ); if owner == accName then tts[1] = false; tts[2] = true; tts[3] = true; tts[4] = true; tts[5] = true; end; if owner ~= accName and owner ~= '' then tts[1] = false; end; if owner == '' then if isObjectInACLGroup( 'user.'..getAccountName( acc ), aclGetGroup( 'Admin' ) ) or hasObjectPermissionTo( player, 'function.banPlayer', false ) then tts[4] = true; else tts[4] = false; end; end; tts[7] = getElementData( mrk, 'HS_INFO' )[9]; tts[8] = getElementData( mrk, 'HS_INFO' )[7]; tts[9] = getElementData( mrk, 'HS_INFO' )[6]; triggerClientEvent( player, 'openHouseManagementWnd', root, tts, cursor ); end; addEvent( 'HOUSE_Buy', true ); addEventHandler( 'HOUSE_Buy', root, function( cost, key ) local accName = getAccountName( getPlayerAccount( client ) ); local houseCounter = 0; for i, v in ipairs( getElementsByType( 'marker', getResourceRootElement() ) ) do if getElementData( v, 'HS_INFO' ) then local owner = getElementData( v, 'HS_INFO' )[7]; if owner == accName then houseCounter = houseCounter + 1; end; end; end; if houseCounter >= tonumber( get( 'playerHouseCounter' ) ) then outputChatBox( '* You can not buy more than #00FF00'..get( 'playerHouseCounter' )..' house(-s)#FF3324 at the same time!', client, 255, 51, 36, true ); return false; end; if getPlayerMoney( client ) >= tonumber( cost ) then outputChatBox( '* Key has been set to #00FF00'..key, client, 255, 51, 36, true ); outputChatBox( '* Congratulations! You have bought a house!', client, 255, 255, 0 ); sql.Query( "UPDATE house_data SET owner = '"..accName.."', key = '"..key.."' WHERE ID = ?", getElementData( client, 'mrk_in' ) ); takePlayerMoney( client, cost ); local mrk = getHouseByID( getElementData( client, 'mrk_in' ) ); local t = {}; for i = 1, 6 do t[i] = getElementData( mrk, 'HS_INFO' )[i]; end; t[7] = accName; t[8] = key; t[9] = getElementData( client, 'mrk_in' ); setElementData( mrk, 'HS_INFO', { t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9] } ); setMarkerColor( mrk, 255, 51, 36, 150 ); setTimer( onPlayerHouseMarkerHit, 50, 1, client, mrk, true ); else outputChatBox( '* You do not have enough money!', client, 255, 51, 36 ); onPlayerHouseMarkerHit( client, getHouseByID( getElementData( client, 'mrk_in' ) ), true ); end; end ); addEvent( 'HOUSE_Sell', true ); addEventHandler( 'HOUSE_Sell', root, function() sql.Query( "UPDATE house_data SET owner = '', key = '' WHERE ID = ?", getElementData( client, 'mrk_in' ) ); local mrk = getHouseByID( getElementData( client, 'mrk_in' ) ); givePlayerMoney( client, getElementData( mrk, 'HS_INFO' )[6] / 2 ); local t = {}; for i = 1, 6 do t[i] = getElementData( mrk, 'HS_INFO' )[i]; end; t[7] = ''; t[8] = ''; t[9] = getElementData( client, 'mrk_in' ); setElementData( mrk, 'HS_INFO', { t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9] } ); setMarkerColor( mrk, 0, 153, 255, 150 ); setTimer( onPlayerHouseMarkerHit, 50, 1, client, mrk, false ); end ); addEvent( 'HOUSE_Enter', true ); addEventHandler( 'HOUSE_Enter', root, function() local mrk = getHouseByID( getElementData( client, 'mrk_in' ) ); local t = {}; for i = 1, 5 do t[i] = getElementData( mrk, 'HS_INFO' )[i]; end; fadeCamera( client, false ); toggleAllControls( client, false ); setTimer( function( player, t ) if getPedOccupiedVehicle( player ) then removePedFromVehicle( player ); end; setElementInterior( player, t[4], t[1], t[2], t[3] ); setElementDimension( player, t[5] ); toggleAllControls( player, true ); fadeCamera( player, true ); setElementData( player, 'mrk_in', nil ) end, 1200, 1, client, t ); end ); addEvent( 'HOUSE_ChangeKey', true ); addEventHandler( 'HOUSE_ChangeKey', root, function( newKey ) local mrk = getHouseByID( getElementData( client, 'mrk_in' ) ); sql.Query( "UPDATE house_data SET key = '"..newKey.."' WHERE ID = ?", getElementData( client, 'mrk_in' ) ); local t = {}; for i = 1, 6 do t[i] = getElementData( mrk, 'HS_INFO' )[i]; end; t[7] = getAccountName( getPlayerAccount( client ) ); t[8] = newKey; t[9] = getElementData( client, 'mrk_in' ); setElementData( mrk, 'HS_INFO', { t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9] } ); end ); addEvent( 'HOUSE_ChangeOwner', true ); addEventHandler( 'HOUSE_ChangeOwner', root, function( name ) local mrk = getHouseByID( getElementData( client, 'mrk_in' ) ); local accName = getAccountName( getPlayerAccount( getPlayerFromName( name ) ) ); sql.Query( "UPDATE house_data SET owner = '"..accName.."' WHERE ID = ?", getElementData( client, 'mrk_in' ) ); local res = sql.Query( "SELECT key, owner FROM house_data WHERE ID = ?", getElementData( client, 'mrk_in' ) ); local t = {}; for i = 1, 6 do t[i] =
-
D: Ahora solo a el usuario le cambia el skin osea que en el server no se ve, solo el usuario ve su skin cambiado ¿como puedo solucionar esto? PD: el script esta en client side
-
¿nadie sabe como extraer el velocímetro y el sistema de gasolina¿
-
¿como hago eso? intente fijarme en la wiki pero no encontré la función de theDriver
-
la cambie por killer pero sigo teniendo ese error, ahora subo imágenes del debugs cript
-
addEventHandler ("onPlayerWasted", getRootElement(), function (totalAmmo, killPed, killPedWeapon, bodypart, stealth) setPlayerWantedLevel (source, 0) if (getPlayerNametagText (source) == "[P]" .. getPlayerName (source)) then outputChatBox ("* " .. getPlayerName (source) .. " no es mas policia.", getRootElement(), 0, 0, 255, false) setPlayerNametagText (source, getPlayerName (source)) elseif (getElementType(killPed) == "player") and (killPed) and (killPed ~= source) and not (getPlayerNametagText (source) == "[COP]" .. getPlayerName (source)) then setPlayerWantedLevel (killPed, getPlayerWantedLevel (killPed) +1) elseif (getElementType(killPed) == "player") and (killPed) and (killPed ~= source) and (getPlayerNametagText (source) == "[COP]" .. getPlayerName (source)) then setPlayerWantedLevel (killPed, getPlayerWantedLevel (killPed) +2) end end) Me sale error en el debug script en la linea 7 y 9 sobre el "getElementType"
-
--Mecánico function fixCar (player,command) skin = getPedSkin (player) if ( skin == 50 ) then local vehicle = getPedOccupiedVehicle(player) if (vehicle) then fixVehicle(vehicle) givePlayerMoney (player,250) takePlayerMoney (theDriver, 250) end end end addCommandHandler("repair" , fixCar) addCommandHandler("rp" , fixCar) Yo quiero que cuando el mecánico (skin 50) diga el comando /rp, dentro del auto roto, el auto se repare y al conductor le quite 250$ y también que le de 250$ al que dijo el comando /rp o /repair, intente hacer eso pero no funciono y al conductor no le quita los 250$
-
-- Comando /intentar -- results = { "no lo logra", "lo logra" } function publicIntentar ( player, commandName, arg1 ) outputChatBox ( chatterName..":#FFFFFF "..message.." "..results[math.random( 1, #results )], getRootElement, 0, 255, 255, true ) end addCommandHandler ( "intentar", publicIntentar ) Intente hacer eso pero no me dio resultado
-
results = { "no lo logra", "lo logra" } function colouredChat ( message, theType ) outputChatBox ( chatterName..":#FFFFFF "..message.." "..results[math.random( 1, #results )], getRootElement(), 255, 255, 255, true ) end addCommandHandler ( "intentar", colouredChat ) aun no funciona D:
-
¿y con cual podría suplantarlo?
-
Me podrías explicar con palabras mas fáciles que estas
-
y 'addCommandHandler' no te servirá con esos parámetros. ¿y como puedo hacer?
-
results = { "no lo logra", "lo logra" } print( "intenta mirar la hora en su reloj y "..results[math.random( 1, #results )] ) :_ Intente hacer esto pero no me salio results = { "no lo logra", "lo logra" } function colouredChat ( message, theType ) if theType == 0 then --if its normal chat (uso de /intentar) then outputChatBox ( chatterName..":#FFFFFF "..message.."..results[math.random( 1, #results )], getRootElement(), r, g, b, true ) end end addCommandHandler ( "intentar", estoesunaprueba )
-
Parece bueno
-
osea que con un comando como /intentar el server te diga 1: /intentar cagar lo he logrado 2: /intentar cagar no lo ha logrado pero que el sv lo decida si pudiste hacer o no
-
Estoy intentando crear un chat que sea parecido a esto /intenta Tal cosa y que el servidor te lo permita hacer al azar por ejemplo /intenta mirar la hora en su reloj y no lo logra /intenta mirar la hora en su reloj y lo logra osea que el servidor elija al azar si se puede hacer o no con un comando, en este caso /intenta ¿se puede? ¿como?
-
Ya intente hacerlo, pero me deja de funcionar el resource
-
¿y cual variable puedo utilizar?
-
Marker15 = createMarker ( -1140.79, 1110.79, 38.20, "checkpoint", 2.5, 255, 255, 0, 255 ) function Marker410 ( hitPlayer, matchingDimension ) if source == Marker15 then destroyElement ( Marker15 ) givePlayerMoney ( 500 ) getElementModel ( 188 ) outputChatBox ("Has pasado la prueba.", player, 255, 0, 0, false) end end addEventHandler ( "onClientMarkerHit", getRootElement(), Marker410 ) Hola, yo lo que quería hacer con este lua es que al pasar alguien por el marker15 le diera el skin 188 y le apareciera el mensaje "Has pasado la prueba" pero no cambia de skin al usuario ¿como puedo hacer?
