Tibia Mod
Forum zostało Przeniesione tutaj:
http://tibiamod.xaa.pl/

Zapraszam.

[Talkactions]Zmiana Nicku tzw. Namelock poprzez GM'a

Zobacz poprzedni temat Zobacz następny temat Go down

[Talkactions]Zmiana Nicku tzw. Namelock poprzez GM'a

Pisanie by Ziwy on Pią Lis 23, 2012 2:51 pm

Witam, przedstawiam wam skrypt na namelocka.
Skrypt wklejamy w Talkactions>scripts

Kod:
function changeName(guid,name,old)
  db.executeQuery('UPDATE `'..sqlDatabase..'`.`players` SET `name` = "'..name..'" WHERE

`players`.`id` ='..guid..' AND CONVERT( `players`.`name` USING utf8 ) = "'..old..'" LIMIT 1

;')
end
 
function setPlayerName(cid,name)
guid = getPlayerGUID(cid)
dofile("config.lua")
local coisa = db.getResult("SELECT `name` FROM `"..sqlDatabase.."`.`players` WHERE `id` =

".. guid ..";")
if coisa ~= nil then
  old = coisa:getDataString("name")
  addEvent(doRemoveCreature, 100, cid)
  addEvent(changeName, 200, guid,name,old)
  end
end
 
local config = {
RemovePremium = true, -- Remove premium days ? true/false
RemovePremiumDay = 5 -- how much remove 1,2,3,4 etc..
}
 
function onSay(cid, words, param, channel)
   if(param == '') then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires

param.")
      return true
   end
 
   local t = string.explode(param, ";")
   if(not t[2]) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "No new name

specified.")
      return true
   end
 
   local pid = getPlayerByNameWildcard(t[1])
   if(not pid or (isPlayerGhost(pid) and getPlayerAccess(pid) > getPlayerAccess(cid)))

then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[1]

.. " not found.")
      return true
   end
 
   if getPlayerGUIDByName(t[2]) then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "name jest

zajete.")
      return true
   end
 
   local characters = 0
    for p = 1, string.len(t[2]) do
      characters = characters+1
    end
 
   if characters < 4 then
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "name musi

zawierac conajmniej 4 znaki.")
      return true
   end
 
   if config.RemovePremium == true then
         if getPlayerPremiumDays(pid) < config.RemovePremiumDay then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,

"Player nie posiada wystarczajacych dni pacc!.")
            return true
         end
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Name zostalo

zmienion.")
      setPlayerName(pid,t[2])
      doPlayerRemovePremiumDays(pid, config.RemovePremiumDay)
   else
      setPlayerName(pid,t[2])
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Name zostalo

zmienione.")
      return true
   end
   return true
end
w talkactions.xml wklejamy:
Kod:
<talkaction log="yes" words="/namelock" access="5"    event="script" value="namelock.lua"/>

Działa to na zasadzie : Dostajesz na GM zgłoszenie że chce dostać pewien player Namelocka, wchodzisz do gry wpisujesz następująco :
Kod:
/namelock Nick;NewNick
czyli np:
Kod:
/namelock Ziwy;MrZiwy
wtedy gracza wylogowuje, po czym jego nick z Ziwy zmienia się na MrZiwy.
PS. Za każdą zmiane nicku odpiera graczowi 5dni pacc, oczywiście da się to zmienić :
Kod:
RemovePremiumDay = 5

Skrypt by mock (O.T.A.L)
avatar
Ziwy
User

Liczba postów : 9
Join date : 22/11/2012
Age : 23
Skąd : Tąd

Zobacz profil autora

Powrót do góry Go down

Zobacz poprzedni temat Zobacz następny temat Powrót do góry


 
Permissions in this forum:
Nie możesz odpowiadać w tematach