Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/12/20 in Posts

  1. ÓRDENES DE BÚSQUEDA Y CAPTURA | SCRIPT Hace un tiempo estuve jugando en un servidor que tenía un sistema parecido. Se trata de un sistema para los policías de órdenes de búsqueda y captura de jugadores. Tiene varios comandos con los que puedes editar el estado del fugitivo, o, borrar la orden. Cada uno lo puede editar a su gusto. Adicional: Si no lo queréis, podéis quitar el evento de onPlayerChangeNick. Lo puse para que, al intentar editar su nick, le cancele el evento cuando esté en orden de búsqueda y captura. local police_data = { } local policias = createTeam( "Policia Nacional", 0, 0, 51 ) -- Team de la policia addCommandHandler( "addbusq", function( player, commandName, nombre_fugitivo, motivo, estado ) local nombre_fugitivo = tostring( nombre_fugitivo ) local estado = tostring( estado ) local motivo = tostring( motivo ) local team = getTeamName( getPlayerTeam ( player ) ) if team == "Policia Nacional" then if nombre_fugitivo and estado and motivo then if not police_data[ nombre_fugitivo ] then police_data[ nombre_fugitivo ] = { motivo = motivo, estado = estado } outputChatBox( "Añadida orden de búsqueda para "..nombre_fugitivo, player, 255, 255, 0 ) outputChatBox( "Motivo:", player, 255, 255, 0 ) outputChatBox( tostring( motivo ), player, 255, 255, 255 ) else local razon = police_data[ nombre_fugitivo ].motivo outputChatBox( "Hay una orden contra "..nombre_fugitivo..". Motivo:", player, 0, 255, 0 ) outputChatBox( tostring( razon ), player, 255, 255, 255 ) end end end end ) function bloquearCambio( viejoNick ) if police_data[ viejoNick ] then cancelEvent( ) end end addEventHandler( "onPlayerChangeNick", getRootElement(), bloquearCambio ) addCommandHandler( "checkorden", function( player, commandName, nombre_fugitivo ) local nombre_fugitivo = tostring( nombre_fugitivo ) local team = getTeamName( getPlayerTeam( player ) ) if team == "Policia Nacional" then if nombre_fugitivo then if police_data[ nombre_fugitivo ] then outputChatBox( nombre_fugitivo.." es buscado por la policía.", player, 0, 255, 0 ) outputChatBox( "Motivo: "..police_data[ nombre_fugitivo ].motivo, player, 255, 255, 0 ) outputChatBox( "Estado: "..police_data[ nombre_fugitivo ].estado, player, 255, 255, 0 ) else outputChatBox( nombre_fugitivo.." no tiene una orden de búsqueda y captura", player, 255, 0, 0 ) end end end end ) addCommandHandler( "bbusq", function( player, commandName, nombre_fugitivo ) local team = getTeamName( getPlayerTeam( player ) ) local nombre_fugitivo = tostring( nombre_fugitivo ) if team == "Policia Nacional" then if nombre_fugitivo then if police_data[ nombre_fugitivo ] then police_data[ nombre_fugitivo ] = nil outputChatBox( "Borrada la orden contra "..nombre_fugitivo, player, 0, 255, 0 ) else outputChatBox( nombre_fugitivo.." no tiene una orden de búsqueda y captura", player, 255, 0, 0 ) end end end end ) addCommandHandler( "ebusq", function( player, commandName, nombre_fugitivo, estado ) local nombre_fugitivo = tostring( nombre_fugitivo ) local estado = tostring( estado ) local team = getTeamName( getPlayerTeam( player ) ) if team == "Policia Nacional" then if nombre_fugitivo then if police_data[ nombre_fugitivo ] then local _estado = tostring( police_data[ nombre_fugitivo ].estado ) police_data[ nombre_fugitivo ].estado = estado outputChatBox( "Editada orden de búsqueda de "..nombre_fugitivo, player, 0, 255, 0 ) outputChatBox( "Nuevo estado: "..estado, player, 255, 255, 255 ) else outputChatBox( nombre_fugitivo.." no tiene una orden de búsqueda.", player, 255, 0, 0 ) end end end end ) ¿Cómo funciona? Este sistema cuenta con una serie de comandos los cuales perfectamente se pueden pasar a eventos y usar junto a una GUI y hacerlo más práctico, no obstante, esta es una versión libre por lo cual funciona con comandos, los cuales, son los siguientes: /addbusq [nombre del fugitivo] [motivo] [estado (detenido o libre)]: Con este comando añadimos una orden de búsqueda y captura a nuestra tabla global (base de datos, digamos), police_data. /checkorden [nombre del fugitivo]: Con este comando comprobamos si hay alguna orden de búsqueda pendiente en la base de datos de la policía. /bbusq [nombre del fugitivo]: Con este comando podemos borrar la orden de búsqueda del jugador en cuestión. /ebusq [nombre del fugitivo] [nuevo estado]: Con este comando podemos editar el estado de búsqueda del jugador (detenido, en búsqueda, etc...) Espero que os guste. Aún no he podido testearlo a fondo porque no tengo con quién, si alguien tiene un servidor, podemos ir mejorandolo para la comunidad
    1 point
  2. Thread's moved to the Resources section, as that's the only place we allow sales of gamemodes/resources.
    1 point
  3. O que o moderador quis dizer é, você postou seu tópico em sessão errada, e então ele moveu para sessão correta. Sobre isto, basta você ter uma PNG de um celular, e então ou desenvolver por meio de DX ou CEGUI. O tutorial que eu sugiro seria começar lendo pelo : Multi Theft Auto: Wiki
    1 point
  4. Está faltando um end para fechar a função. function dxMsg(source, text, type) exports.dxmessages:outputDx(source, text, type) end function darDinheiro (source) if commandDelay[source] == nil and not istimer(commandDelay[source]) then local Dinheiro = getPlayerMoney(source) if Dinheiro >= 1200 then return dxMsg(source, "Você possui dinheiro de mais para receber o auxílio.", "error") end givePlayerMoney(source, 1200) dxMsg(source, "Você recebeu o auxílio.", "success") resetCommand(source, 1000) else dxMsg(source, "Você ja recebeu o auxílio.", "warning") end end addCommandHandler('auxilio', darDinheiro)
    1 point
  5. Projectiles with an owner have their orientation pre-set based on the camera rotation. Setting the orientation after the projectile creation, will only work when all clients are applying the same adjustments. AFAIK only a full overwrite of the behaviour and synchronization will solve that problem.
    0 points
×
×
  • Create New...