MSHost.cz
https://forum.mshost.cz:443/

Anti Afk Chyba
https://forum.mshost.cz:443/viewtopic.php?f=19&t=31203
Page 1 of 1

Author:  MerryMakerCZ [ Sun 06. Sep 2015 2:34:58 ]
Post subject:  Anti Afk Chyba

Přeji krásný den všem co nyní čtou toto téma nerad jej zakládám ačkoliv už si nevím rady s tímto kódem.
Zabijí tak jak je nastaven a vypíše že byl hráč kicknutý ale hráč zůstává ve hře můžete mi prosím poradit jestli je chyba v kódu nebo někde jinde ? Děkuji předem za cokoliv co by mi mohlo pomoci.

Server
Spoiler: show
Code:
local raceState = ""

function onPlayerAFKKill ()
   if raceState == "Running" then
      setElementData(source,"afkkills",getElementData(source,"afkkills")+1)
      if getElementData(source,"afkkills") == 4 then
         kickPlayer(source,"You was AFK for to long.")
         triggerClientEvent ( "onRollMessageStart", getRootElement(), getPlayerName(source).."#FFFFFF, left [AFK]!",2565,255,255)
         outputChatBox(getPlayerName(source).."#FFFFFF was kicked by the #FF0000AFK System#FFFFFF.",getRootElement(),255,0,0,true)
         return
      end
      setElementHealth(source, 0)
      local kills = getElementData(source,"afkkills")
      triggerClientEvent ( "onRollMessageStart", getRootElement(), getPlayerName(source).."#FFFFFF, #FF9900AFK #FFFFFF[#FF9900"..kills.."#FFFFFF/4]!",2565,255,255,"afk")
   end
end
addEvent("onPlayerAFKTimelimit",true)
addEventHandler("onPlayerAFKTimelimit",getRootElement(),onPlayerAFKKill)

function onPlayerIsBack ()
   setElementData(source,"afkkills",0)
end   
addEvent("onPlayerIsBack",true)
addEventHandler("onPlayerIsBack",getRootElement(),onPlayerIsBack)

function changeRaceState(newStateName)
   raceState = newStateName
end
addEvent("onRaceStateChanging", true)
addEventHandler( "onRaceStateChanging", getRootElement(), changeRaceState)


Client
Spoiler: show
Code:
local me = getLocalPlayer()
setElementData(me,"afkkills",0)
local afktime = 0
local guiAFKAlpha = 0
guiAFKAlphaSet = 0.02
local ltfont = guiCreateFont("ltfont.ttf",20)

function permanentPlayerAFKTime ()
local vehicle = getPedOccupiedVehicle ( getLocalPlayer() )
if isPedInVehicle (getLocalPlayer()) then
   --check freeze state
   if(isElementFrozen (vehicle)) then
      afktime = 0
      return
   end
   --check movement state
    local x,y,z = getElementVelocity (vehicle)
   local speed = ((x^2 + y^2 + z^2)^(0.5))* 180
      if speed > 1 then
         checkPlayerAFKStatus()
         afktime = 0
         return
      end
   --add afkTimer
   afktime = afktime+1
   --trigger Event
   if afktime == 30 then
      triggerServerEvent("onPlayerAFKTimelimit",getLocalPlayer())
      guiAFKAlphaSet = -0.05
   end
   if afktime == 15 then
      guiSetVisible(afkImage,true)
      addEventHandler("onClientRender",getRootElement(),renderAfkImage)
      guiAFKAlphaSet = 0.0125
   end
else
   afktime = 0
end
end
setTimer(permanentPlayerAFKTime,1000,0)

function onPlayerPressedKey(button)
if button == "u" then return end
if button == "mouse1" then return end
if button == "mouse2" then return end
if button == "mouse3" then return end
if button == "mouse_wheel_up" then return end
if button == "mouse_wheel_down" then return end
   --afktime = 0
   --checkPlayerAFKStatus()
end
addEventHandler("onClientKey",getRootElement(), onPlayerPressedKey)

function checkPlayerAFKStatus()
if getElementData(me,"afkkills") > 0 then
triggerServerEvent("onPlayerIsBack",getLocalPlayer())
end
guiAFKAlphaSet = -0.05
end

afkImage = guiCreateStaticImage(0.3,0.35,0.4,0.275,"tools/images/afk_info/afk.png",true)
guiSetVisible(afkImage,false)
guiSetAlpha(afkImage,0)
afkTimeLeft = guiCreateLabel( 0.85,0.8,0.15,0.2,"",true,afkImage)
guiSetFont(afkTimeLeft,ltfont)

function renderAfkImage()
local alpha = guiGetAlpha(afkImage)
guiSetAlpha(afkImage,alpha+guiAFKAlphaSet)
guiSetText(afkTimeLeft,(30-afktime))
if alpha + guiAFKAlphaSet >= 1 then
   guiAFKAlphaSet = 0
elseif alpha + guiAFKAlphaSet <= 0 then
   removeEventHandler("onClientRender",getRootElement(),renderAfkImage)
   guiSetVisible(afkImage,false)
end
end



Meta
Spoiler: show
Code:
<meta>
   <info author="Merry" type="misc" version="1.0.0" name="antiafk"/>
   <oop>true</oop>
   
   <script src="client.lua" type="client"/>
   <script src="server.lua" type="server"/>
   
   <file src="afk.png" />
</meta>

Author:  Ru1n [ Sun 06. Sep 2015 10:33:06 ]
Post subject:  Re: Anti Afk Chyba

script máš dobře , dal si tomu práva ? budto v mtaconfig nebo přes AP

Author:  _SebaN// [ Sun 06. Sep 2015 10:54:51 ]
Post subject:  Re: Anti Afk Chyba

JogurtCZ wrote:
script máš dobře , dal si tomu práva ? budto v mtaconfig nebo přes AP


Z vlastni zkusenosti vim, ze to je k nicemu, takze dle me musi byt chyba v clientu, ackoliv nevim kde.

Author:  MerryMakerCZ [ Sun 06. Sep 2015 12:43:10 ]
Post subject:  Re: Anti Afk Chyba

JogurtCZ wrote:
script máš dobře , dal si tomu práva ? budto v mtaconfig nebo přes AP


Též mě napadlo že by jsem měl přidat práva na kick. Ale bohužel netuším jak :crazy:

Author:  Script [ Sun 06. Sep 2015 15:05:26 ]
Post subject:  Re: Anti Afk Chyba

JogurtCZ wrote:
script máš dobře , dal si tomu práva ? budto v mtaconfig nebo přes AP


V mtaconfig nastavujes jen aby se ti scripty zapli automaticky.
btw: name = jméno scriptu
Proste do acl.xml pridas do "Admin" tohle "resource.name"

Author:  MerryMakerCZ [ Sun 06. Sep 2015 15:58:01 ]
Post subject:  Re: Anti Afk Chyba

resource.AntiAFK přidán ale stále jen vypíše hlášku do chatu a nekickne :/

Author:  Ru1n [ Sun 06. Sep 2015 17:37:43 ]
Post subject:  Re: Anti Afk Chyba

A pridal si to do 'Admin' ? Protoze default nema prqvo kickovat

Author:  MerryMakerCZ [ Sun 06. Sep 2015 22:23:23 ]
Post subject:  Re: Anti Afk Chyba

Bohužel mám to tam jak jsi říkal nefunguje to..

Author:  Script [ Sun 06. Sep 2015 23:21:07 ]
Post subject:  Re: Anti Afk Chyba

MerryMakerCZ wrote:
Bohužel mám to tam jak jsi říkal nefunguje to..



A co debugscript? pise najaky error nebo warning? (/debugscript3)

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/