JO
talkaction

[Talkaction] Name Changer

Por joaohd, 17 de jun. de 2010 em Actions e Talkactions

script
27
6.8k
joaohdJ
17 de junho de 2010 às 17:38

Bom, sem muito papo, vamos ao script:

 

Em data/talkactions/scripts, crie um arquivo chamado namechange.lua e coloque isto dentro:

 

-- Creditos a Won Helder, apocarai, MatheusMkalo
function onSay(cid, words, param)  
local maxLen = 15 -- tamanho maximo do nome 
local itemid = 2361 ------ Numero do Item que será removido 
local proibido = {"!","@","*"} -- simbolos proibidos


     for i = 1, #proibido do           
         if string.find(tostring(param), proibido[i]) then              
            doPlayerSendCancel(cid,"Não pode usar símbolos em seu nome.")              
            return TRUE          
         end      
     end               

     if tostring(param) == "" then -- checkar se não é nome vazio         
        doPlayerSendCancel(cid, "Você deve informar um nome.")         
        return TRUE       
     end              

     if string.len(tostring(param)) > maxLen then          
        doPlayerSendCancel(cid, "Você pode usar no máximo " .. maxLen .. " letras.")          
        return TRUE       
     end             

     if not getTilePzInfo(getCreaturePosition(cid)) then       
        doPlayerSendCancel(cid,"So pode ser usado em pz.")       
        return TRUE       
     end                    

     if getPlayerItemCount(cid, itemid) >= 1 then           
        doPlayerRemoveItem(cid, itemid, 1)           
        db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";")            
        doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos.")           
        addEvent(doRemoveCreature, 5*1000, cid, true)      
     else          
        doPlayerSendCancel(cid,"Você não possui o item " .. getItemNameById(itemid) .. ".")       
     end 
return TRUE 
end

 

E em talkactions.xml:

 

<talkaction words="!changename" event="script" value="namechange.lua"/>

 

 

Pronto.

 

Para usar diga: !changename NOME NOVO

 

Créditos: Won Helder,

apocarai,

MatheusMkalo

 

 

 

flw

Henrique MouraH
17 de junho de 2010 às 17:40

doPlayerSendCancel(cid,"Você não possui o item " .. getItemNameById(itemid) .. ".")

 

Há necessidade disso?

marcelopopM
17 de junho de 2010 às 18:54

Henrique Moura,não entendo muito de script,mas pelo que parece ser se o player não tiver devido item aparecerá a mensagen para ele é claro.

Henrique MouraH
17 de junho de 2010 às 18:55

Eu sei disso, só não tinha visto antes a remoção do item pela variável.

 

Abraços.

-Fark--
17 de junho de 2010 às 21:35

Eu sei disso, só não tinha visto antes a remoção do item pela variável.

 

Abraços.

 

ow, sem querer dar uma de noobão, mas...

o que é uma variável ? :blink:

marcelopopM
17 de junho de 2010 às 21:48

è Henrique Moura as veses passa despercebido 8D suahusuh '

Editado Junho 17 por marcelopop

DoidinD
18 de junho de 2010 às 03:44

Cara o comando ficou muito bom, juro que pensei em fazer um desse um dia desses. mais eu ia colocar para remover dinheiro. ;]

REP+ abraços...

joaohdJ
18 de junho de 2010 às 07:38

Dá pra fazer por dinheiro também, esse ae foi pq deu uma confusão pra fazer aí decidimos postar. Caso queiram por dinheiro:

 

-- Creditos a Won Helder, apocarai, MatheusMkalo 
function onSay(cid, words, param)   
local maxLen = 15 -- tamanho maximo do nome  
local moeyNeed = 1000 ------ Dinheiro necessário para mudar o nome  
local proibido = {"!","@","*"} -- simbolos proibidos 


     for i = 1, #proibido do            
         if string.find(tostring(param), proibido[i]) then               
            doPlayerSendCancel(cid,"Não pode usar símbolos em seu nome.")               
            return TRUE           
         end       
     end                

     if tostring(param) == "" then -- checkar se não é nome vazio          
        doPlayerSendCancel(cid, "Você deve informar um nome.")          
        return TRUE        
     end               

     if string.len(tostring(param)) > maxLen then           
        doPlayerSendCancel(cid, "Você pode usar no máximo " .. maxLen .. " letras.")           
        return TRUE        
     end              

     if not getTilePzInfo(getCreaturePosition(cid)) then        
        doPlayerSendCancel(cid,"So pode ser usado em pz.")        
        return TRUE        
     end                     

     if getPlayerMoney(cid=) >= moneyNeed then            
        doPlayerRemoveMoney(cid, moneyNeed)            
        db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";")             
        doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos.")            
        addEvent(doRemoveCreature, 5*1000, cid, true)       
     else           
        doPlayerSendCancel(cid,"Você não possui " .. moneyNeed .. " gp's.")        
     end  
return TRUE  
end

 

 

flw

6 meses depois...
bloderB
01 de dezembro de 2010 às 17:18

Bem legal esse script ae,esses dias estava procurando um script desses

Flw!

 

 

Obs:Um pequeno detalhe:

local moeyNeed = 1000 ------ Dinheiro necessário para mudar o nome

o correto seria

local moneyNeed = 1000 ------ Dinheiro necessário para mudar o nome  

vc só esqueceu de colokar o "N" antes do "ey"

mappernetoM
04 de dezembro de 2010 às 10:32

Apocarai Tenta Proibir mais simbolos como numeros "0123456789"

"¨" "&" "%" "$" "#" "()" "{}" "[]" "¬" "¢" "£" "³" "²" "!" "¹" "\/" "|" "^" "~" "'" "´" "º" "ª" "<>" ":;" "?"

 

não sei se faltou algum mas temte proibir esses pois as vezes algums simbolos não sai certo no nome ai o player fica com o nome bugado do tipo (é) não sai com acento o nome vira um simbolo.

isso é usado por players "engraçadinhos"

 

mas otimo script uma otima ideia merece +rep de todos :)

07 de dezembro de 2010 às 14:13

Como eu faço pra nao poder por nome tipo GOD? Ou CM, ou GM, ou Tutor?

joaohdJ
07 de dezembro de 2010 às 14:24

Adicione na tabela "proibidos" assim:

 

local proibidos = {"God", "Cm"}

 

 

flw

07 de dezembro de 2010 às 19:29

VLW

fsgF
07 de dezembro de 2010 às 20:04

 

VLW

Cara, comentários assim são considerados como FLOOD! Preste mais atenção antes de comentar da próxima vez.

Abraços.

08 de dezembro de 2010 às 10:26

Opss... e cara, hora que eu coloquei lah nos proibidos "God","Cm",Gm" nao funciona, ele bloqueia isso, mas se voce for por qualquer nome que possa por, ele nao muda!