Advertisement
Guest User

Nicknames

a guest
Feb 3rd, 2021
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.33 KB | None | 0 0
  1. script_name("NickName")
  2. script_version("1.0")
  3. script_author("Emilis")
  4. script_description("/nnick Vardas_Pavarde nick")
  5.  
  6. ----------------------------------------------------------------------------
  7.  
  8. require "lib.sampfuncs"
  9. require "lib.moonloader"
  10. local sampev = require 'lib.samp.events'
  11. local enable = true
  12. local nameList = {}
  13. local toggleRead = true
  14. local hello = true
  15. local edit = false
  16. local cmdEdit = ""
  17. local nickas = ""
  18.  
  19. ----------------------------------------------------------------------------
  20.  
  21. function main()
  22.     repeat wait(0)
  23.     until isSampLoaded()
  24.     repeat wait(0)
  25.     until isSampfuncsLoaded()
  26.     wait(3000)
  27.     hello()
  28.     while true do
  29.         wait(0)
  30.         readIgnore()
  31.         local cmdResult = sampIsChatCommandDefined("nnick")
  32.         if not cmdResult then
  33.             local result = sampRegisterChatCommand("nnick", command)
  34.         end
  35.     end
  36. end
  37.  
  38. ----------------------------------------------------------------------------
  39.  
  40. function hello()
  41.     if hello then
  42.         sampAddChatMessage("[NickName] Norint suzinoti komandas: {b88d0f}/nnick info", 0x3f9412)
  43.     end
  44. end
  45.  
  46. ----------------------------------------------------------------------------
  47.  
  48. function command(arg)
  49.     if #arg == 0 then
  50.         enable = not enable
  51.         if enable then
  52.             sampAddChatMessage("{3f9412}[NNICK]{20fc03} Ijungtas. {3f9412}Norint isjungti: {b88d0f}/nnick{3f9412}. Prideti zaideja: {b88d0f}/nnick Vardas_Pavarde nickas", 0x3f9412)
  53.         else
  54.             sampAddChatMessage("{3f9412}[NNICK]{ff0000} Isjungtas. {3f9412}Norint ijungti: {b88d0f}/nnick{3f9412}. Prideti zaideja: {b88d0f}/nnick Vardas_Pavarde nickas", 0x3f9412)
  55.         end
  56.     end
  57.     --<<<
  58.     if arg == "info" then
  59.         sampAddChatMessage("[NNICK] Ijungti/isjungti script: {b88d0f}/nnick", 0x3f9412)
  60.         sampAddChatMessage("[NNICK] Prideti arba istrinti zaideja: {b88d0f}/nnick Vardas_Pavarde nickas", 0x3f9412)
  61.         sampAddChatMessage("[NNICK] Paziureti kokie zaidejai sarase: {b88d0f}/nnick list", 0x3f9412)
  62.     end
  63.     --<<<
  64.     if #arg ~= 0 and arg ~= "debug" and arg ~= "list" and arg ~= "info" then
  65.         if string.find(arg, "%u%l+_%u%l+ %a+") then
  66.             local writer = true
  67.             for i = 1, #nameList do
  68.                 if nameList[i] == arg then
  69.                     sampAddChatMessage("{3f9412}[NNICK] Istrinamas zaidejas: {ff0000}"..arg, 0x3f9412)
  70.                     local player = arg
  71.                     deletePlayer(player)
  72.                     writer = false
  73.                     toggleRead = true
  74.                     readCfg = true
  75.                     -- nustraukia loop
  76.                     break
  77.                 end
  78.             end
  79.             if writer then
  80.                 sampAddChatMessage("{3f9412}[NNICK] Pridetas i nickname sarasa: {20fc03}"..arg..".", 0x3f9412)
  81.                 file = io.open(getGameDirectory().."//moonloader//config//nicknames.txt", "a")
  82.                 io.output(file)
  83.                 io.write(arg.."\n")
  84.                 io.close(file)
  85.                 toggleRead = true
  86.                 readCfg = true
  87.             end
  88.         else
  89.             sampAddChatMessage("{3f9412}[NNICK]{20fc03} Norint ideti zaideja i sarasa: /nnick Vardas_Pavarde nick (tik raides)", 0x3f9412)
  90.         end
  91.     end
  92.     --<<<
  93.     if arg == "list" then
  94.         sampAddChatMessage("{3f9412}[NNICK]{20fc03} Zaideju sarasas:", 0x3f9412)
  95.         for i = 1, #nameList do
  96.             sampAddChatMessage(i..". "..nameList[i], 0x3f9412)
  97.         end
  98.     end
  99. end
  100. --<<<
  101. function deletePlayer(player)
  102.     file = io.open(getGameDirectory().."//moonloader//config//nicknames.txt", "r")
  103.     local lines = ""
  104.     while(true) do
  105.         local line = file:read("*line")
  106.         if not line then break end
  107.         if not string.find(line, player, 1) then --if string not found
  108.             lines = lines .. line .. "\n"
  109.         end
  110.     end
  111.     file:close()
  112.     file = io.open(getGameDirectory().."//moonloader//config//nicknames.txt", "w+")
  113.     file:write(lines)
  114.     file:close()
  115. end
  116. --<<<
  117.  
  118. --<<<
  119. --<<<
  120. function readIgnore()
  121.     if toggleRead then
  122.         -- wipe
  123.         nameList = {}
  124.         -- nuskaito faila
  125.         file = io.open(getGameDirectory().."//moonloader//config//nicknames.txt", "r")
  126.         local j = 0
  127.         for line in file:lines() do
  128.             j = j + 1
  129.             nameList[j] = line
  130.         end
  131.         j = 0
  132.         io.close(file)
  133.         -- isjungia failo skaityma
  134.         toggleRead = false
  135.     end
  136. end
  137. --<<<
  138. function sampev.onSendCommand(cmd)
  139.     if enable then
  140.         for i = 1, #nameList do
  141.             nickas = string.match(nameList[i], " %a+")
  142.             if nickas ~= nil and string.find(cmd, "/sms"..nickas) then
  143.                 edit = true
  144.                 cmdEdit = string.match(nameList[i], "%u%l+_%u%l+")
  145.                 cmdEdit = " "..cmdEdit
  146.                 break
  147.             else
  148.                 edit = false
  149.             end
  150.         end
  151.         if edit and cmdEdit ~= nil then
  152.             edit = false
  153.             local newCmd = string.gsub(cmd, nickas, cmdEdit)
  154.             return {newCmd}
  155.         end
  156.     end
  157. end
  158. --<<<
  159.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement