[ Обновленные темы · Новые сообщения · Участники · Поиск · RSS ]
Результаты поиска
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
ищи в Local.xml
там есть контейнеры, отвечающие за стили игры


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
закрываю тему, ибо неактуальна!

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
Идея: Сделать lua-скрипты в паке карт для игры по онлайну
Тема зародилась тут. Паки карт поддерживают замену lua-скриптов, а это очень мощный инструмент для создания модов и всего-всего! если измудриться можно даже онлайн-миссию сделать!

Основная проблема: при отключении lua-скрипта stdvs.lua для мультиплеерной карты игра не начинается, камера начинает хаотично крутиться и ничего не происходит. Отсюда вывод: в любом паке карт для каждой карты должен быть stdvs.lua. Значит надо прицепить свой lua-скрипт, обрабатывающий некоторые события.

Надо:
составить общий список событий, вызываемых в lua скриптах(надо проглядеть все lua файлы и посмотреть все функции, которые не вызываются внутри этого же lua-скрипта)
После этого надо попробовать создать свой lua-скрипт со своими функциями, и там прописать обработку эти событий. Затем в паке карт к нужной карте попытаться прицепить этот lua-скрипт, т.е. чтобы в свойствах карты в строке lua-скрипты было:

Code
stdvs,wormpot,myscript.lua

и посмотреть эффект

Некоторая информация по lua тут

p.s. у меня нет червей, не могу этого сам проделать, так что помогайте! возможно мы перевернём мир Worms!


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
думаю нет..

Данная тема далее будет развиваться тут
В этой теме продолжаем обсуждать, что нужнее: паки карт и моды?


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
я помню вроде там есть контейнер, содержащий в се ссылки на контейнеры с количеством оружия каждого типа, его задержки по ходам и т.п.
вот ищи в своём стиле нужную ссылку и меняй в контейнере по ссылке сами количества


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
я говорю именно о паках карт+lua,
проблема как раз в том, что все карты, добавляемые через пак карт я сделал мультиплеерными. от stdvs не избавиться( и кстати другие просто не будут доступны в онлайн-игре вроде бы...

я сейчас составляю список функций-обработчиков в lua-скриптах, надо попробовать их поставить в своих скриптх. Кстати, я 1 файл нашёл.. там 2 раза функция объявлена
вот, Deathmatch4.lua:

Code
Deathmatch4.lua:41:    PlayIntroMovie()
Deathmatch4.lua:48:    EFMV_Terminated()
Deathmatch4.lua:53:    DoOncePerTurnFunctions()
Deathmatch4.lua:5 8:    TurnEnded()
Deathmatch4.lua:62:    DoOncePerTurnFunctions()

Поэтому мне кажется можно поверх своего обработчика написать новый.

firsacho, проверь плз..
например к стандартной карте, в которой есть обработчик TurnEnded() прикрепи файл myscript.lua(см. в прикреплённых файлах). он перекрывает функцию TurnEnded().
Важно понять, что будет работать: обе функции, или только в myscript.lua или наооборот..

кстати, насчёт AI бота...
открой stdlib.lua:

Code
function RunAILogic()
  -- ovverride this function to now have AI.
  SendMessage("AI.PerformDefaultAITurn");
  -- actually called to start the AI turn.
  SendMessage("AI.ExecuteActions");
end

какие-нибудь мысли есть?)

насчёт распределения ролей.. тут посложнее. Есть функция в lib_help.lua:

Code
function lib_GetRandom(min, max)
    SendMessage("RandomNumber.Get")
    local RawRand = GetData("RandomNumber.Uint")
    local MyRand = min + math.mod(RawRand, max+1-min)
    return MyRand
end

так вот, по-моему не зря тут вызывают GetData("RandomNumber.Uint"), а не math.random, которая есть в lua. по-моему lib_GetRandom(min, max) вернёт одинковое число для всех игроков, таким образом назначение ролей вполне реально) надо только определить игрока, у которого запущен скрипт...

ещё, до меня кое-что допёрло!) файл stdlib.lua содержит многие стандартные обработчики событий, они перекрываются обработчиками из других файлов.. наверно

Прикрепления: myscript.lua (0.3 Kb)


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
у меня есть некоторые догадки по назначению ролей...

кусок кода из lib_help.lua

Code
function lib_SetupMultiplayerTeam(TeamName, NumWorms, Worm1Name, Worm2Name, Worm3Name, Worm4Name, Worm5Name, Worm6Name,
                    Skill, Grave, Flag, Speech, IsLocal, AlliedGroup, Handicap,
                    HatAttachment, GlassesAttachment, TashAttachment, GlovesAttachment,vWormSpawnIndex)

    local lock, team
    local WormSpawnIndexA
    WormSpawnIndexA=vWormSpawnIndex
    lock, team = EditContainer(lib_GetTeamContainerName(TeamIndex))  
    team.Active = true
    team.Name = TeamName
    team.TeamColour = 0
    team.Skill = Skill
    team.GraveIndex = Grave
    team.FlagGfxName = Flag
    team.AlliedGroup = AlliedGroup
    team.IsLocal = IsLocal
    team.ATT_Hat = HatAttachment
    team.ATT_Glasses = GlassesAttachment
    team.ATT_Tash = TashAttachment
    team.ATT_Gloves = GlovesAttachment
    if Skill>0 then
       team.IsAIControlled = true
    else
       team.IsAIControlled = false
    end

меня интересует
team.IsLocal = IsLocal
давайте подумаем. если у 2-х игроков 1 и тот же скрипт, он выполняется в одинаковом порядке, значит если у одного игрока team.IsLocal будет = true, или 1, а у другого false или 0, значит эта переменная означает, что это команда 1-го игрока. надо попытаться это проверить....


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
ну не мои проблемы)читай про xml, разбирайся, в общей структуре всех xml файлов, применяемых в игре и всё поймёшь

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
короче.. раньше на lua толком внимания не обращал, щас понимаю, что это мега-мощная штука. глядите сами:

вот пример кода:

Code
function lib_SetupCrate(DataId)
    local CrateContainerData = QueryContainer(DataId)
    SendMessage("GameLogic.ResetCrateParameters")
    SetData("Crate.Type", CrateContainerData.Type)
    SetData("Crate.Contents", CrateContainerData.Contents)
    SetData("Crate.NumContents", CrateContainerData.NumContents)
    SetData("Crate.Index", CrateContainerData.Index)
    SetData("Crate.LifetimeSec", CrateContainerData.LifetimeSec)
    SetData("Crate.GroundSnap", CrateContainerData.GroundSnap)
    SetData("Crate.Parachute", CrateContainerData.Parachute)
    SetData("Crate.Spawn", CrateContainerData.Spawn)
    SetData("Crate.FallSpeed", CrateContainerData.FallSpeed)
    SetData("Crate.Gravity", CrateContainerData.Gravity)
    SetData("Crate.TeamDestructible", CrateContainerData.TeamDestructible)
    SetData("Crate.TeamCollectable", CrateContainerData.TeamCollectable)
    SetData("Crate.UXB", CrateContainerData.UXB)
    SetData("Crate.Hitpoints", CrateContainerData.Hitpoints)
    SetData("Crate.Pushable", CrateContainerData.Pushable)
    SetData("Crate.RandomSpawnPos", CrateContainerData.RandomSpawnPos)
    SetData("Crate.CanDropFromChute", CrateContainerData.CanDropFromChute)
    SetData("Crate.WaitTillLanded", CrateContainerData.WaitTillLanded)
    SetData("Crate.TrackCam", CrateContainerData.TrackCam)
    SetData("Crate.Scale", CrateContainerData.Scale)
    SetData("Crate.AddToWormInventory", CrateContainerData.AddToWormInventory)
    SetData("Crate.CustomGraphic", CrateContainerData.CustomGraphic)
end

все эти переменные определяются в Local.xml

Code

     <XIntResourceDetails id='Crate.AddToWormInventory'>
       <Value>0</Value>
       <Name>Crate.AddToWormInventory</Name>
       <Flags>64</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.CanDropFromChute'>
       <Value>1</Value>
       <Name>Crate.CanDropFromChute</Name>
       <Flags>96</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.DelayMillisec'>
       <Value>0</Value>
       <Name>Crate.DelayMillisec</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.Gravity'>
       <Value>1</Value>
       <Name>Crate.Gravity</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.GroundSnap'>
       <Value>0</Value>
       <Name>Crate.GroundSnap</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.HealthInCrates'>
       <Value>25</Value>
       <Name>Crate.HealthInCrates</Name>
       <Flags>96</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.Hitpoints'>
       <Value>25</Value>
       <Name>Crate.Hitpoints</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.Index'>
       <Value>-1</Value>
       <Name>Crate.Index</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.LifetimeTurns'>
       <Value>-1</Value>
       <Name>Crate.LifetimeTurns</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.NumContents'>
       <Value>1</Value>
       <Name>Crate.NumContents</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.Parachute'>
       <Value>1</Value>
       <Name>Crate.Parachute</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.Pushable'>
       <Value>1</Value>
       <Name>Crate.Pushable</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.RandomSpawnPos'>
       <Value>0</Value>
       <Name>Crate.RandomSpawnPos</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.Showered'>
       <Value>0</Value>
       <Name>Crate.Showered</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.TeamCollectable'>
       <Value>-1</Value>
       <Name>Crate.TeamCollectable</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.TeamDestructible'>
       <Value>-1</Value>
       <Name>Crate.TeamDestructible</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.TrackCam'>
       <Value>1</Value>
       <Name>Crate.TrackCam</Name>
       <Flags>96</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.UXB'>
       <Value>0</Value>
       <Name>Crate.UXB</Name>
       <Flags>98</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='Crate.WaitTillLanded'>
       <Value>1</Value>
       <Name>Crate.WaitTillLanded</Name>
       <Flags>96</Flags>
     </XIntResourceDetails>

то есть вызывая SetData("Crate.Scale", CrateContainerData.Scale) или соответсвующий GetData мы записываем или извлекаем из xml-файла какие-то данные=) круто, да?)

а вот ещё, нашёл код, который возможно содержит в себе какую-нито инфу о текущем игроке.. тока чё-то хз, как ей пользоваться)

Code
   <XIntResourceDetails id='User.Changed'>
       <Value>0</Value>
       <Name>User.Changed</Name>
       <Flags>96</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='User.NameCheck'>
       <Value>0</Value>
       <Name>User.NameCheck</Name>
       <Flags>96</Flags>
     </XIntResourceDetails>
     <XIntResourceDetails id='User.Room'>
       <Value>0</Value>
       <Name>User.Room</Name>
       <Flags>96</Flags>
     </XIntResourceDetails>


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
АлексБонд, вопрос:
как ты узнаёшь, кто есть кто.. то есть как скрипт узнаёт, что он у игрока номер 1, а у второго, что у игрока номер 2?


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
у нас всё также, рандом тоже один, общий, и это круто)

то есть нумерация команд у 1-го и 2-го игрока одинаковая, то есть если игрок 1 играет 1-ой командой, игрок 2 - 2-ой командой, тогда в скрипте у игрока 1 и в скрипте у игрока 2 к примеру такой код:

Code
    lock, team = EditContainer("Team.Data00")  
     team.Active = true
     team.Name = "The Lightsiders"
     team.TeamColour = 0
     team.ATT_Glasses = "WXFE.A.Glasses.Pirate"
     team.ATT_Hat = "WXFE.A.Hat.Pirate"
     --team.ATT_Gloves = "WXFE.A.Gloves.Pirate"
     CloseContainer(lock)

изменит именно команду 1-го игрока? то есть оба игрока увидят одинаковый результат?

ещё, поподробнее рассказать о порядке выполнения скрипта?

Quote (AlexBond)
Скрипты загружаются от функции initialise которая и лежит в stdlib.lua, остальное лишь прикрепляющие файлы, в которых содержаться функции вызываемые из stdlib.lua.

тут ты говоришь, что initialise лежит в stdlib.lua. А у нас не так)
Вот наш stdlib:
Code

-- Called at the start of a game
function StartFirstTurn()
    WaitUntilNoActivity = false
    SendMessage("Timer.StartGame")
    StartTurn()
end

function StartTurn()
    done_once_per_turn_functions = false
    SendMessage("GameLogic.ActivateNextWorm")
    -- do this after activating the worm so his details appear in the HUD
    SendMessage("Timer.StartHotSeatTimer")  
    --SendMessage("Weapon.Create")
    SetWind()
    --TurnStarted()
    SendMessage("GameLogic.Turn.Started")  
    TurnStarted() -- moved here so TeleportIn camera can override startofturn camera
    RunAILogic()
end

function RunAILogic()
  -- ovverride this function to now have AI.
  SendMessage("AI.PerformDefaultAITurn");
  -- actually called to start the AI turn.
  SendMessage("AI.ExecuteActions");
end

function Timer_HotSeatTimedOut()
    SendMessage("Timer.StartTurn")
end

function GameLogic_EndTurn_Immediate()
    -- this called by surrender and skip go  
    -- do all the work here as EndTurn() by itself would be illegal
    SendMessage("Weapon.Delete")
    SendMessage("Utility.Delete")
    SendMessage("Timer.EndTurn")  
    SendMessage("Weapon.DisableWeaponChange")
    EndTurn()
end

function Timer_RetreatTimedOut()
    EndTurn()
end

-- The worm whose turn it is has been damaged
function Worm_Damaged_Current()
    SendMessage("Weapon.Delete")
    SendMessage("Utility.Delete")
    SendMessage("Timer.EndRetreatTimer")
    SendMessage("Timer.EndTurn")   
    SendMessage("Weapon.DisableWeaponChange")
    EndTurn()
end

function Timer_TurnTimedOut()
    SendMessage("Weapon.Delete")
    SendMessage("Utility.Delete")
    SendMessage("Weapon.DisableWeaponChange")
    EndTurn()
end

-- Everything has come stopped moving
function Timer_PostActivityTimedOut()
    SendMessage("GameLogic.AboutToApplyDamage")
    SendMessage("GameLogic.ApplyDamage")
    CheckActivity()
end
     

function CheckActivity()
    Activity = GetData("ObjectCount.Active")
    if Activity == 0 then
       DoPostActivity()
    else
       WaitUntilNoActivity = true
    end
end

function DoPostActivity()
    if done_once_per_turn_functions == true then
       SendMessage("GameLogic.Turn.Ended")  
       TurnEnded()
    else  
       -- Done only once
       SendMessage("Net.DisableAllInput")
       SendMessage("Worm.ApplyPoison")
       SendMessage("GameLogic.AboutToApplyDamage")
       SendMessage("GameLogic.ApplyDamage")
       SetData("DoubleDamage", 0)
       DoOncePerTurnFunctions()
       done_once_per_turn_functions = true
       local GameOver = GetData("FCS.GameOver")
       -- do no further processing if sudden death drew the game
       if GameOver == 0 then
          CheckActivity() -- in case an earthquake or similar was just started
       end
    end
end

-- override this
function TurnStarted()
end

-- override this
function TurnEnded()
    CheckOneTeamVictory()       
end

-- decides if the game has been won or drawn at the end of every turn
-- Note do this last in the TurnEnded function as it finishes with the StartTurn Message
function CheckOneTeamVictory()
    -- Changed to use alliances rather than teams so 2 teams vs 1 can end correctly
    SendMessage("WormManager.GetActiveAlliances")
    AllianceCount = GetData("AllianceCount")
    if AllianceCount == 0 then
       RoundOver()
       -- all the teams have just snuffed it
       SendMessage("GameLogic.Draw")
    elseif AllianceCount == 1 then
       RoundOver()
       -- only one team remains
       -- PC: changed this call to catch naughty use of GetActiveTeamIndex usage. Use the new  
       -- call to get the last team with a worm thats alive on it.
       SendMessage("WormManager.GetSurvivingTeam")
       WinningTeam = GetData("SurvivingTeamIndex")
       SendIntMessage("GameLogic.Win", WinningTeam)
    else
       StartTurn()
    end
     
end

function EndTurn()
    -- note: could this happen multiple times per turn (eg from WormDamagedCurrent)?
    -- if so does it matter?

    -- Poisoning now moved to DoPostActivity

    SendMessage("GameLogic.EndTurn")
    
    Activity = GetData("ObjectCount.Active")
    if Activity == 0 then
       SendMessage("Timer.StartPostActivity") -- pause
    else
       WaitUntilNoActivity = true
    end
end

-- If there was some activity its finished now
function GameLogic_NoActivity()
    if WaitUntilNoActivity == true then
       -- reset WaitUntilNoActivity before calling message below because zero time might
       -- cause it to call back immediately and set it true again
       WaitUntilNoActivity = false
       SendMessage("Timer.StartPostActivity")
    end
end

function SetWind()
    SelectRandomWind()
end

function SelectRandomWind()
    -- First the speed
    SendMessage("RandomNumber.Get")
    RandomNumber = GetData("RandomNumber.Float")
    MaxWind = GetData("Wind.MaxSpeed")
    WindCap = GetData("Wind.Cap")/10 -- Scheme can set the maximum value 1-10 as appears in HUD
    SetData("Wind.Speed", WindCap*RandomNumber*RandomNumber*MaxWind) -- now squared to make high winds less common

    -- Now a direction
    SendMessage("RandomNumber.Get")
    RandomNumber = GetData("RandomNumber.Float")
    Direction = RandomNumber * 2 * 3.14
    SetData("Wind.Direction", Direction)    
end

function DoOncePerTurnFunctions()
end

function RoundOver()
end

function SetWormpotModes()
end

а Initialize обычно в других файлах определяется. Кстати, объясни поточнее, как тут функции перегружаются как определить, какая функция какую перегружает? просто порядок их определения не очень ясен..


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
Кто нибудь, попробуйте добавить в наш stdlib.lua в конец файла это:

Code
function Weapon_Fired_Start()
   SetData("Text.TestComment", "FIRE!")  
   SetData("CommentaryPanel.Comment", "Text.TestComment")
   SendMessage("CommentaryPanel.ScriptText")
    SendMessage("Timer.EndTurn")  
    SendMessage("Weapon.DisableWeaponChange")
end

и запустите какую-нибудь игру(не по инету, на компе), затем выстрелите
меня интересуют 2 вещи, выведится ли при выстреле текст FIRE!, вылетит ли вообще игра, или будет всё корректно работать.. короче это важно! если всё заработает, значит можно писать свои обработчики аналогичные тем, которые в Worms3D(у нас обработчика выстрела нету( )


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
эта функция, которая вызывается при выстреле из оружия. Я её написал в прошлом посте. Я прошу вас попробовать написать её в луа файле, и посмотреть, вызовется ли она? (то есть есть ли этот обработчик в W4)

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
какое слово???при чём тут перевод?) Фирсачо, это никак с локализацией не связано... это связано с интерпретатором луа, точнее с тем, как он встроен в W4. Я так подозреваю(даже вроде где-то об этом читал), что луа позовляет вызывать функции из программы, в которую луа встроен.. короче, если разработчики W4 захотели, чтобы SetData позволял бы что-то сделать, то они прописали его в интерпретаторе Lua как доступную, вот и всё)

P.S. когда скажете мне результат этого скрипта??? angry
P.P.S. я тут щас весь в учёбе, так что появляюсь редко.. извините плохого Одмина..


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
не.. это надо в stdlib.lua... hitman, cпасибо!

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
Фирсачо... просьба,поставь скрипт тока на главной( я просто не могу по сайту ползать...

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
не в нете проблема! в компе! он не выдерживает всякую анимацию) проц под 100% грузится(

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
старый, отцовский) он говорит я его загажу всякими прогами, поэтому не даёт)

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
12

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
14

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Поиск: