[POMOC] własny mod

Regulamin forum
Dział "Tworzenie Modyfikacji" służy do zadawania pytań odnośnie tworzenia modyfikacji, edytowania plików gry, oraz pisania tzw. tutoriali, czyli poradników odnośnie modyfikowania gry.
Nie zadajemy tutaj pytań odnośnie modyfikacji gotowych (nie dyskutujemy o nich!), prócz prób ich połączenia etc.


Przy cytowaniu plików *.LTX stosować tag [SYNTAX="ini"], przy cytowaniu plików *.script [SYNTAX="lua"] a przy cytowaniu plików *.xml - [SYNTAX="xml"].

[POMOC] własny mod

Postprzez karol2033 w 21 Lip 2012, 19:10

Cześć robię własnego moda i mam parę pytań odnośnie tego tematu:
1. Jak zwiększyć sprint bohatera chodzi o zasięg.
2. Jak zwiększyć spawn mutków i NPC lub jak ustawić czas spawnu żeby był częstszy np co 1h lub jaki folder wyciąć z MSO być może (MSO/optionals/respawn_rate)???.
3. Jak ustawić czas gry na prawdziwy czyli 60s = 1min itp.
4. Jak włączyć używanie broni w bazach.
P.S
na Mod-Portal patrzyłem jeżeli było to nie rozumiałem zabardzo dlatego zrobiłem ten temat oczywiście za każdą pomoc :wódka:
Awatar użytkownika
karol2033
Stalker

Posty: 57
Dołączenie: 11 Mar 2012, 22:57
Ostatnio był: 09 Sie 2012, 12:30
Miejscowość: Trzciana
Frakcja: Monolit
Ulubiona broń: SGI 5k
Kozaki: -8

Reklamy Google

Re: [POMOC] własny mod

Postprzez r_populik w 21 Lip 2012, 20:05

1. w gamedata\configs\creatures\actor.ltx zmniejsz te wartości
Kod: Zaznacz wszystko
accel_k                 = 3   
sprint_k                = 100


2. gamedata\scripts\smart_terrain.script:
Kod: Zaznacz wszystko
local DEATH_IDLE_TIME = 10*60 ; squad will not respawn for this time period after death 2 hours by default
local RESPAWN_IDLE = 1000 ; general respawn rate: every 4 hours by default)


3.gamedata\configs\alife.ltx

Kod: Zaznacz wszystko
time_factor               = 1
normal_time_factor         = 1


4. gamedata\scripts\sr_no_weapon.script

Kod: [ Pobierz ] [ Ukryj ]
----------------------------------------------------------------------------------------------------
-- Disable actor's weapon
----------------------------------------------------------------------------------------------------
--function printf()
--end

local state_nowhere = 0 -- ńőĺěŕ ňîëüęî ÷ňî âęëţ÷čëŕńü
local state_inside = 1 -- ŕęňĺđ âíóňđč
local state_outside = 2 -- ŕęňĺđ ńíŕđóćč

class "action_no_weapon"

function action_no_weapon:__init( obj, storage )
        self.object = obj
        self.st = storage
        self.inited_time = game.CTime()
end

function action_no_weapon:reset_scheme()
        --printf("_bp: sr_idle: action_no_weapon:reset_scheme: self.object:name()='%s'", self.object:name())
       
        self.state = state_nowhere -- ĺůĺ íĺ˙ńíî, â çîíĺ îí, čëč íĺň
       
        self:switch_state(db.actor)
       
        db.no_weap_zones[self.object:name()] = false
end

function action_no_weapon:update( delta )
        --printf("_br: sr_idle: action_no_weapon:update()")

        --if not xr_logic.is_active( self.object, self.st ) then
        --      return
        --end

        local actor = db.actor

        if xr_logic.try_switch_to_another_section( self.object, self.st, actor ) then
                if self.state == state_inside then
                        self:zone_leave()
                end
                return
        end    
       
        self:switch_state( actor )
       
        local hud = get_hud()
        local custom_static = hud:GetCustomStatic("can_use_weapon_now")
        if custom_static ~= nil and game.get_game_time():diffSec(self.inited_time) > 30 then
                hud:RemoveCustomStatic("can_use_weapon_now")
        end
end

function action_no_weapon:switch_state( actor )
        local state = self.state
        --printf("on_update state[%s]", tostring(self.state))
       
        if state == state_outside or state == state_nowhere then
                if self.object:inside( actor:center() ) then
                        self:zone_enter()
                        --printf("on_update1 state[%s]", tostring(self.state))
                        return
                end
        end
       
        if state == state_inside or state == state_nowhere then
                if not self.object:inside( actor:center() ) then
                        self:zone_leave()
                        --printf("on_update2 state[%s]", tostring(self.state))
                        return
                end
        end
end

function action_no_weapon:zone_enter()
        self.state = state_inside
        --bind_stalker.restore_weapon(self.object:id())
end

function action_no_weapon:zone_leave()
        self.state = state_outside
        --bind_stalker.restore_weapon(self.object:id())
end

---------------------------------------------------------------------------------------------------------------------
function add_to_binder(npc, ini, scheme, section, storage)
        printf("DEBUG: add_to_binder: scheme='%s', section='%s'", scheme, section)

        local new_action = action_no_weapon(npc, storage)

        -- Çŕđĺăčńňđčđîâŕňü âńĺ actions, â ęîňîđűő äîëćĺí áűňü âűçâŕí ěĺňîä reset_scheme ďđč čçěĺíĺíčč íŕńňđîĺę ńőĺěű:
        xr_logic.subscribe_action_for_events(npc, storage, new_action)
end

function set_scheme(npc, ini, scheme, section, gulag_name)
        local st = xr_logic.assign_storage_and_bind(npc, ini, scheme, section)
        st.logic = xr_logic.cfg_get_switch_conditions(ini, section, npc)
end
 

Za ten post r_populik otrzymał następujące punkty reputacji:
Positive karol2033.
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 29 Wrz 2022, 22:03
Miejscowość: okolice stolicy
Kozaki: 263

Re: [POMOC] własny mod

Postprzez karol2033 w 21 Lip 2012, 20:25

co do respawnu to ja mam

local DEATH_IDLE_TIME = 10*60 -- ńĺęóíä
local RESPAWN_IDLE = 1000 -- ńĺęóíä čăđîâîăî âđĺěĺíč
local RESPAWN_RADIUS = 150 -- đŕäčóń đĺńďŕóíŕ(ĺńëč ŕęňĺđ áëčćĺ, ňî íĺ ńďŕóíčňü)

co mam zmienić skoro ustawiłem czas na prawdziwy tak jak mówiłeś czyli

time_factor = 1
normal_time_factor = 1

żeby respiły się co 1h
Awatar użytkownika
karol2033
Stalker

Posty: 57
Dołączenie: 11 Mar 2012, 22:57
Ostatnio był: 09 Sie 2012, 12:30
Miejscowość: Trzciana
Frakcja: Monolit
Ulubiona broń: SGI 5k
Kozaki: -8

Re: [POMOC] własny mod

Postprzez r_populik w 21 Lip 2012, 21:01

Kod: Zaznacz wszystko
local RESPAWN_IDLE = 1000

Zgodnie z komentarzem to powinny być teoretycznie sekundy czasu w grze, a więc nie musisz nic zmieniać. Respawn powinien następować co 1000 sekund, a więc co trochę ponad 16 prawdziwych minut. Chcesz częściej, to zmniejszaj tę wartość.
EDIT nie doczytałem
Jak chcesz co godzinę, to wpisz 3600
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 29 Wrz 2022, 22:03
Miejscowość: okolice stolicy
Kozaki: 263

Re: [POMOC] własny mod

Postprzez karol2033 w 21 Lip 2012, 21:11

ok rozumiem a przy tym nie nie trzeba robić ?
ocal DEATH_IDLE_TIME = 10*60 -- ńĺęóíä
u trojanucha w MSO było to zmieniane np 90*60 przy 1.5h a przy 0.5h na 60*60 itp
Awatar użytkownika
karol2033
Stalker

Posty: 57
Dołączenie: 11 Mar 2012, 22:57
Ostatnio był: 09 Sie 2012, 12:30
Miejscowość: Trzciana
Frakcja: Monolit
Ulubiona broń: SGI 5k
Kozaki: -8

Re: [POMOC] własny mod

Postprzez r_populik w 21 Lip 2012, 21:37

60*60 powinno być ok
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 29 Wrz 2022, 22:03
Miejscowość: okolice stolicy
Kozaki: 263

Re: [POMOC] własny mod

Postprzez karol2033 w 21 Lip 2012, 21:38

sprawdze i jak co to napisze co jest
Awatar użytkownika
karol2033
Stalker

Posty: 57
Dołączenie: 11 Mar 2012, 22:57
Ostatnio był: 09 Sie 2012, 12:30
Miejscowość: Trzciana
Frakcja: Monolit
Ulubiona broń: SGI 5k
Kozaki: -8

Re: [POMOC] własny mod

Postprzez utak3r w 27 Lip 2012, 11:41

Karol... rozumiesz, że 60*60=3600, czyli tak, jak podał wcześniej Ci r_populik?...
Image
Awatar użytkownika
utak3r
Modder

Posty: 2200
Dołączenie: 11 Lis 2009, 18:15
Ostatnio był: 31 Lip 2023, 16:01
Miejscowość: Szczecin
Frakcja: Powinność
Ulubiona broń: GP 37
Kozaki: 376


Powróć do Zew Prypeci

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 8 gości