aka Blue Posted April 3, 2015 Posted April 3, 2015 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.
Enargy, Posted April 3, 2015 Posted April 3, 2015 prueba usando esto: setAccountData/getAccountData PD: esto tiene que estar publicado en la sección de scripting viewforum.php?f=145
Castillo Posted April 3, 2015 Posted April 3, 2015 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.
Enargy, Posted April 3, 2015 Posted April 3, 2015 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.
DBY Posted April 4, 2015 Posted April 4, 2015 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 )
Calculador Posted April 5, 2015 Posted April 5, 2015 Te podría ayudar para lo que quieres hacer está función: isObjectInACLGroup Teniendo en cuenta lo que dijo TheChine.
aka Blue Posted April 5, 2015 Author Posted April 5, 2015 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.
DBY Posted April 5, 2015 Posted April 5, 2015 Sólo tienes que usar lo que yo te he dado y ponerle tú los triggers, nada más.
aka Blue Posted April 5, 2015 Author Posted April 5, 2015 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 (), 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.
DBY Posted April 5, 2015 Posted April 5, 2015 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.
aka Blue Posted April 5, 2015 Author Posted April 5, 2015 Intentaré hacerlo, a ver qué sale, pásame sí puedes por MP tú skype así lo hablamos más tranquilamente.
Recommended Posts