aka Blue Posted April 3, 2015 Share 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. Link to comment
Enargy, Posted April 3, 2015 Share 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 Link to comment
Castillo Posted April 3, 2015 Share 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. Link to comment
Enargy, Posted April 3, 2015 Share 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. Link to comment
DBY Posted April 4, 2015 Share 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 ) Link to comment
Calculador Posted April 5, 2015 Share Posted April 5, 2015 Te podría ayudar para lo que quieres hacer está función: isObjectInACLGroup Teniendo en cuenta lo que dijo TheChine. Link to comment
aka Blue Posted April 5, 2015 Author Share 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. Link to comment
DBY Posted April 5, 2015 Share Posted April 5, 2015 Sólo tienes que usar lo que yo te he dado y ponerle tú los triggers, nada más. Link to comment
aka Blue Posted April 5, 2015 Author Share 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. Link to comment
DBY Posted April 5, 2015 Share 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. Link to comment
aka Blue Posted April 5, 2015 Author Share Posted April 5, 2015 Intentaré hacerlo, a ver qué sale, pásame sí puedes por MP tú skype así lo hablamos más tranquilamente. Link to comment
Recommended Posts