Czy wiesz, że... na forum możesz uzyskać pomoc nt. modowania GTA?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Postów: 628 Dołączył: 2009-01-22
#
Pytanie jest trochę niejasne. Chodzi Ci o ustawienie tekstu ZE zmiennej czy o ustawienie go tak, by się zmieniał?

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Zamiast oczekiwać kontaktu, napisz dokładnie o jakie modyfikacje chodzi i jakie masz problemy z nimi tutaj.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
olopl100 napisał(a):
Mógł byś podać linka do tematu w którym to widziałeś?


http://www.gtamodding.com/index.php?title=2DFX_(RW_Section)

artginPL napisał(a):
SabaruPL, to że nie ma markerów z misji złodzieja w plikach ipl wiedziałem na pewno, bo prześledziłem każdy plik i rozszyfrowałem każdy marker jest ich w sumie 376 w grze, a ograniczenie jest do 400.


376 bez markerów domów? Jeśli tak, to dziwne.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Markety wejść do domów to nie są zwykłe enexy.

Po dwuminutowym przeszpiegu po EXE zdaje się, że te enexy znajdują się... na modelach, w sekcji 2dfx, typ 6.

Edit:
gtamodding.com i przejrzenie modelu to potwierdza - to są enexy, ale zamiast w IPL definiowane są w środku DFF. Ciekawa technika.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
To dość ciekawe pytanie, które skłoniło mnie do pogrzebania w EXE. Dowiedziałem się m.in. że tych markerów może być w grze jedynie... pięć, z czego na moim save 100% aktywny jest tylko jeden - w save mam jednak pozostałości po trzech markerach, co oznacza że w 'szczytowym momencie' na zwykłym SCM stworzone są na raz trzy takie markery - co za tym idzie, by skrypt CLEO był 'bezpieczny', nie powinien tworzyć więcej niż dwa markery na raz. Zapisują się one też w save, więc pozostaną w save nawet po usunięciu skryptu CLEO. Na szczęście jednak napisanie kodu ASM + funkcji SCM "nie zapisuj tego markera w save" jest aż za proste.

Co do wielkości markera, zajęło mi to dużo czasu, ale znalazłem sposób. Problem w tym, że przy testach nie udało mi się ustalić, jaką domyślną skalę ma ten marker z SCM, więc będziesz musiał się pobawić ze skalą samemu:
Kod jest skomplikowany, ale wątpię że da się prościej. Jedyne co musisz z niego rozumieć to stała, będąca skalą tych markerów - ustawiłem ją na domyślną skalę enexów z SA, ale nie wiem czy jest odpowiednia.
Dodaj to na sam szczyt skryptu:

Kod:
0A9F: 0@ = current_thread_pointer
000A: 0@ += 0x10
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
000E: 0@ -= @ENTRANCE_MARKER_SCALE
0A8E: 1@ = 0@ + 0x1
0A8C: write_memory 1@ size 4 value 2.0 virtual_protect 0    // TU ZNAJDUJE SIĘ SKALA, KTÓRA UZYSKAJA MARKERY

000A: 1@ += 0x8
0A8E: 2@ = 1@ + 0x4
0A8F: 2@ = 0x459350 - 2@
0A8C: write_memory 1@ size 4 value 2@ virtual_protect 0
000A: 1@ += 0xB
0A8E: 2@ = 1@ + 0x4
0A8F: 2@ = 0x72330D - 2@
0A8C: write_memory 1@ size 4 value 2@ virtual_protect 0
000E: 0@ -= 0x72330C
0A8C: write_memory 0x723307 size 1 value 0xE9 virtual_protect 1
0A8C: write_memory 0x723308 size 4 value 0@ virtual_protect 1


A to na sam koniec:

Kod:
:ENTRANCE_MARKER_SCALE
hex
6800000000      // push     fSkala

8D4D10          // lea      ecx, [ebp+RwFrame.modelling]

E800000000      // call     CMatrix::SetScale

8A560C          // mov      dl, [esi+CEntranceMarker.R]

8A4610          // mov      al, [esi+CEntranceMarker.G]

E900000000      // jmp      0072330D

end



Co do mieszkań w misji złodzieja, powiem szczerze że nie wiem. Koordynaty mogą być wbite w EXE, ale na pewno nie są przypisane do modeli domów (chyba że do ID, ale o TAKI idiotyzm R* nie podejrzewam).

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
To rozwiązane, zamykam.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Nie powinno zniknąć, ale nie dam sobie głowy uciąć.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Po prostu potraktuj go MARK_CHAR_AS_NO_LONGER_NEEDED. Stanie się on wtedy najzwyklejszym pedem.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
ToyotaSupra napisał(a):
30 a nei 33? Jak 30 to da się rade.


30% na pewno.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Wszystkie obiekty tworzone przez zwykłe skrypty (skrypty CLEO zaliczają się do nich) są zapisywane w save. Wystarczy zmienić obiektowi przynależność tak, by 'należał' do external scripta - takowe się nie zapisują.

Napisałem do tego funkcję SCM, która działa jakby była zwykłą funkcją (opcodem):

Kod:
:DONT_SAVE_OBJECT{\__[void]_(handle)__}
{
    Parametry:
    - 0@ - uchwyt obiektu
    
    Zwracane:
    - Nic
}
0A98: 1@ = object 0@ struct
000A: 1@ += 0x13C   // CObject.m_bOwnerType

0A8C: write_memory 1@ size 1 value 6 virtual_protect 0
0AB2: ret 0


W skrypcie używasz tego jak zwykłego opcodu, np:

Kod:
0107: 10@ = create_object #AD_FLATDOOR at 1833.36 -1995.45 12.5
0AB1: call_scm_func @DONT_SAVE_OBJECT 1 10@

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Wygląda na to, że chcesz napisać coś działającego jak misja. Może powinieneś rozważyć przejście na starter w pliku .cs + właściwy skrypt w pliku .cm - w misjach masz 1024 zmiennych lokalnych, nie ma możliwości by ich Ci nie starczyło.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Lock.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Da się. Wymaga to jednak zrespawnowania pojazdu, jeśli siedzisz w tym, którego handling modyfikujesz.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Ciężko napisać by było poradnik pt. "Jak zmodyfikować w silniku gry renderowanie obiektów tak, by dało się umieścić film BINK na teksturze" :P

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Nie liczyłem ile jest wpisów w peds.ide, ale gra wspiera ich max 278. Jeśli jest ich mniej, możesz dodać.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Created & Powered by MakG