Postado Julho 14, 2022 2 anos Autor Em 14/07/2022 em 18:37, FeeTads disse: esse eh o isPremium(cid) da source ja, pra pegar todo o script eh chatinho kkkkk, vou fazer o script pra ele, mas caso ele não tenha na source n vai funfar tbm function Split(s, delimiter) result = {}; for match in (s..delimiter):gmatch("(.-)"..delimiter) do table.insert(result, match); end return result; end function onLogin(cid) if getPlayerAccess(cid) > 2 then -- ignora GM+ return true end local func = db.query or db.executeQuery local namePlayer = getPlayerName(cid) if isPremium(cid) and getPlayerStorageValue(cid, 25425466) == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você será desconectado pra mudança de nome!") --Msg em vermelho na tela do player addEvent(function() if isCreature(cid) then --verifica se o player ainda ta on e executa setPlayerStorageValue(cid, 25425466, 1) --seta storage da mudança pra 1, pode mudar pra qualquer numero o "25415466" doRemoveCreature(cid) --desloga o char func("UPDATE `players` SET `name` = [P] "..namePlayer.." WHERE `name` = "..namePlayer..";") --executa a função na DB end end, 2000) -- 2000 = 2s pra deslogar o player elseif not isPremium(cid) and getPlayerStorageValue(cid, 25425466) == 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você será desconectado pra mudança de nome!") addEvent(function() if isCreature(cid) then --verifica se o player ainda ta on e executa setPlayerStorageValue(cid, 25425466, -1) --seta a storage pra -1 -- não mexer em nada daqui pra baixo ****** local split = Split(getPlayerName(cid), " ") -- função pra tirar o [P] local nomeAntigo = '' for i=2, #split do nomeAntigo = nomeAntigo + split[i] if i+1 <= #split then --se ainda tiver mais nomes nomeAntigo = nomeAntigo + ' ' -- caso seja nome composto add espaço ex: Pedro Mauro end end -- não mexer em nada pra cima ****** doRemoveCreature(cid) --desloga o char func("UPDATE `players` SET `name` = "..nomeAntigo.." WHERE `name` = "..namePlayer..";") --executa a função na DB end end, 2000) -- 2000 = 2s pra deslogar o player end return true end @lolksky ta na mão, PORÉM sugiro **FORTEMENTE** tu testar isso antes de por em pratica no teu OT kkk, não cheguei testar pra ver se ta 100% Perdoa a ignorância... mas onde coloco isso? ~~ [show Off] Lolksky ~~
Postado Julho 14, 2022 2 anos Em 14/07/2022 em 21:41, lolksky disse: Perdoa a ignorância... mas onde coloco isso? cria um arquivo com o nome que quiser tipo no scripts do creaturescripts data > creaturescripts > scripts > nomePremmy.lua ai vai no creaturescripts.xml data > creaturescripts > creaturescripts.xml e coloca isso em qualquer lugar: <event type="login" name="nomePremmy" event="script" value="nomePremmy.lua"/> Em 14/07/2022 em 21:49, FeeTads disse: cria um arquivo com o nome que quiser tipo no scripts do creaturescripts que no caso, o script que eu te mandei ai, vai escrito dentro desse nomePremmy, cria o arquivo .lua e cola o script dentro
Postado Julho 14, 2022 2 anos Autor Em 14/07/2022 em 21:49, FeeTads disse: cria um arquivo com o nome que quiser tipo no scripts do creaturescripts data > creaturescripts > scripts > nomePremmy.lua ai vai no creaturescripts.xml data > creaturescripts > creaturescripts.xml e coloca isso em qualquer lugar: <event type="login" name="nomePremmy" event="script" value="nomePremmy.lua"/> Apareceu a mensagem que iria deslogar para mudar o nome, mas não apareceu o [P] e acusou isso: OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: near "Teste": syntax error (UPDATE "players" SET "name" = [P] Teste WHERE "name" = Teste;) ~~ [show Off] Lolksky ~~
Postado Julho 14, 2022 2 anos Em 14/07/2022 em 22:27, lolksky disse: Apareceu a mensagem que iria deslogar para mudar o nome, mas não apareceu o [P] e acusou isso: esqueci de por as aspas da func da DB kkkk segue o código atualizado: function Split(s, delimiter) result = {}; for match in (s..delimiter):gmatch("(.-)"..delimiter) do table.insert(result, match); end return result; end function onLogin(cid) if getPlayerAccess(cid) > 2 then -- ignora GM+ return true end local func = db.query or db.executeQuery local namePlayer = getPlayerName(cid) if isPremium(cid) and getPlayerStorageValue(cid, 25425466) == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você será desconectado pra mudança de nome!") --Msg em vermelho na tela do player addEvent(function() if isCreature(cid) then --verifica se o player ainda ta on e executa setPlayerStorageValue(cid, 25425466, 1) --seta storage da mudança pra 1, pode mudar pra qualquer numero o "25415466" doRemoveCreature(cid) --desloga o char func('UPDATE `players` SET `name` = "[P] '..namePlayer..'" WHERE `name` = "'..namePlayer..'"') --executa a função na DB end end, 6000) -- 2000 = 2s pra deslogar o player elseif not isPremium(cid) and getPlayerStorageValue(cid, 25425466) == 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você será desconectado pra mudança de nome!") addEvent(function() if isCreature(cid) then --verifica se o player ainda ta on e executa setPlayerStorageValue(cid, 25425466, -1) --seta a storage pra -1 -- não mexer em nada daqui pra baixo ****** local split = Split(getPlayerName(cid), " ") -- função pra tirar o [P] local nomeAntigo = '' local space = " " for i=2, #split do nomeAntigo = nomeAntigo..split[i] if i+1 <= #split then --se ainda tiver mais nomes nomeAntigo = nomeAntigo..space -- caso seja nome composto add espaço ex: Pedro Mauro end end -- não mexer em nada pra cima ****** doRemoveCreature(cid) --desloga o char func('UPDATE `players` SET `name` = "'..nomeAntigo..'" WHERE `name` = "'..namePlayer..'"') --executa a função na DB end end, 6000) -- 2000 = 2s pra deslogar o player end return true end copia esse e cola, pq mexi da func de update, esse é pra ta 100% Em 14/07/2022 em 22:27, lolksky disse: [P] e acusou isso: acabei mexendo um pouco mais, kkkk vou colocar outra verificação mano, pra checar se ja tem [p] no nome na hora de tirar Editado Julho 14, 2022 2 anos por FeeTads (veja o histórico de edições)
Postado Julho 14, 2022 2 anos Autor Em 14/07/2022 em 22:42, FeeTads disse: esqueci de por as aspas da func da DB kkkk segue o código atualizado: function Split(s, delimiter) result = {}; for match in (s..delimiter):gmatch("(.-)"..delimiter) do table.insert(result, match); end return result; end function onLogin(cid) --if getPlayerAccess(cid) > 2 then -- ignora GM+ --return true -- end local func = db.query or db.executeQuery local namePlayer = getPlayerName(cid) if isPremium(cid) and getPlayerStorageValue(cid, 25425466) == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você será desconectado pra mudança de nome!") --Msg em vermelho na tela do player addEvent(function() if isCreature(cid) then --verifica se o player ainda ta on e executa setPlayerStorageValue(cid, 25425466, 1) --seta storage da mudança pra 1, pode mudar pra qualquer numero o "25415466" doRemoveCreature(cid) --desloga o char func('UPDATE `players` SET `name` = "[P] '..namePlayer..'" WHERE `name` = "'..namePlayer..'"') --executa a função na DB end end, 6000) -- 2000 = 2s pra deslogar o player elseif not isPremium(cid) and getPlayerStorageValue(cid, 25425466) == 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você será desconectado pra mudança de nome!") addEvent(function() if isCreature(cid) then --verifica se o player ainda ta on e executa setPlayerStorageValue(cid, 25425466, -1) --seta a storage pra -1 -- não mexer em nada daqui pra baixo ****** local split = Split(getPlayerName(cid), " ") -- função pra tirar o [P] local nomeAntigo = '' for i=2, #split do nomeAntigo = nomeAntigo + split[i] if i+1 <= #split then --se ainda tiver mais nomes nomeAntigo = nomeAntigo + ' ' -- caso seja nome composto add espaço ex: Pedro Mauro end end -- não mexer em nada pra cima ****** doRemoveCreature(cid) --desloga o char func('UPDATE `players` SET `name` = "'..nomeAntigo..'" WHERE `name` = "'..namePlayer'"') --executa a função na DB end end, 6000) -- 2000 = 2s pra deslogar o player end return true end copia esse e cola, pq mexi da func de update, esse é pra ta 100% [19:52:05.028] [Error - CreatureScript Interface] [19:52:05.031] In a timer event called from: [19:52:05.032] data/creaturescripts/scripts/nomePremmy.lua:onLogin [19:52:05.032] Description: [19:52:05.033] data/creaturescripts/scripts/nomePremmy.lua:34: attempt to perform arithmetic on local 'nomeAntigo' (a string value) [19:52:05.033] stack traceback: [19:52:05.034] data/creaturescripts/scripts/nomePremmy.lua:34: in function <data/creaturescripts/scripts/nomePremmy.lua:27> E o [P] continua no nome apos tirar o PA Editado Julho 14, 2022 2 anos por lolksky (veja o histórico de edições) ~~ [show Off] Lolksky ~~
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.