Jump to content

KruTolic_rus

Members
  • Posts

    94
  • Joined

  • Last visited

Posts posted by KruTolic_rus

  1. Зомби РП? Спасибо, поржал.

    Проживешь дольше.Не знаю,что у тебя там в голове мелькает,А вот у меня уже есть идейки.

    1) Лидер и вояки.Ведь организованные силы куда более интересней,чем по одиночке,верно?

    Круто,когда вас в 5 посылают на задание,а вы встречаете выживших,которые тоже,кстати,выживают вместе.

    Тут и будет цель РП.

    2) Люди будут гражданскими,военными.

    + некоторые организации и банды.У всех у них будет главным это коллектив и выполнение обязанностей.

    3) Зомби будут страшными только когда вы играете один.А вдруг появятся зомби,которые были с улучшенным геномом и вам настанет каюк?

    А почему ? Локальный чат поможет сделать тактику и убить мерзавца.

    4) Сервер убивает сразу 3 зайцев:

    /1: Люди находят друзей.Соответственно играют дольше.Им не скоро надоест взаимодействие с остальными.

    /2: Люди общаются друг с другом.Это куда лучше,чем делать овер 9999 миссий в надежде,что люди не забросят твой сервер.

    /3: Оригинальность.Ваша реакция оправданна.Таких серверов нету в списке.А если и есть,то они домашние.Либо же,их очень мало.Это привлекает людей.Людям надоело Day Z.Они хотят наоборот.Так почему же не создать эту виртуальную реальность? Зачем убивать своих же? Если можно бандами воевать с зомби,или же,если вы в собственной организации,нападать на обьекты,которые вас обидели.Вместе.

    Поэтому,я считаю,что это отличная идея.И вполне вероятно для реализации.Но нужны зомби,которые смогут это все сделать.У меня нету времени делать их самому.

    Я очень люблю свежие идеи (Помогаю Кениксу с его глобальным гейммодом же). Сам придумываю нечто оригинальное и мне не нравится огромная куча однотипных серверов. Но это не RolePlay, РП подразумевает отыгровку роли между группой людей, а тут роль не приходится особо отыгрывать. Так же для ролеплея не характерно присутствие ботов.

    Я все кратко рассказал.Поверь,рп там есть.Ну а боты...исключение же можно сделать??

  2. Ну машина достаточно сильная:

    Intel Xeon E3 2.1 CPU 4 ядра

    4 RAM

    Но часто вижу скачки от 5% до 60-70%...и виноваты зомби.

    В performancebrowser'e смотрел?

    В perfomancebrowser мне,когда я 1 на сервере + 60 зомби показывает нагрузку 2-4%

    Когда же я с 40 игроками,то у меня падает сервер через нагрузку на 1 ядро процессора.она достигает больше 50%

    Но так как я не додумался поставить ВДС,то на хостинге мне выключали за это сервер.Жутко бесило.Но щас будем ставить вдс.И на него до 250 игроков.А что бы выдержало 250 игроков и 200 зомби - нужна оптимизация....

  3. Зомби РП? Спасибо, поржал.

    Проживешь дольше.Не знаю,что у тебя там в голове мелькает,А вот у меня уже есть идейки.

    1) Лидер и вояки.Ведь организованные силы куда более интересней,чем по одиночке,верно?

    Круто,когда вас в 5 посылают на задание,а вы встречаете выживших,которые тоже,кстати,выживают вместе.

    Тут и будет цель РП.

    2) Люди будут гражданскими,военными.

    + некоторые организации и банды.У всех у них будет главным это коллектив и выполнение обязанностей.

    3) Зомби будут страшными только когда вы играете один.А вдруг появятся зомби,которые были с улучшенным геномом и вам настанет каюк?

    А почему ? Локальный чат поможет сделать тактику и убить мерзавца.

    4) Сервер убивает сразу 3 зайцев:

    /1: Люди находят друзей.Соответственно играют дольше.Им не скоро надоест взаимодействие с остальными.

    /2: Люди общаются друг с другом.Это куда лучше,чем делать овер 9999 миссий в надежде,что люди не забросят твой сервер.

    /3: Оригинальность.Ваша реакция оправданна.Таких серверов нету в списке.А если и есть,то они домашние.Либо же,их очень мало.Это привлекает людей.Людям надоело Day Z.Они хотят наоборот.Так почему же не создать эту виртуальную реальность? Зачем убивать своих же? Если можно бандами воевать с зомби,или же,если вы в собственной организации,нападать на обьекты,которые вас обидели.Вместе.

    Поэтому,я считаю,что это отличная идея.И вполне вероятно для реализации.Но нужны зомби,которые смогут это все сделать.У меня нету времени делать их самому.

  4. Не думаю, что за 1000 руб тебе кто-то будет писать такой ИИ. Я так понимаю, это для дейз мода ?

    Оффтоп:

    Если поставить сервер на Тяньхэ-2, то любой скрипт и процента не займет :o

    Это я к тому, что кто-то может и сделает вам, а у вас машина дерьмо какашка и старания - зря

    Почему же ? Разве сервер МТА может хорошо распределять нагрузку по ядрам ? Я не буду ничего утверждать, точно не знаю, но на моей ВДСке раньше(оптимизировал, теперь на одном все нормально) на второе ядро отходило только 10-20 процентов, когда первое в 100% забивалось.

    Не для Day Z.У меня есть собственный Zombie RPG.А еще я делаю Зомби РП. Никакого отношения кроме как темы они не имеют.У них общее только зомби.

  5. Здраствуйте!

    Вообщем,мне нужно,что бы за деньги написали мне скрипт на зомби(как хотите,но играбельно.И что бы везде спавн был рядом с игроком)

    Что требуется:

    1) Зомби должны ходить(анимация PedWalk)

    2) Зомби должны быть максимум 10 на 1 человека(больше не спавниться,если зомби уже 10)

    3) Зомби должны атаковать.Просто атаковать.Находить и бить.Любого чела рядом.На дистанции до 60 юнитов.

    4) Зомби должны быть хорошо оптимизированы(это,пожалуй,самое главное! 200 зомби должны давать нагрузку не более 20% на сервер!)

    5) У зомби должны быть модельки.Хотя бы 20.Разрешается брать их с slothbot

    6) Зомби спавнятся везде.(Я потом сам доделаю конкретику против спавна на крышах и прочее.)

    7) Триггер ZombieProof для сейф зон.Перенесите его...

    Почему мне не нравится slothbot? Смотрите пункт 2.У меня это не получилось сделать.У вас есть такая возможность.

    Насчет настроек для зомби(их кол-во,анимации и пр.) - от вас это не требуется.Ничего лишнего.Никаких прыжков,никаких там кушаний песка или земли.

    Повторяю: оплата есть!!

    Могу предложить до 1000 руб.Но я расцениваю это все в 550-650...(я вам не запрещаю брать slothbot зомби.Мне нужна именно оптимизация,и лимит на человека.Не более того.Остальных ограничений нету.)

    Пишите в ЛС.

  6. Можно попробовать нанять профессиональных разработчиков на некоторое время,а деньги собирать с kickstarter.

    Кто хотел присоединится к МТА уже присоединился. Вы представляете как это вообще будет происходить? Прежде чем они приступят к хоть какой-либо работе, им потребуется минимум месяц для изучения всего, никто на это не пойдет.

    1) Переписать список серверов.(На подобии КС 1.6,где чем меньше пинг,тем выше сервер)

    Стандартная сортировка по пингу не айс? Давайте перепишем, чтобы сортировало ТОЛЬКО по пингу.

    2) Добавить больше функций с использованием энвиромента(сервера PVE очень даже кстати)

    Куда уже больше. Все вокруг можно изменить/заменить/наложить текстуры. Что еще можно придумать?

    3) Массовая реклама МТА с использованием новейших нововведений,А также тех,которые привлекают игроков.

    Проблема с рекламой МТА только в русскоговорящих странах, за рубежом все с этим хорошо.

    Сейчас очень популярен Дэй Зи мод,верно? Это внесло свою частицу в популярность и развитие МТА.А если сделать еще моды,например,Jail-mod(Зона 51 + маппинг,парочка скриптов - готово.).

    Разработчики дали возможность писать игровые режимы третьим лицам. Каждый пользователь может написать то, что хочет, а не то, что нужно обществу. Так что никто не будет этого писать, кроме Вас.

    Сейчас моя команда занимается созданием двух модов: Survive,drift.Скорее всего,они будут в общем доступе.Я бы не против сделать мта популярнее,но на это надо больше времени,коего сейчас мало.Поскольку я сейчас занимаюсь исключительно Кс,то не могу следить за интересами игроков,играющих.

    Ресурсы на Пве ограниченны.Мы не имеем возможности создавать новое,а лишь редактировать старое.(машины,оружие)

    Как ты намерен написать,например что то схожее с Раст,если нет возможности отслеживать энвиромент полнрстью? Карта сама по себе,ее можно лишь менять.Все..

    Пве это не только тупое бегание по новой карте свободно,это еще и взаимодействие с ним.Такого пока что не имеется.Маркеры и колшейпы - не ахты.

  7. Можно попробовать нанять профессиональных разработчиков на некоторое время,а деньги собирать с kickstarter.

    Люди предложили отличную идею: Они готовы платить за то,что бы добавлялись функции в движке МТА,то есть,команды для Lua.Сейчас нужно сделать лишь три вещи:

    1) Переписать список серверов.(На подобии КС 1.6,где чем меньше пинг,тем выше сервер)

    2) Добавить больше функций с использованием энвиромента(сервера PVE очень даже кстати)

    3) Массовая реклама МТА с использованием новейших нововведений,А также тех,которые привлекают игроков.

    Сейчас очень популярен Дэй Зи мод,верно? Это внесло свою частицу в популярность и развитие МТА.А если сделать еще моды,например,Jail-mod(Зона 51 + маппинг,парочка скриптов - готово.).

    P.S>Я,даже,и не против бы помогать улучшать движок МТА.Но я хочу все делать наверняка - либо сейчас мои знания маловаты для того,что бы написать очень годное,которое бы позволило намного улучить мультиплеер игры.

  8. Здраствуйте...

    Я менял код slothmana на зомби под себя,вроде бы,ничего такого трудного не было,поэтому ничего не спрашивал,но когда я сделал так,что бы в радиусе 50 метров было не больше 10 зомби,я обнаружил,что это глобальная задача.То есть,максимум,у меня может быть на сервере 10 зомби.Они делятся между игроками,ведь если больше 10,то зомби уже не спавняться.

    Мне нужно провести проверку так,что бы брало всех игроков и у каждого индивидуально была проверка,а потом,если около него больше 10 зомби,то именно возле него прекратить спавн.А другим игрокам ничего не запрещать,пока тоже не наберут 10 зомби...

    Обьяснил как то...может и поняли.

    Вот кусок кода:

    server:

      
    addEvent( "onZombieSpawn", true ) 
    function RanSpawn_Z ( gx, gy, gz, rot) 
        local safezone = 0 
        local allradars = getElementsByType("radararea") 
        for theKey,theradar in ipairs(allradars) do 
            if getElementData(theradar, "zombieProof") == true then 
                if isInsideRadarArea ( theradar, gx, gy ) then 
                    safezone = 1 
                end 
            end 
        end 
        if safezone == 0 then 
        LimitZombie = 0 
                local allplayers = getElementsByType ( "player" ) 
            for ZombKey,theZomb in ipairs(everyZombie) do 
                if isElement(theZomb) then 
                    if (getElementData (theZomb, "zombie") == true) then 
                        far = 1 
                        local Zx, Zy, Zz = getElementPosition( theZomb ) 
                        for theKey,thePlayer in ipairs(allplayers) do 
                            local Px, Py, Pz = getElementPosition( thePlayer ) 
                            local distance = (getDistanceBetweenPoints3D( Px, Py, Pz, Zx, Zy, Zz )) 
                            if distance < 50 then 
                            LimitZombie = LimitZombie + 1 
                            end 
                            if distance > 30 then 
                            chaseanim = "sprint_civi" 
                            end 
                            if distance < 30 then 
                            chaseanim = "run_civi" 
                            end 
                        end 
                    end 
                end 
            end 
            if table.getn ( everyZombie ) < newZombieLimit and LimitZombie < 10 then 
                if not rot then 
                    rot = math.random (1,359) 
                end 
                randomZskin = math.random ( 1, table.getn ( ZombiePedSkins ) ) 
                local zomb = createPed( tonumber( ZombiePedSkins[randomZskin] ), gx, gy, gz ) 
                    if zomb ~= false then 
                    setElementData ( zomb, "zombie", true  ) 
                    table.insert( everyZombie, zomb )    
                    setTimer ( function (zomb, rot) if ( isElement ( zomb ) ) then setPedRotation ( zomb, rot ) end end, 500, 1, zomb, rot ) 
                    setTimer ( function (zomb) if ( isElement ( zomb ) ) then setPedAnimation ( zomb, "ped", chaseanim, -1, true, true, true ) end end, 1500, 1, zomb ) 
                    setTimer ( function (zomb) if ( isElement ( zomb ) ) then setElementData ( zomb, "status", "idle" ) end end, 2000, 1, zomb ) 
                    triggerClientEvent ( "Zomb_STFU", getRootElement(), zomb ) 
                    end 
            end 
        end 
    end 
    addEventHandler( "onZombieSpawn", getRootElement(), RanSpawn_Z ) 
    

    И на всякий... спавн зомби

    function SpawnZombie () 
        local pacecount = 0 
        while pacecount < 7 do  --7 ZOMBIES AT A TIME TO PREVENT FPS DROP 
            if (table.getn( everyZombie )+pacecount < newZombieLimit ) and (ZombieStreaming == 1) then   
                local xcoord = 0 
                local ycoord = 0 
                local xdirection = math.random(1,2) 
                if xdirection == 1 then 
                    xcoord = math.random(15,40) 
                else 
                    xcoord = math.random(-40,-15) 
                end 
                local ydirection = math.random(1,2) 
                if ydirection == 1 then 
                    ycoord = math.random(15,40) 
                else 
                    ycoord = math.random(-40,-15) 
                end 
                local liveplayers = getAlivePlayers () 
                if (table.getn( liveplayers ) > 0 ) then 
                    local lowestcount = 999 
                    local lowestguy = nil 
                    for PKey,thePlayer in ipairs(liveplayers) do 
                        if isElement(thePlayer) then 
                            if (getElementData (thePlayer, "dangercount")) and (getElementData(thePlayer, "zombieProof") ~= true) and (getElementData(thePlayer, "alreadyspawned" ) == true) then 
                                if (getElementData (thePlayer, "dangercount") < lowestcount) then 
                                    local safezone = 0 
                                    local gx, gy, gz = getElementPosition( thePlayer ) 
                                    local allradars = getElementsByType("radararea") 
                                    for theKey,theradar in ipairs(allradars) do 
                                        if getElementData(theradar, "zombieProof") == true then 
                                            if isInsideRadarArea ( theradar, gx, gy ) then 
                                                safezone = 1 
                                            end 
                                        end 
                                    end 
                                    if safezone == 0 then 
                                        lowestguy = thePlayer 
                                        lowestcount = getElementData (thePlayer, "dangercount") 
                                    end 
                                end 
                            end 
                        end 
                    end 
                    pacecount = pacecount+1 
                    if isElement(lowestguy) then 
                        triggerClientEvent ( "Spawn_Placement", lowestguy, ycoord, xcoord ) 
                    else 
                        pacecount = pacecount+1 
                    end 
                else 
                    pacecount = pacecount+1 
                end 
            else 
                pacecount = pacecount+1 
            end 
        end 
    end 
    

    Заранее спасибо за помощь!

  9. и не будут.

    addEventHandler ( "GetMoneyS", getRootElement(), GetMoneyS ) 
    addEvent ( "onSpecialEvent", true )  
    

    ,а надо:

    addEvent ( "GetMoneyS", true ) 
    addEventHandler ( "GetMoneyS", getRootElement(), GetMoneyS )  
    

    triggerServerEvent ( "GetMoneyS", localPlayer,hitElement)  
    

    if ( localPlayer == hitElement ) then ---/// к чему эта проверка? МБ просто if hitElement then?  
    

  10. Хорошо,почитаю.
      
    local MoneyMarker = createMarker(2490,-1665,12.5, "cylinder", 5, 255, 177, 133,177) 
      
    function Check(thePlayer) 
    if isElementWithinMarker(thePlayer, MoneyMarker) then 
    outputChatBox("WTF1") 
    timer = setTimer ( getMoney, 1000, 0) 
    end 
    end 
    addEventHandler("onMarkerHit",MoneyMarker,Check) 
      
    function getMoney(thePlayer) 
      
    if isElementWithinMarker(source, MoneyMarker) then 
    givePlayerMoney(source,1) 
    else 
    killTimer(timer) 
    end 
      
    

    Какой ставить аргумент здесь?

    В setPlayerMoney и "isElement..."

    ...

    "@Bad Argument"

    _____

    Нужна проверка,находится ли человек в маркере,если да,то дать ему 1$,если нет,уничтожить таймер.

    Не могу понять зачем вы так закручиваете простой скрипт? Не проще ли сделать так:

    local MoneyMarker = createMarker(2490,-1665,12.5, "cylinder", 5, 255, 177, 133,177) 
      
    function Check(thePlayer) 
         if isElementWithinMarker(thePlayer, MoneyMarker) then 
              outputChatBox("WTF1",getRootElement()) 
              timer = setTimer ( function() givePlayerMoney(thePlayer,1) end 
              , 1000, 1) ----/// 3 сет в вашем таймере был "0".То есть,этот скрипт повторяется вечно.Зачем? 
         end 
    end 
    addEventHandler("onMarkerHit",MoneyMarker,Check) 
      
    

  11. Люди помогите понять структуру скриптов, я вроде уже все по чучуть понял, но путаюсь с агрументами в скобках возле функции (выделил):

    function playerDied[u][b](totalAmmo, killer, killerWeapon, bodypart)[/b][/u] 
        outputChatBox(getPlayerName(source).." умер!") 
    end 
    addEventHandler("onPlayerWasted",getRootElement(),playerDied) 
      
    

    объясните кому не лень просто и ясно что за что отвечает и когда оно нужно когда нет, желательно на каком-то ясном примере, буду очень признателен.

    Кидать ссылки на мта-вики и уроки lua не надо, а хотя если есть очень толковый туториал давайте :lol:

    (totalAmmo, killer, killerWeapon, bodypart) --- спешлы которые можно использовать,если те есть в addEventHandler эвенте(событии) 
    

    https://wiki.multitheftauto.com/wiki/OnPlayerWasted -- почитай,поймешь что за что отвечает.В каждом событии РАЗНЫЕ спешлы и они идут по порядку!!! Если первое,это Игрок,значит будь он source,будь он thePlayer или ped,и даже weapon это будет Игрок! Ты задаешь лишь название к спешлу который привязан к событию

  12. Была такая проблема.Но можно использовать выше названный триггер.На сервере создаешь маркеры.На них евент входа,а внутри функции пишешь триггер.hitPlayer указываешь в функции( function NAME (hitPlayer)) и выводишь что вызов для hitPlayer.А в клиенте принимаешь триггер.Вроде бы все... В мта часто требуется подумать и решить сложнейшим путем,чем пытаться делать "легко",это редко получается

    Обьясню все,что писал выше на примере:

    использовал мой опыт,когда делал свой carshop

    CarShop1 = createMarker(-2475.15942, 2303.83252, 3.98438, "cylinder", 2, 255, 0, 0) 
      
    function TriggerClientMenu (thePlayer) 
    triggerClientEvent ( thePlayer, "onMenuShow", thePlayer, thePlayer ) 
    end 
    addEventHandler( "onMarkerHit", CarShop1, TriggerClientMenu ) 
    

  13. addEventHandler("onClientGUIClick",root,  
    function() 
      if source == твой грид then 
        name = guiGridListGetItemText ( твой грид, guiGridListGetSelectedItem (твой грид), 1 ) 
          if name == "имя твоего row" then 
            ---- действие 
          end 
       end 
    end 
    

      
    GUIEditor.gridlist[1] = guiCreateGridList(9, 21, 245, 196, false, GUIEditor.window[1]) 
    guiGridListAddColumn(GUIEditor.gridlist[1], "Teams", 0.9) 
    for i = 1, 2 do 
    guiGridListAddRow(GUIEditor.gridlist[1]) 
    end 
    guiGridListSetItemText(GUIEditor.gridlist[1], 0, 1, "Army", false, false) 
    guiGridListSetItemText(GUIEditor.gridlist[1], 1, 1, "Gang", false, false)  
    showCursor ( true ) 
      
    addEventHandler("onClientGUIClick",root,  
    function() 
      if source == GUIEditor.gridlist[1]  then 
        name = guiGridListGetItemText ( GUIEditor.gridlist[1] , guiGridListGetSelectedItem (GUIEditor.gridlist[1] ), 1 ) 
          if name == "Army" then 
            outputChatBox ("You spawned as Army") 
          end 
       end 
    end 
    

  14. В данном куске кода все выглядит более-менее логично.

    Добавляется новое событие, потом - его обработчик с функцией.

    Цикла нет, следовательно, один раз генерируется рандомное число, а потом один раз, в зависимости от этого числа, выполняется соответствующая ему часть if'а.

    Получается, что событие вызывается несколько раз? Ищите проблему в вызове события.

    Дело в том,что событие вызывается 1 раз,но исполняются не 1 рандомное,а сразу все 6...как быть?

  15. ipairs перебирает таблицы, а вы дали ему randomID, который есть число.

    p.s. он печатает не все, а работает как раз-таки рандом. некотрые повторяются.

    если подставить перебор именно таблицы: for k,settable in ipairs ( servertable ) do

    то цикл пройдет шесть раз (собственно, столько в таблице у вас строк: он пройдет ВСЮ таблицу, один проход - одна строка, по очереди). то есть шесть раз (по одному разу за каждый проход) генерируется случайное число, и для него сразу после срабатывает соответствующий if (по одному разу за один проход - получается, что разные if'ы в сумме срабатывают тоже шесть раз). кстати, по-моему, вам следует задуматься об использовании elseif.

    Спасибо,я учту.Но как мне быть,то???

    Допустим,будет у меня elseif но что делать с

    for k,settable in ipairs ( ) do 
    

    ?

    P.S. > Получился вот такой код,но теперь вызывается сразу все:

          ---===SERVER===--- 
           
       servertable = { 
       [1] = 1, 
       [2] = 2, 
       [3] = 3, 
       [4] = 4, 
       [5] = 5, 
       [6] = 6 
       } 
       
          addEvent( "donateallow",true) 
          addEventHandler ("donateallow",root, 
          function() 
          local randomID = math.random ( 1, #servertable ) 
               if randomID == 1 then 
               giveWeapon ( source,31,math.random(10,150) ) 
               outputChatBox ("You are won some guns",source) 
               elseif randomID == 2 then 
               outputChatBox ("You are not lucky ",source,255,0,0,false) 
               elseif randomID == 3 then 
               setPedSkin ( source ,math.random (1,210) )  
               outputChatBox ("You are won Skin!",source)   
               elseif randomID == 4 then 
               killPed ( source ) 
               outputChatBox ("Oh...sorry guy ",source,0,255,0,false)   
               elseif randomID == 5 then 
               x,y,z = getElementPosition ( source )  
               createVehicle ( 411 , x + 3,y,z) 
               outputChatBox ("Vehicle near you ;D",source) 
               elseif randomID == 6 then 
               setElementHealth ( source , 50 ) 
               outputChatBox ("Nothing...only lower of your HP!",source,0,255,0,false)   
               end 
          end 
          ) 
    

  16. 16 строка: bad argument #1 to ipairs (table expected,got number)

         ---===SERVER===--- 
           
       servertable = { 
       [1] = 1, 
       [2] = 2, 
       [3] = 3, 
       [4] = 4, 
       [5] = 5, 
       [6] = 6 
       } 
       
          function AllowRightKey () 
          local randomID = math.random ( 1, #servertable ) 
             for k,settable in ipairs ( randomID ) do 
                   if settable == 1 then 
                   giveWeapon ( source,31,math.random(10,150) ) 
                   outputChatBox ("You are won some guns",source) 
                   end 
               if settable == 2 then 
               outputChatBox ("You are not lucky ",source,255,0,0,false) 
               end 
                   if settable == 3 then 
                   setPedSkin ( source ,math.random (1,210) )  
                   outputChatBox ("You are won Skin!",source)   
                   end 
               if settable == 4 then 
               killPed ( source ) 
               outputChatBox ("Oh...sorry guy ",source,0,255,0,false)   
               end 
                   if settable == 5 then 
                    x,y,z = getElementPosition ( source )  
                    createVehicle ( 411 , x + 3,y,z) 
                    outputChatBox ("Vehicle near you ;D",source) 
                   end 
               if settable == 6 then 
               setElementHealth ( source , 50 ) 
               outputChatBox ("Nothing...only lower of your HP!",source,0,255,0,false)   
               end 
             end 
          end 
          addEvent( "donateallow",true) 
          addEventHandler ("donateallow",getRootElement(),AllowRightKey) 
    

  17. Вы ничего не поняли.

    Просто скажите, что вы хотите сделать.

    У меня уже все получилось,я хотел сделать так,что бы,если человек вышел - сохранился его Уровень и Опыт.

    Когда зашел - ему вернулся тот же Уровень и Опыт.

  18. С чего вы решили что setElementData что-то должно сохранять?

    Не понятно чего вы добиваетесь от OnPlayerQuit().

    Вы чтоли специально записываете в глобальную область две переменные? А если другой игрок перезапишет их?

    Я вобще не понимаю вашей логики, объясните хотя бы..

    1.У меня мало фантазии.

    2.Что он может переписать,если исполняется все на server? 0_0

    3.Спасибо,мне ваш текст напомнил чуть о клиентской стороне.Когда я все перевел туда - все начало сохранятся,за это огромное спасибо.Код закомпилирован,уже никто ничего не перепишет.

  19. Вообщем,есть вот такой код на server:

    function OnPlayerQuit () 
    savedata = getElementData ( source , "Level" ) 
    saveexp = getElementData ( source, "EXP" ) 
    end 
    addEventHandler ("onPlayerQuit",getRootElement(),OnPlayerQuit ) 
      
    function OnPlayerJoin () 
    setElementData ( source , "Level",savedata ) 
    setElementData ( source , "EXP",saveexp ) 
    end 
    addEventHandler ("onPlayerJoin",getRootElement(),OnPlayerJoin) 
      
    

    Ни то,ни то - не сохраняется,если человек заходит,в TAB не сохраняет его уровень...что же делать???

×
×
  • Create New...