// #autoload // #name = UEfix // #version = 2.0 // #date = April 25, 2005 // #category = Fix // #author = Lou Cypher // #warrior = LouCypher // #email = asta_llama_lincoln@hotmail.com // #web = http://deadzone.cjb.net // #description = Prevents clients from being vulnerable to crashing via NULL voice exploit and malformed ML tags $UEfix::detectedWav = "voice/Male1/gbl.obnoxious.WAV"; if (!isObject(UEfix)) { new ScriptObject(UEfix) { class = UEfix; warning = "voice/Male1/gbl.obnoxious.WAV"; }; } // Plays a specified sound file. function UEfix::playSound(%this, %soundFile) { alxStopMusic(); if (!isFile("audio/"@ %soundFile)) return; %playsound = alxCreateSource( AudioGui, %soundFile ); alxSourcef(%playsound, "AL_PITCH", 1); alxPlay( %playsound ); } package UEfix { function alxGetWaveLen(%wavFile) { if ( strstr( %wavFile , ".wav" ) == -1 ) return $MaxMessageWavLength + 1; // echo("Length check: " @ %wavFile); parent::alxGetWaveLen(%wavFile); } function MessageVector::pushBackLine(%this, %text, %tag) { %tribeStart = strstr( %text , "" ) == -1 ) { UEfix.playSound(UEfix.warning); error("MessageVector::pushBackLine - Exploit detected!"); warn("Line: " @ %line); return; } } %t2ServerStart = strstr( %text , "" ) == -1 ) { UEfix.playSound(UEfix.warning); error("MessageVector::pushBackLine - Exploit detected!"); warn("Line: " @ %line); return; } } parent::pushBackLine(%this, %text, %tag); } function IRCTCP::onLine(%this,%line) { %tribeStart = strstr( %line , "" ) == -1 ) { UEfix.playSound(UEfix.warning); error("IRCTCP::onLine - Exploit detected!"); warn("Line: " @ %line); return; } } %t2ServerStart = strstr( %line , "" ) == -1 ) { UEfix.playSound(UEfix.warning); error("IRCTCP::onLine - Exploit detected!"); warn("Line: " @ %line); return; } } parent::onLine(%this, %line); } }; if (!isActivePackage(UEfix)) activatePackage(UEfix);