Skip to content

Commit

Permalink
Merge pull request #20 from jeann2013/develop
Browse files Browse the repository at this point in the history
add global variable qbr_locale to set language
  • Loading branch information
GhzGarage authored Dec 11, 2023
2 parents f69f161 + 9aed077 commit cb35b2a
Show file tree
Hide file tree
Showing 8 changed files with 231 additions and 55 deletions.
6 changes: 0 additions & 6 deletions client/evidence.lua
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,6 @@ local WhitelistedWeapons = {
0x126210c3,
}


function VarString(txt)

return
end

function BgDisplayText(txt, x, y)
return Citizen.InvokeNative(0xd79334a4bb99bad1, Citizen.InvokeNative(0xFA925AC00EB830B9, 10, "LITERAL_STRING", txt, Citizen.ResultAsLong()), x, y)
end
Expand Down
40 changes: 9 additions & 31 deletions client/interactions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,7 @@ RegisterNetEvent('police:client:CuffPlayerSoft', function()
if player ~= -1 and distance < 1.5 then
local playerId = GetPlayerServerId(player)
if not IsPedInAnyVehicle(GetPlayerPed(player)) and not IsPedInAnyVehicle(PlayerPedId()) then
TriggerServerEvent("police:server:CuffPlayer", playerId, true)
-- HandCuffAnimation()
TriggerServerEvent("police:server:CuffPlayer", playerId, true)
else
exports['qbr-core']:Notify(9, Lang:t("error.vehicle_cuff"), 5000, 0, 'mp_lobby_textures', 'cross', 'COLOR_WHITE')
end
Expand All @@ -230,8 +229,7 @@ RegisterNetEvent('police:client:CuffPlayer', function()
if result then
local playerId = GetPlayerServerId(player)
if not IsPedInAnyVehicle(GetPlayerPed(player)) and not IsPedInAnyVehicle(PlayerPedId()) then
TriggerServerEvent("police:server:CuffPlayer", playerId, false)
-- HandCuffAnimation()
TriggerServerEvent("police:server:CuffPlayer", playerId, false)
else
exports['qbr-core']:Notify(9, Lang:t("error.vehicle_cuff"), 5000, 0, 'mp_lobby_textures', 'cross', 'COLOR_WHITE')
end
Expand Down Expand Up @@ -279,14 +277,8 @@ RegisterNetEvent('police:client:GetKidnappedTarget', function(playerId)
if not isEscorted then
isEscorted = true
draggerId = playerId
local dragger = GetPlayerPed(GetPlayerFromServerId(playerId))
-- RequestAnimDict("nm")

-- while not HasAnimDictLoaded("nm") do
-- Wait(10)
-- end
AttachEntityToEntity(ped, dragger, 0, 0.27, 0.15, 0.63, 0.5, 0.5, 0.0, false, false, false, false, 2, false)
-- TaskPlayAnim(ped, "nm", "firemans_carry", 8.0, -8.0, 100000, 33, 0, false, false, false)
local dragger = GetPlayerPed(GetPlayerFromServerId(playerId))
AttachEntityToEntity(ped, dragger, 0, 0.27, 0.15, 0.63, 0.5, 0.5, 0.0, false, false, false, false, 2, false)
else
isEscorted = false
DetachEntity(ped, true, false)
Expand All @@ -301,13 +293,7 @@ RegisterNetEvent('police:client:GetKidnappedDragger', function(playerId)
exports['qbr-core']:GetPlayerData(function(PlayerData)
if not isEscorting then
draggerId = playerId
local dragger = PlayerPedId()
-- RequestAnimDict("missfinale_c2mcs_1")

-- while not HasAnimDictLoaded("missfinale_c2mcs_1") do
-- Wait(10)
-- end
-- TaskPlayAnim(dragger, "missfinale_c2mcs_1", "fin_c2_mcs_1_camman", 8.0, -8.0, 100000, 49, 0, false, false, false)
local dragger = PlayerPedId()
isEscorting = true
else
local dragger = PlayerPedId()
Expand All @@ -330,12 +316,10 @@ RegisterNetEvent('police:client:GetCuffed', function(playerId, isSoftcuff)
SetCurrentPedWeapon(ped, "WEAPON_UNARMED", true)
end
if not isSoftcuff then
cuffType = 16
-- GetCuffedAnimation(playerId)
cuffType = 16
exports['qbr-core']:Notify(9, Lang:t("info.cuff"), 5000, 0, 'blips', 'blip_radius_search', 'COLOR_WHITE')
else
cuffType = 49
-- GetCuffedAnimation(playerId)
cuffType = 49
exports['qbr-core']:Notify(9, Lang:t("info.cuffed_walk"), 5000, 0, 'blips', 'blip_radius_search', 'COLOR_WHITE')
end
else
Expand All @@ -351,8 +335,7 @@ RegisterNetEvent('police:client:GetCuffed', function(playerId, isSoftcuff)
DisplayRadar(true)
if cuffType == 49 then
FreezeEntityPosition(ped, false)
end
-- TriggerServerEvent("InteractSound_SV:PlayOnSource", "Uncuff", 0.2)
end
exports['qbr-core']:Notify(9, Lang:t("success.uncuffed"), 5000, 0, 'hud_textures', 'check', 'COLOR_WHITE')
end
end)
Expand Down Expand Up @@ -389,12 +372,7 @@ CreateThread(function()
DisableControlAction(0, 0xE30CD707, true) -- R
end

if isHandcuffed then
-- if (not IsEntityPlayingAnim(PlayerPedId(), "mp_arresting", "idle", 3) and not IsEntityPlayingAnim(PlayerPedId(), "mp_arrest_paired", "crook_p2_back_right", 3)) and not exports['qbr-core']:GetPlayerData().metadata["isdead"] then
-- loadAnimDict("mp_arresting")
-- TaskPlayAnim(PlayerPedId(), "mp_arresting", "idle", 8.0, -8, -1, cuffType, 0, 0, 0, 0)
-- end
end


if cuffType == 16 and isHandcuffed then -- soft cuff
SetEnableHandcuffs(ped, true)
Expand Down
5 changes: 3 additions & 2 deletions fxmanifest.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ description 'QBR-PoliceJob'
version '1.0.0'

shared_scripts {
'@qbr-core/shared/locale.lua',
'locales/en.lua',
'locales/*.lua',
'config.lua',
'@qbr-core/shared/locale.lua',
'locales/en.lua' -- Change this to your preferred language
}

client_scripts {
Expand Down
11 changes: 7 additions & 4 deletions locales/ar.lua
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,10 @@ local Translations = {
},
}

Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
if GetConvar('qbr_locale', 'en') == 'ar' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true,
fallbackLang = Lang,
})
end
191 changes: 191 additions & 0 deletions locales/es.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
local Translations = {
error = {
license_already = 'El jugador ya tiene una licencia',
error_license = 'El reproductor no tiene esa licencia',
no_camera = 'La cámara no existe',
blood_not_cleared = 'Sangre NO limpia',
bullet_casing_not_removed = 'Casquillos de bala NO retirados',
none_nearby = '¡No hay nadie cerca!',
canceled = 'Cancelado..',
time_higher = 'El tiempo debe ser mayor que 0',
amount_higher = 'La cantidad debe ser mayor que 0',
vehicle_cuff = 'No puedes esposar a alguien en un vehículo',
no_cuff = 'No tienes esposas',
no_impound = 'No hay vehículos incautados',
no_spikestripe = 'No se pueden colocar más tiras de púas',
error_license_type = 'Tipo de licencia no válido',
rank_license = 'No tienes un rango lo suficientemente alto como para otorgar una licencia',
revoked_license = 'Se le ha revocado una licencia',
rank_revoke = 'No tienes un rango lo suficientemente alto como para revocar una licencia',
on_duty_police_only = 'Sólo para policías de servicio',
vehicle_not_flag = 'Vehículo no marcado',
not_towdriver = 'No soy conductor de grúa',
not_lawyer = 'La persona no es abogado',
no_anklet = 'Esta persona no tiene tobillera.',
have_evidence_bag = 'Debes llevar contigo una bolsa de pruebas vacía',
no_driver_license = 'Sin licencia de conducir',
not_cuffed_dead = 'El civil no está esposado ni muerto',
},
success = {
uncuffed = 'Te han quitado las esposas',
granted_license = 'Se le ha concedido una licencia',
grant_license = 'Usted concedió una licencia',
revoke_license = 'Usted revocó una licencia',
tow_paid = 'Le pagaron $500',
blood_clear = 'Sangre limpia',
bala_casing_removed = 'Casquillos de bala retirados...',
anklet_taken_off = 'Te quitaron el rastreador de tobillo.',
take_anklet_from = 'Quitaste el rastreador %{firstname} %{lastname}',
put_anklet = 'Te pusiste un rastreador de tobillo.',
put_anklet_on = 'Te pusiste un rastreador de tobillo en %{firstname} %{lastname}',
vehicle_flagged = 'El vehículo %{plate} ha sido marcado por %{reason}',
impound_vehicle_removed = '¡Vehículo sacado del depósito!',
},
info = {
mr = 'Sr.',
mrs = 'Sta.',
impound_price = 'Precio que el jugador paga para sacar el vehículo del depósito (puede ser 0)',
plate_number = 'Número de matrícula',
flag_reason = 'Motivo para marcar el vehículo',
camera_id = 'ID de cámara',
callsign_name = 'Nombre de tu indicativo',
poobject_object = 'Tipo de objeto para generar o \'eliminar\' para eliminar',
player_id = 'ID del jugador',
citizen_id = 'ID de ciudadano del jugador',
dna_sample = 'Muestra de ADN',
jail_time = 'Tiempo que tienen para estar en la cárcel',
jail_time_no = 'El tiempo de cárcel debe ser superior a 0',
license_type = 'Tipo de licencia (conductor/arma)',
ankle_location = 'Ubicación del rastreador de tobillo',
cuff = '¡Estás esposado!',
cuffed_walk = 'Estás esposado, pero puedes caminar',
vehicle_flagged = 'El vehículo %{vehicle} está marcado por: %{reason}',
unflag_vehicle = 'El vehículo %{vehicle} no está marcado',
tow_driver_paid = 'Le pagaste al conductor de la grúa',
paid_lawyer = 'Le pagaste a un abogado',
vehicle_taken_depot = 'Vehículo llevado al depósito por $%{price}',
vehicle_seized = 'Vehículo incautado',
stolen_money = 'Has robado $%{stolen}',
cash_robbed = 'Te han robado $%{money}',
driver_license_confiscated = 'Su permiso de conducir ha sido confiscado',
cash_confiscated = 'Su efectivo fue confiscado',
being_searched = 'Estás siendo buscado',
cash_found = 'Encontrado $%{cash} en el civil',
sent_jail_for = 'Enviaste a la persona a prisión por %{time} meses',
fine_received = 'Recibiste una multa de $%{fine}',
blip_text = 'Alerta de policía - %{text}',
jail_time_input = 'Tiempo de cárcel',
submit = 'Enviar',
time_months = 'Tiempo en meses',
bill = 'factura',
amount = 'Cantidad',
police_plate = 'LSPD',
vehicle_info = 'Motor: %{value} % | Combustible: %{value2} %',
evidencia_stash = 'Alijo de evidencia | %{value}',
slot = 'Nº de ranura. (1,2,3)',
evidencia_actual = '%{value} | Cajón %{value2}',
on_duty = '[~COLOR_YELLOWSTRONG~E~q~] - Ir de servicio',
off_duty = '[~COLOR_YELLOWSTRONG~E~q~] - Fuera de servicio',
onoff_duty = '~COLOR_YELLOWSTRONG~Activado~q~/~COLOR_YELLOWSTRONG~Desactivado~q~ Deber',
stash = 'alijo %{value}',
delete_spike = '[~COLOR_YELLOWSTRONG~E~q~] Eliminar tira de púas',
close_camera = 'Cerrar cámara',
bullet_casing = '[~COLOR_YELLOWSTRONG~G~q~] Carcasa de bala %{value}',
casing = 'Carcasa de bala',
blood = 'Sangre',
blood_text = '[~COLOR_YELLOWSTRONG~G~q~] ~COLOR_RED~Sangre %{value}',
fingerprint_text = '[~COLOR_YELLOWSTRONG~G~q~] Huella digital',
fingerprint = 'huella digital',
store_heli = '[~COLOR_YELLOWSTRONG~E~q~] Almacenar helicóptero',
take_heli = '[~COLOR_YELLOWSTRONG~E~q~] Tomar helicóptero',
impound_veh = '[~COLOR_YELLOWSTRONG~E~q~] - Vehículo incautado',
store_veh = '[~COLOR_YELLOWSTRONG~E~q~] - Almacenar vehículo',
armory = 'Armería',
enter_armory = '[~COLOR_YELLOWSTRONG~E~q~] Armería',
finger_scan = 'Escaneo de huellas dactilares',
scan_fingerprint = '[~COLOR_YELLOWSTRONG~E~q~] Escanear huella digital',
trash = 'Papelera',
trash_enter = '[~COLOR_YELLOWSTRONG~E~q~] Papelera',
stash_enter = '[~COLOR_YELLOWSTRONG~E~q~] Entrar al casillero',
target_location = 'La ubicación de %{firstname} %{lastname} está marcada en tu mapa',
anklet_location = 'Ubicación de la tobillera',
new_call = 'Nueva llamada',
Officer_down = 'Oficial %{lastname} | %{callsign} Abajo'
},
evidence = {
red_hands = 'Manos rojas',
wide_pupils = 'pupilas anchas',
red_eyes = 'Ojos rojos',
weed_smell = 'Huele a hierba',
gunpowder = 'Pólvora en la ropa',
chemicals = 'huele a químico',
heavy_breathing = 'Respira pesadamente',
sudor = 'Suda mucho',
handbleed = 'Sangre en las manos',
confused = 'Confundido',
alcohol = 'Huele a alcohol',
heavy_alcohol = 'Huele mucho a alcohol',
agitated = 'Agitado - Signos de uso de metanfetamina',
serial_not_visible = 'Número de serie no visible...',
},
menu = {
garage_title = 'Vehículos policiales',
close = '⬅ Cerrar menú',
impound = 'Vehículos incautados',
pol_impound = 'Depósito policial',
pol_garage = 'Garaje de la policía',
pol_armory = 'Armería de la Policía',
},
email = {
sender = 'Agencia Central de Cobro Judicial',
subject = 'Cobro de deudas',
message = 'Estimado %{value}. %{value2}, <br /><br />La Agencia Central de Cobro Judicial (CJCA) cobró las multas que recibió de la policía.<br />Hay <strong>$%{value3}</strong> retirado de su cuenta.<br /><br />Saludos cordiales,<br />Sr. I.K. Graai',
},
commands = {
place_spike = 'Colocar tira de púas (solo policía)',
license_grant = 'Otorgar una licencia a alguien',
license_revoke = 'Revocar una licencia de alguien',
place_object = 'Colocar/eliminar un objeto (solo policía)',
cuff_player = 'Jugador de esposas (solo policía)',
escort = 'Jugador de escolta',
callsign = 'Date un indicativo',
clear_casign = 'Borrar área de casquillos (sólo policía)',
jail_player = 'Jugador de la cárcel (solo policía)',
unjail_player = 'Liberar jugador (solo policía)',
clearblood = 'Limpiar el área de sangre (solo policía)',
seizecash = 'Incautar efectivo (solo policía)',
softcuff = 'Puño suave (solo policía)',
camera = 'Ver cámara de seguridad (solo policía)',
flagplate = 'Placa de bandera A (solo policía)',
unflagplate = 'Desmarcar una placa (solo policía)',
plateinfo = 'Ejecutar una placa (solo policía)',
depot = 'Incautación con precio (solo policía)',
impound = 'Incautar un vehículo (solo policía)',
paytow = 'Pagar al conductor del remolque (solo policía)',
paylawyer = 'Pagar abogado (policía, juez únicamente)',
anklet = 'Adjuntar tobillera de seguimiento (solo policía)',
ankletlocation = 'Obtener la ubicación de la tobillera de una persona',
removeanklet = 'Eliminar tobillera de seguimiento (solo policía)',
drivinglicense = 'Incautar licencia de conducir (solo policía)',
takedna = 'Tomar una muestra de ADN de una persona (se necesita una bolsa de pruebas vacía) (Solo policía)',
police_report = 'Informe policial',
message_sent = 'Mensaje a enviar',
civil_call = 'Llamada civil',
emergency_call = 'Nueva llamada al 911',
},
progressbar = {
blood_clear = 'Limpiando Sangre...',
bala_casing = 'Retirando casquillos de bala..',
robbing = 'Persona robando...',
place_object = 'Colocando objeto..',
remove_object = 'Eliminando objeto..',
},
}

if GetConvar('qbr_locale', 'en') == 'es' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true,
fallbackLang = Lang,
})
end
11 changes: 7 additions & 4 deletions locales/fr.lua
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,10 @@ local Translations = {
},
}

Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
if GetConvar('qbr_locale', 'en') == 'fr' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true,
fallbackLang = Lang,
})
end
11 changes: 7 additions & 4 deletions locales/it.lua
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,10 @@ local Translations = {
},
}

Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
if GetConvar('qbr_locale', 'en') == 'it' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true,
fallbackLang = Lang,
})
end
11 changes: 7 additions & 4 deletions locales/sk.lua
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,10 @@ local Translations = {
},
}

Lang = Locale:new({
phrases = Translations,
warnOnMissing = true
})
if GetConvar('qbr_locale', 'en') == 'sk' then
Lang = Locale:new({
phrases = Translations,
warnOnMissing = true,
fallbackLang = Lang,
})
end

0 comments on commit cb35b2a

Please sign in to comment.