Jump to content

Sol

Coders
  • Posts

    117
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by Sol

  1. Good one, I wonder how are you gonna recognize these cheats after "testing" them, thought that every multihack in ET is kinda same. Well trolled.
  2. "and if my friend was an idiot testing hacks", so if it's a past what is a problem? I'm guessing that silent anticheat bans only when someone has enabled a cheat, there is no any returning bans afaik. So after you'v unbanned him everything should be fine? Isn't it? or hes still cheating and you with him just want to have a fun?
  3. Great work as always, but just one question. What is the point of making external library modules without releasing an API?
  4. you have not, string.match() is returning substring instead of position thats the problem. if level >= 1 and flood == 0 then if arg0 == "say" or arg0 == "say_team" or arg0 == "say_buddy" or arg0 == "say_teamnl" then if string.find(arg1, "!example") == 1 then -- if string is looking like that "!examplebabababala" then it will return anyway position, just in case it check for position '1' to avoid situation like that "bababa!examplehaha" because string.find will return position inside that string of a match et.G_globalSound("path/to/example.wav") end end end
  5. Just try to use string.find in your case that would work string.find(arg1, "!example") -- if there is a !example command inside then function will always return value different than nil -- string.match() is a kinda different function, it's designed for patterns especially, in your case it should be "(!example.*)" but this function will always return string
  6. Idle Server with no map - triggering watchdog You need to startup server with any map, for example with start command: +map oasis
  7. Probably et_ClientConnect is called first thats why 'client' is empty. That's not good idea to use one global variable for all clients, you should consider to use a table. Try to use et_ClientBegin instead of et_ClientConnect it's called after et_ClientConnect for sure.
  8. Yeah, you understood me wrong, didn't say that your mod have any sign of malware code but I said it on basically that any server admin can make own creepy malware mod. Personally it will be a lot of pain for my AC to run it without admin persmissions because some things may not be working correctly, additionally ET as any application without these rights is essentially restricted when it comes to self-update, network or memory scanning. I had many troubles to make this AC compatible with any mod without binary replacing (launcher). But without departing from the subject: Sometimes I had such an this error when module was loaded twice or wasn't unloaded correctly.
  9. Yeah that's right, but is ET not trusted application I think it is but only thing which threatens is the mod that can contain malware code.
  10. As I remember this error is accompanied by a admin/file rights if you have packs installed correctly. You should try to run this as admin and additionally try to lower a bit UAC settings I think it is causing the problem. This problem is really common on Vista & Windows 7 too, personally didn't have any problems with that but my friend had.
  11. 'c' argument is something like a class or struct pointer like in 'C' LUA doesn't have classes but it's something like it, also you can implement prototype of any variable to this kind of structure to keep unique variable name and get access from that self pointer. Here is the explanation: http://www.lua.org/pil/16.1.html
  12. Yeah, any team, limbo changes are shown in et_clientUserinfoChanged always for sure. You don't have to check them directly from userinfo, you can use instead et.gentity_get function, works faster imo. edit: If you want to stop client from team switching then catch commands from et_ClientCommand callback, check team etc. and then just return value to stop from post-executing or not.
  13. I thought always that this 'inside' feature is the best side of this anticheat, it makes it more secure and more difficult to understand by crackers. Additionally making something from outside is a way harder than inside, there is several reasons that explain that: compatibility, security, complexity.
  14. Its g_knockback cvar, but it works for both sides.
  15. We are happy to have know up with another method but there is no another way in my opinion, but server admins choosing easiest path. About et:legacy I wanted to partner with them but they refused, I can't support another versions because it is associated with endless time with debuging binary over and over to find what I need, also it is not legal to use external closed libraries with GPL lisence. I don't modified any binaries, it uses proxy to gain access and as always it asking client to install or not this. Also I have mentioned admins to keep it renamed because it would confuse clients and in the worst case they will need to download it again and again. I could create external installer as well but it would works only for competitive side which doesn't depend on me as in random player.
  16. Hi, I would like to have that option too like double jumping its really funny. In general in RTCW you don't lose speed and acceleration it would be funny to have that too I'm guessing that won't work with doublejump, would be good to add another cvar to control client's acceleration per jump
  17. It has some functions that help writing LUA scripts, with this api is faster and shorter to make LUA script.
  18. No, I'm sure, it was my server and I didn't change anything after restarting ET everything was fine. ( I don't use any custom hitsounds on my server ) FIX: Sorry but I wrote it wrong, if you play on server 0.8.0 and then directly connect to older server than 0.8.0 then this bug appear
  19. I heard only rumors from my friend who had this problem with restarting HUD settings, but personally I had problem with hitsounds, by default it is set to 'Server' but it was buged, I heard diff sounds than my friends
  20. Just for information, if you play on a server 0.8.0 and ( without disconnecting ) directly connect to older version than 0.8.0 then your hitsounds will be bugged & HUD settings may too.
  21. MINIMAL_LEVEL_TOEXECUTE = 20 -- minimal level to execute this command SHUFFLE_COMMAND = "!shuffle" -- shuffle command SHUFFLE_AFTERTIME = 5*60 -- 5min Client = { } function et_InitGame( levelTime, randomSeed, restart ) maxclients = et.trap_Cvar_Get( "sv_maxclients" ) end function et_ClientCommand( num, cmd ) local arg0 = string.lower(cmd) local arg1 = string.lower(et.trap_Argv(1)) if et.G_shrubbot_level( num ) >= MINIMAL_LEVEL_TOEXECUTE and arg0 == SHUFFLE_COMMAND or arg1 == SHUFFLE_COMMAND then StartTime = os.time() for i = 0, maxclients - 1 do local team = et.gentity_get(i, "sess.sessionTeam") if team ~= 3 then Client[i] = team end end return true -- let execute it end if arg0 == "team" and StartTime ~= nil then if arg1 == "b" then if os.time() >= (StartTime + SHUFFLE_AFTERTIME) and Client[num] == 1 then return false end elseif arg1 == "r" then if os.time() >= (StartTime + SHUFFLE_AFTERTIME) and Client[num] == 2 then return false end end end end It is just concept but it should works, in this case they won't be able to change to ->spec-> another team too
  22. Yeah you're right. But as you've seen about your minimizer sometimes AVs gonna false positive because of dll injections & hooks ( I have really huge problems with it now ) thats why embedding it into entire mod is better idea imo. But this is just my opinion And yeah, coding & developing properly is not quite simple therefore I chose another way.
  23. void Minimize() { HWND hwet = GetActiveWindow(); if (hwet) { WINDOWPLACEMENT wp; GetWindowPlacement(hwet, &wp); if (wp.showCmd == SW_SHOWMINIMIZED) ShowWindow(hwet, SW_RESTORE); else ShowWindow(hwet, SW_MINIMIZE); } } For Windowz, it works from DLL level tested it. But the resolution has to be same as system
×
×
  • Create New...