Postado Abril 9, 2016 9 anos Tenta agora: Spoiler 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 local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and local item = 2160 --ID do item necessario para se torna um ULTRA GOD local characters = {} --Configure nesta tabela os caracteres (ou palavras) proibidos. local delay = 5 --Tempo para o jogador ser desconectado após trocar o nome. if msgcontains(msg:lower(), "name") or msgcontains(msg:lower(), "change") then selfSay("Voce deseja trocar de nome ? Essa troca vai custar 5 {"..getItemNameById(item).."}.", cid) talkState[talkUser] = 1 return true elseif msgcontains(msg:lower(), "yes") and talkState[talkUser] == 1 then if getPlayerItemCount(cid, item) >= 5 then -- Quantidade de item que você deseja. selfSay("OK, me fale o novo nome que voce deseja.", cid) talkState[talkUser] = 2 return true else selfSay("Voce nao tem os itens nescessario.", cid) talkState[talkUser] = return true end elseif talkState[talkUser] == 2 then local query = db.getResult("SELECT name FROM players") if query:getID() == -1 then selfSay("Database inexistent.", cid) talkState[talkUser] = return true end repeat local name = query:getDataString("name") if msg == name then selfSay("Esse Nome ja existe.", cid) talkState[talkUser] = return true end until not query:next() query:free() for i = 1, #characters do if msg:find(characters[i]) then selfSay("Desculpe, voce nao pode criar personagem com esse Nick, pois ele e proibido.", cid) talkState[talkUser] = return true end end local guid = getPlayerGUID(cid) db.executeQuery("UPDATE `players` SET `name` = " .. db.escapeString(msg) .. " WHERE `id` = " .. guid .. " LIMIT 1;") doPlayerRemoveMoney(cid, price) doPlayerRemoveItem(cid, item, 5) -- quantidade de itens que precisa para se trocar de nome. selfSay("Voce trocou seu nome para {"..msg.."}. Em "..delay.." segundo"..(delay > 1 and "s" or "")..", voce sera desconectado.", cid) addEvent(function() if isPlayer(cid) then doRemoveCreature(cid) end end, delay * 1000) talkState[talkUser] = return true elseif msgcontains(msg:lower(), "no") and talkState[talkUser] == 1 then selfSay("Ok, tchau.", cid) talkState[talkUser] = return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Edit: Tenta agora, coloquei uma coisa errada mais ta certo agora! Editado Abril 9, 2016 9 anos por KotZletY (veja o histórico de edições)
Postado Abril 9, 2016 9 anos 4 minutos atrás, MaRqUiiM disse: Achei o erro " reen " e o do npc Você tem certeza que copiou tudo certo, aqui está normal. Segue a print:
Postado Abril 9, 2016 9 anos Agora, MySticaL disse: Você tem certeza que copiou tudo certo, aqui está normal. Segue a print: Tbm acho, então tirei o " or cid " que não tem muita importância. Testei e ta funcionando perfeitamente!
Postado Abril 9, 2016 9 anos Autor 4 minutos atrás, KotZletY disse: Tbm acho, então tirei o " or cid " que não tem muita importância. Testei e ta funcionando perfeitamente! pqp deixa para la, vlw pela ajuda acho qe meu dbo nao pega mesmo nao slk segue o print
Postado Abril 9, 2016 9 anos 2 minutos atrás, MaRqUiiM disse: pqp deixa para la, vlw pela ajuda acho qe meu dbo nao pega mesmo nao slk segue o print Usa o outro então
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.