Jump to content

dewu

Members
  • Posts

    171
  • Joined

  • Last visited

Posts posted by dewu

  1. logo2.png


    Nasza historia zaczęła się wraz ze startem pierwszej edycji - "Żywe-Trupy". To ona dała początek i podstawę do stworzenia lidera na scenie serwerów Multi Theft Auto z modem DayZ. ZT zrobiło furorę nie tylko na Polskiej scenie, entuzjaści przybywali do nas z całego świata. Pomimo braku doświadczenia w tamtym okresie serwer z powodzeniem prosperował i przyciągał uwagę kolejnych przetrwałych. 
    Niestety, ze względu na brak czasu projekt został przez nas wstrzymany. 

    Wstrzymany, to dobre słowo, bo niewiele ponad 6 miesięcy później powstał na nowo jako pierwsze "NationZ". Poprawione, upiększone, rozbudowane. Im dłużej serwer widniał na liście serwerów, tym więcej nowości dodawaliśmy. 

    Kolejne dwa miesiące przygotowań, wdrażania nowych systemów i rozwiązań, tylko i wyłącznie dla Was, tych, bez których tak wiele nie mógłbym napisać o historii. Finalnie projekt ochrzciliśmy jako "NationZ", oznaczony jako edycja z numerkiem II. 

    Lista najważniejszych zmian:

    • Dodany prototyp hełmu (75% szans na redukcję otrzymanych obrażeń do 0 przy strzale w głowę, 25% szans na zniszczenie hełmu. Ponadto M24 i M40A3 mają 100% szans na przebicie.) 
      Dodany prototyp kamizelki (33% mniejsze obrażenia przy strzale w tors, 10% szans/strzał na zniszczenie kamizelki, 100% penetracji przy strzale z M24 i M40A3) 
      Dodany przedmiot: Engine Oil, niezbędny do uruchomienia silnika 
      Dodany przedmiot: Car Battery, niezbędny do uruchomienia silnika 
      Dodane nowe celowniki do dalekosiężnych karabinów snajperskich 
      Dodane trzy lokalizacje w prawym dolnym rogu mapy, w których uzupełnić można Engine Oil 
      Dodane nowe respawny pojazdów 
      Poprawiony skrypt dla respawnu helek 
      Poprawiony skrypt dla respawnu pojazdów (już nie respią się na sobie) 
      Dodany automatyczny respawn oraz czyszczenie nieużywanych pojazdów 
      Dodany losowy respawn pojazdów zależny od ilości wolnych pojazdów na mapie 
      Dodana wersja testowa Godziny Z. Podczas eventu zmienia się pogoda na mglistą, w obiektach medycznych wyją syreny, a w ich zasięgu następują drastyczne spadki temperatury, zwiększa się ilość, aktywność, pole widzenia oraz hp zombie, do tego spadają zrzuty przed szpitalem w każdym z trzech miast. Event powtarza się raz w godzinach 18-22 
      Dodany przedmiot: Epi-Pen, czyli strzykawka z adrenaliną do przywracania przytomności graczom 
      Od teraz mając krew na poziomie niższym niż 3000 gracz będzie miał % szans na nieodzyskanie przytomności po jej utracie. Im mniej krwi poniżej 3000, tym procent większy. Jedyną możliwą opcją na uratowanie będzie podanie Epi-Pena przez osobę trzecią
      Dodany przedmiot: Police Vest, większa wytrzymałość, redukcja obrażeń aż do 50% 
      Dodany "wallhack" dla członków tej samej grupy, plus oznaczenie nickiem, a na dalszy dystans oznaczenie znaczkiem 
      Dodany system zamawiania baz. System upraszcza użytkownikom cały proces zakupu. Ten wybiera interesujący go rozmiar, rodzaj, liczbę pięter oraz lokalizację, doładowuje konto punktami i zamawia. System automatycznie założy temat i powiadomi administrację o nowym zamówieniu.
      Dodana wirtualna waluta "Punkty" (cztery metody doładowania portfela). Koniec z podaniami, dziesiątkami stron, które musimy zwiedzać aby coś zamówić. Od teraz punktami zapłacimy za wszystko w jednym miejscu. 
      Dodana nowa metoda doładowania portfela: SuperRewards (darmowe punkty za wykonywanie ankiet, quizów, pobieranie gier, rejestracje) 
      Dodana strona wejściowa (landing page) w dwóch językach 
      Dodany panel zarządzania usługami dla użytkownika (termin ważności, przedłużenie, powiększenie)
      Ukończone pełne tłumaczenie dla strony internetowej


    Pełna lista aktualizacji tutaj

    430x73_FFFFFF_FF9900_000000_000000.png

    Strona www: http://nationz.pl
    Start serwera: 23.12.2016, 18:00

  2. Hello guys.

    I have strange error in my console from bone_attach script.

     ERROR: bone_attach/attach_func.lua:117: cannot resume dead coroutine [string "?"] 
    

    Everything works properly, but this error appear every 1 second in debugscript and console.

    I never used coroutine, so I don't know from where it try to get value and get string.

    attach_func.lua: 117:

    setTimer(function() coroutine.resume(clearing_nonexisting_peds) end,1000,0) 
    

    attach_func.lua:

    attached_ped = {} 
    attached_bone = {} 
    attached_x = {} 
    attached_y = {} 
    attached_z = {} 
    attached_rx = {} 
    attached_ry = {} 
    attached_rz = {} 
      
    function attachElementToBone(element,ped,bone,x,y,z,rx,ry,rz) 
        if not (isElement(element) and isElement(ped)) then return false end 
        if getElementType(ped) ~= "ped" and getElementType(ped) ~= "player" then return false end 
        bone = tonumber(bone) 
        if not bone or bone < 1 or bone > 20 then return false end 
        x,y,z,rx,ry,rz = tonumber(x) or 0,tonumber(y) or 0,tonumber(z) or 0,tonumber(rx) or 0,tonumber(ry) or 0,tonumber(rz) or 0 
        attached_ped[element] = ped 
        attached_bone[element] = bone 
        attached_x[element] = x 
        attached_y[element] = y 
        attached_z[element] = z 
        attached_rx[element] = rx 
        attached_ry[element] = ry 
        attached_rz[element] = rz 
        if setElementCollisionsEnabled then 
            setElementCollisionsEnabled(element,false) 
        end 
        if script_serverside then 
            triggerClientEvent("boneAttach_attach",root,element,ped,bone,x,y,z,rx,ry,rz) 
        end 
        return true 
    end 
      
    function detachElementFromBone(element) 
        if not element then return false end 
        if not attached_ped[element] then return false end 
        clearAttachmentData(element) 
        if setElementCollisionsEnabled then 
            setElementCollisionsEnabled(element,true) 
        end 
        if script_serverside then 
            triggerClientEvent("boneAttach_detach",root,element) 
        end 
        return true 
    end 
      
    function isElementAttachedToBone(element) 
        if not element then return false end 
        return isElement(attached_ped[element]) 
    end 
      
    function getElementBoneAttachmentDetails(element) 
        if not isElementAttachedToBone(element) then return false end 
        return attached_ped[element],attached_bone[element], 
            attached_x[element],attached_y[element],attached_z[element], 
            attached_rx[element],attached_ry[element],attached_rz[element] 
    end 
      
    function setElementBonePositionOffset(element,x,y,z) 
        local ped,bone,ox,oy,oz,rx,ry,rz = getElementBoneAttachmentDetails(element) 
        if not ped then return false end 
        return attachElementToBone(element,ped,bone,x,y,z,rx,ry,rz) 
    end 
      
    function setElementBoneRotationOffset(element,rx,ry,rz) 
        local ped,bone,x,y,z,ox,oy,oz = getElementBoneAttachmentDetails(element) 
        if not ped then return false end 
        return attachElementToBone(element,ped,bone,x,y,z,rx,ry,rz) 
    end 
      
    if not script_serverside then 
        function getBonePositionAndRotation(ped,bone) 
            bone = tonumber(bone) 
            if not bone or bone < 1 or bone > 20 then return false end 
            if not isElement(ped) then return false end 
            if getElementType(ped) ~= "player" and getElementType(ped) ~= "ped" then return false end 
            if not isElementStreamedIn(ped) then return false end 
            local x,y,z = getPedBonePosition(ped,bone_0[bone]) 
            local rx,ry,rz = getEulerAnglesFromMatrix(getBoneMatrix(ped,bone)) 
            return x,y,z,rx,ry,rz 
        end 
    end 
      
    ------------------------------------ 
      
    function clearAttachmentData(element) 
        attached_ped[element] = nil 
        attached_bone[element] = nil 
        attached_x[element] = nil 
        attached_y[element] = nil 
        attached_z[element] = nil 
        attached_rx[element] = nil 
        attached_ry[element] = nil 
        attached_rz[element] = nil 
    end 
      
    function forgetDestroyedElements() 
        if not attached_ped[source] then return end 
        clearAttachmentData(source) 
    end 
    addEventHandler(script_serverside and "onElementDestroy" or "onClientElementDestroy",root,forgetDestroyedElements) 
      
    function forgetNonExistingPeds() 
        local checkedcount = 0 
        while true do 
            for element,ped in pairs(attached_ped) do 
                if not isElement(ped) then clearAttachmentData(element) end 
                checkedcount = checkedcount+1 
                if checkedcount >= 1000 then 
                    coroutine.yield() 
                    checkedcount = 0 
                end 
            end 
            coroutine.yield() 
        end 
    end 
    clearing_nonexisting_peds = coroutine.create(forgetNonExistingPeds) 
    setTimer(function() coroutine.resume(clearing_nonexisting_peds) end,1000,0) 
      
    

    Any ideas?

  3. Hello.

    Is any way to set group/gang limit of lengths?

    function createGroupForPlayer (playersource,command,...) 
        local teamName = table.concat({...}, " ") 
        if not isGuestAccount(getPlayerAccount(playersource)) and getElementData(playersource,"gang") == "None" then 
            if teamName then 
                if not isGangExisting (teamName) then 
                addGang (teamName,getAccountName(getPlayerAccount(playersource))) 
                setAccountData(getPlayerAccount(playersource),"gangslots",30) 
                outputChatBox ("#FFFFFFYou successfully created your group with the name of: "..teamName..".",playersource,27, 89, 224,true)     
                else 
                    outputChatBox ("#FFFFFFThere is a group with this name already!",playersource,27, 89, 224,true)  
                end 
            else 
                outputChatBox ("#FFFFFFSyntax is /creategroup !",playersource,27, 89, 224,true)    
            end 
        else 
            outputChatBox ("#FFFFFFYou are in a group already!",playersource,27, 89, 224,true)       
        end 
    end 
    addCommandHandler("creategroup",createGroupForPlayer) 
    

  4. Hi guys.

    From few hour I'm thinkig and trying do add rank images for every player in scoreboard.

    I tried like that by getting image number from getElementData rank id, but it's not works:

    scoreboardColumns = { 
    { name = "Nick", width = 200, data = function (element) return getPlayerName ( element ) end }, 
    { name = "Murders", width = 100, data = function (element) return ( getElementData ( element, "murders" ) or 0 ).. "/"..( getElementData ( element, "totalmurders" ) or 0 ) end }, 
    { name = "Zombies Killed", width = 80, data = function (element) return ( getElementData ( element, "zombieskilled" ) or 0 ).. "/"..( getElementData ( element, "totalzombieskilled" ) or 0 ) end }, 
    { name = "Alive Time", width = 80, data = function (element) return formatTimeFromMinutes(getElementData ( element, "alivetime" ) or 1 ).."/"..formatTimeFromMinutes(getElementData ( element, "totalalivetime" ) or 1 ) end }, 
    { name = "Group", width = 80, data = function (element) return getElementData ( element, "gang" ) or "None" end }, 
    { name = "Rank", width = 80, data = function (element) return guiCreateStaticImage(0,0,0.4,0.4, 'images/ranks/'..getElementData(element,"rank")..'.png', true) or "Unranked" end }, 
    } 
    

    nothing is appear.

    @EDIT

    Sorry, now i see. Image is appear, but in left-top corner, not in scoreboard table. Why?

    Any ideas?

×
×
  • Create New...