Jump to content

[AYUDA] Importante MTA Paradise


aka Blue

Recommended Posts

Buenas tardes, estoy creando un servidor de rol usando la GM de Paradise y quiero limitar a los usuarios la creación de personajes.

Quiero hacer que los usuarios normales se puedan crear hasta 3 personajes y los administradores 5. Sí alguien me podría pasar un código se lo agradecería.

Un saludo.

Link to comment
El MTA paradise no utiliza las cuentas del MTA si no me equivoco.

Lo que podes hacer es, que al intentar crear el personaje, cuente cuantos creaste hasta ahora.

Quizás si se usa setElementDatapara dar un numero cuando un personaje es creado y luego usar getElementDatapara verificar de que el limite de creación sea tres. luego se guarda en la base de datos que el MTA paradise usa.

Link to comment
El MTA paradise no utiliza las cuentas del MTA si no me equivoco.

Lo que podes hacer es, que al intentar crear el personaje, cuente cuantos creaste hasta ahora.

Sí utiliza las cuentas de MTA, las crea con MYSQL y al loguearte por primera vez, si no está creada esa cuenta de MTA, la crea. Puedes usar eso que te dijo NearGreen. Prueba lo siguiente:

addCommandHandler("mychars", 
    function(player) 
        local chars = exports.sql:query_assoc("SELECT COUNT(*) AS count FROM characters WHERE userID = ".. exports.players:getUserID(player)) 
        if chars then 
            for key, value in ipairs(chars) do 
                if (value.count < 3) then 
                    outputChatBox("Tienes " .. value.count .. " personajes.", player) 
                else 
                    outputChatBox("Ya has creado todos los personajes permitidos.", player) 
                end 
            end 
        end 
    end 
) 

Link to comment

Voy a probar todo lo que me habéis sugerido, muchas gracias por las respuestas. Se agradece.

EDITO: El código que yo tengo es el siguiente, bueno, lo que me dijeron que edite.

  
function createCharacter( player, name, skin ) 
    if player and p[ player ].userID then 
        if exports.sql:query_assoc_single( "SELECT characterID FROM characters WHERE characterName = '%s'", name ) then 
            triggerClientEvent( player, "players:characterCreationResult", player, 1 ) 
        elseif exports.sql:query_free( "INSERT INTO characters (characterName, userID, x, y, z, interior, dimension, skin, rotation) VALUES ('%s', " .. p[ player ].userID .. ", -1984.5, 138, 27.7, 0, 0, " .. tonumber( skin ) .. ", 270)", name ) then 
            updateCharacters( player ) 
            triggerClientEvent( player, "players:characterCreationResult", player, 3 ) 
             
            exports.server:message( "%C04[" .. getID( player ) .. "]%C %B" .. p[ player ].username .. "%B created character %B" .. name .. "%B." ) 
             
            return true 
        end 
    end 
    return false 
end 
  

Entonces, yo hacía que sí el jugador tenía el permiso por ejemplo: command.adminchat (No estoy seguro sí era así el permiso), cambiaba el

triggerClientEvent( player, "players:characterCreationResult", player, 3 ) 

por

triggerClientEvent( player, "players:characterCreationResult", player, 5 ) 

Sí alguien me podría ayudar.

Link to comment
Sólo tienes que usar lo que yo te he dado y ponerle tú los triggers, nada más.

Una pequeña duda respecto a eso, ¿Entonces borro el function createCharacter? ¿O pongo lo tuyo a las últimas líneas añadiendo el Trigger?

  
addCommandHandler("mychars", 
 function(player) 
  local chars = exports.sql:query_assoc("SELECT COUNT(*) AS count FROM characters WHERE userID = ".. exports.players:getUserID(player)) 
  if chars then 
  for key, value in ipairs(chars) do 
      if (value.count < 3) then 
           outputChatBox("Tienes " .. value.count .. " personajes.", player) 
           
      else 
           outputChatBox("Ya has creado todos los personajes permitidos.", player) 
           triggerClientEvent( player, "players:characterCreationResult", player, 1 ) 
          end 
      end 
   end 
end 
) 
  

Y una cosilla más (xD), he probado el código, el que acabo de poner arriba, pero sigue dejandome crear PJ's. Es decir, lo que quiero hacer es que si un user normal llega a 3, le desaparezca la función de crear personajes y sí és administrador a los 5 pj's ya no le deje crear más.

Link to comment

Lo que te puse obtiene la cuenta de personajes que hay en tu cuenta, la función la dejas igual pero en vez de que mueva a la pantalla de creación haces un trigger al server con la función que te puse, añadiendo su respectivo evento y quitando lo del comando.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...