Jump to content

depato123

Members
  • Posts

    551
  • Joined

  • Last visited

Everything posted by depato123

  1. 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)
  2. 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
  3. ¿Como puedo cambiar la textura? ¿como modelo?
  4. ¿Se pueden cambiar las texturas de las ruedas de los autos por otras texturas?
  5. 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] =
  6. 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
  7. ¿nadie sabe como extraer el velocímetro y el sistema de gasolina¿
  8. ¿como hago eso? intente fijarme en la wiki pero no encontré la función de theDriver
  9. la cambie por killer pero sigo teniendo ese error, ahora subo imágenes del debugs cript
  10. 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"
  11. --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$
  12. -- 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
  13. 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:
  14. Me podrías explicar con palabras mas fáciles que estas
  15. y 'addCommandHandler' no te servirá con esos parámetros. ¿y como puedo hacer?
  16. 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 )
  17. 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
  18. 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?
  19. Ya intente hacerlo, pero me deja de funcionar el resource
  20. 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?
×
×
  • Create New...