1. BanDiTuK31.03.2025 at 11:33 PMот
  2. D1zo31.03.2025 at 8:27 PMот
Loading...

[OrangeBox] Lua Source Scripting 2.2 [Updated 12.02.2014]

Discussion in 'Counter-Strike' started by LaGGeR1337, 13.02.2014.

  1. LaGGeR1337

    LaGGeR1337

    Статус:
    Оффлайн
    Joined:
    20.10.13
    Messages:
    4
    Репутация:
    0 +/-
    Представляю вам обновленный Lua Mod для CSS v81 и последующих версий.

    Мод был обновлен одним человеком, так что пользуйтесь на здоровье :smile: .

    Для тех кто не знает: LSS является плагином для Counter-Strike: Source, который позволяет использовать lua скрипты в непосредственном взаимодействии с движком.

    Многие уже знают как устанавливать данный софт, поэтому я не стал вникать в подробности.


    Внутреигровые функции:

    cmd( "command" )
    Выполняет команду так же как вы выполняете ее в консоли.

    rawcmd( "command\n" )
    Функция работает в точности как и предыдущая, но без использования буфера. Конец строки аргумента этой функции должен заканчиваться c \n.

    wait( milliseconds )
    Задержка в миллисекундах перед выполнением следующего действия в скрипте.

    getBaseAddr( module )
    Возвращает начальный адрес любого модуля загруженного в игру.

    readmem( address, bytes )
    Функция читает адрес в памяти игры и возвращает его в int.

    readfloat( address, bytes )
    То же самое что и предыдущая функция, но возвращаемый тип переменной будет числом с плавающей точкой ( 4 bytes - float, 8 bytes - double ).

    getCVar( "cvar" )
    Возвращает значение любой переменной из консоли.

    setCVar( "cvar", "value" )
    Функция силой выполняет любую переменную в консоли и её значение.

    keyDown( KeyCode )
    Функция проверяет нажата ли определенная клавиша на клавиатуре ( Прямой аналог GetAsyncKeyState ).

    print( "text", 255, 255, 255 )
    Пишет в консоль любой ваш текст в цветном или обычном виде.

    Запуск LSS для Steam CSS:

    Так как Valve отключила поддержку клиентских плагинов для CSS, то нам придется сделать следующее:

    1. Скачиваем архив vac_bypass.zip.
    2. Извлекаем содержимое в папку "Counter-Strike Source\cstrike\addons".
    3. Кликаем в стиме правой кнопкой мыши по Counter-Strike: Source, затем выбираем Свойства -> Установить параметры запуска, и вводим в поле "-insecure" без кавычек.

    ВНИМАНИЕ! Для No-Steam CSS данную процедуру делать не требуется!

    Файлы:

    OBLSS2.2.zip:
    Скачать
    VT

    vac_bypass.zip:
    Скачать
    VT

    Обновленные скрипты:

    Скрипт на Bhop:

    Code:
    print("*",0x32,0xCD,0x32)print("******BunnyHop*For*OBLSS****",0xFF,0x69,0xB4)print("*\n",0x32,0xCD,0x32)
    print("*",0x32,0xCD,0x32)print("  Credits: HaloShadoW       ",0xFF,0xFF,0xFF)print("*\n",0x32,0xCD,0x32)
    print("*",0x32,0xCD,0x32)print("****************************",0xFF,0x69,0xB4)print("*\n",0x32,0xCD,0x32)
    clientbase=getBaseAddr("client.dll")
    guibase=getBaseAddr("vguimatsurface.dll")
    cmd("unbind space")
    function onGround()
     return readmem(clientbase+0x59BBE0,4)
    end
    function guiOpen()
     return readmem(guibase+0x140020,4)
    end
    while (keyDown(35)==0) do
     if (keyDown(32)~=0) and (onGround()~=-1) and (guiOpen()==0) then
      rawcmd("+jump\n")
      wait(5)
      rawcmd("-jump\n")
     else
      wait(5)
     end
    end

    Скрипт на AutoKnife:

    Code:
    knifedist = 64
    
    do
    	client = getBaseAddr( "client.dll" )
    	radar = readmem( client + 0x5A36A8, 4 )
    	to = 0x58	-- team
    	ho = 0x5C	-- health
    	xo = 0x60	-- x pos
    	yo = 0x64	-- y pos
    	zo = 0x68	-- z pos
    end
    
    me = {} tar = {}
    
    function getString( Addr, length )
    	local temp = ''
    	for i = 0, length - 1 do
    		byte = readmem( Addr + i, 1 )
    		if byte == 0x00 then 
    			return temp 
    		end
    		temp = temp..string.char( byte )
    	end
    	return temp
    end
    
    function localid( )
    	local tn = ''
    	local mn = getCVar( "name" )
    	for i = 0, 64 do
    		tn = getString( radar + 0x38 + ( i * 0x140 ), 32 )
    		if tn == mn then
    			return i
    		end
    	end
    	return -1
    end
    
    function getDist( )
    	local locs = {}
    	local info = {}
    	me.x = readfloat( radar + xo + ( me.id * 0x140 ), 4 )
    	me.y = readfloat( radar + yo + ( me.id * 0x140 ), 4 )
    	me.z = readfloat( radar + zo + ( me.id * 0x140 ), 4 )
    	me.team = readmem( radar + to + ( me.id * 0x140 ), 4 )
    	for i = 1, 32 do
    		hp = readmem( radar + ho + ( i * 0x140 ), 4 )
    		tar.team = readmem( radar + to + ( i * 0x140 ), 4 )
    		if hp > 0 and ( ( me.team == 2 and tar.team == 3 ) or ( me.team == 3 and tar.team == 2 ) ) then
    			tar.x = readfloat( radar + xo + ( i * 0x140 ), 4 )
    			tar.y = readfloat( radar + yo + ( i * 0x140 ), 4 )
    			tar.z = readfloat( radar + zo + ( i * 0x140 ), 4 )
    			dist = math.sqrt( ( ( tar.x - me.x ) ^ 2 ) + ( ( tar.y - me.y ) ^ 2 ) + ( ( tar.z - me.z ) ^ 2 ) )
    			locs[dist] = i
    			table.insert( info, dist )
    		end
    	end
    	table.sort( info )
    	return ( info[1] or 100 ), ( locs[info[1]] or 1337 )
    end
    
    me.id = localid( )
    
    while keyDown( 35 ) == 0 do
    	distance, id = getDist( )
    	if ( ( distance < knifedist and distance > 10 ) and id ~= 1337 ) then
    		cmd( "+attack2" )
    		wait( 10 )
    		cmd( "-attack2" )
    	end
    	wait( 20 )
    end
    
    print( "Script stopped\n", 255, 0, 0 )
     
    Last edited: 14.02.2014