Ir para conteúdo

[Pedido Npc] Troca Nome De Player


IgorziTow

Posts Recomendados

xml :

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Name Changer" script="nome do arquivo.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="128" head="17" body="54" legs="114" feet="0" addons="2"/>
<parameters>
	<parameter key="message_greet" value="Ola, diga {change} para trocar seu nome."/>
</parameters>
</npc>

 

 

Script:

local configs = {
	max = 14, -- tamanho maximo do nome
	invalid = {"!", ".", ",", "@", "#", "GOD", "ADM"}, -- caracters invalidos
	gold = 2160, -- id do dinheiro
	count = 100 -- tantos de dinheiro q vai precizar
}

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)			npcHandler:onCreatureAppear(cid)		end
function onCreatureDisappear(cid)		npcHandler:onCreatureDisappear(cid)		end
function onCreatureSay(cid, type, msg)		npcHandler:onCreatureSay(cid, type, msg)	end
function onThink()				npcHandler:onThink()				end

function creatureSayCallback(cid, type, msg)

if(not npcHandler:isFocused(cid)) then
	return false
end

if msgcontains(msg, 'change') and talkState ~= 1 then

			c = configs
			if getPlayerItemCount(cid, c.gold) < c.count then
					return selfSay('Voce precisa pelo menos de '..c.count.." "..getItemNameById(c.gold).." para trocar seu nome.", cid)
			end
			talkState = 1

	elseif talkState == 1 and msg ~= "" then

			for _,d in pairs(c.invalid) do
					if string.find(msg, d) then
							return selfSay('Caracters invalidos não são permitidos.')
					end
			end

			if string.len(msg) > c.max then
					return selfSay('Você ultrapasou o limite de caracters.')
			end

			doPlayerRemoveItem(cid, c.gold, c.count)
			db.executeQuery("UPDATE `players` SET `name` = '"..msg.."' WHERE `id` = "..getPlayerGUID(cid)..";")
			doPlayerSendTextMessage(cid, 25, "Você será relogado em 5 segundos.")
			addEvent(doRemoveCreature, 5*1000, cid)

	end

	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Ve ai se funcion!! :Xd

 

Abraços

Editado por felipedaniel
Link para o comentário
Compartilhar em outros sites

tres erros graves

1 so da pra usa com crystal coin

2 depois que voce fala change,se voce taca todo seu dinhero fora da bag,voce n vai perde nada

3 se voce coloca o nome igual de outra pessoa mais com uma letra maiscula,seu char vira o char do nome,dai se entra nos char dos outro sem entra na conta deles

sauhsauhsauhsauhsuhsauh

o terceiro eu falo porque ja fis isso uma ves,num god ainda ushaasuhasuhsauh

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...