Czy wiesz, że... rejestracja trwa tylko 20 sekund?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 2 3 Następny
Postów: 205 Dołączył: 2010-11-23
#
Już od kilku dni próbuję dodać do San Andreas nowy obiekt który można by było zbierać tak jak podkowy, ale aby na nowo odliczało tzn. gdy postawię tylko jeden taki obiekt i go zbiorę to wyskoczy okienko 1 of 1 czegoś tam nie chcę aby wliczało się to do podków. Próbowałem już różnych sposobów. Ustawiałem już w CLEO ten obiekt w taki sam sposób jak podkowę
Kod:
0959: $10000 = create_horseshoe_at 2464.088 -1678.193 13.52069

tylko że " horseshoe" zamieniam na " paczki " czyli ten nowy obiekt. Ale jakbym nie zapisał zawsze wychodzi to co powyżej. Dodam również że jest to zupełnie nowy obiekt który dodaję ( nie podmieniam ! ) do archiwum gta3.img

Mógłby mi ktoś pomóc?
Postów: 878 Dołączył: 2009-01-20
#
Nie ma takich magicznych edytorów, żeby po wpisaniu jednego słowa, sam domyślił się co chcemy wstawić i jak ma wyglądać ta paczka. Poza tym ten fragment "create_horseshoe_at" ma tylko charakter opisowy. Możesz zamiast tego równie dobrze wstawić "agureiuahgbfiujgiufrgber" i będzie działać tak samo, bo odwołujesz się do opcodu 0959 i podajesz do niego 4 parametry.

Utwórz sobie zmienną zawierającą ilość wszystkich paczek i ilość podniesionych:
Kod:
0@ = 5
1@ = 0


Co do samych obiektów, najlepiej utworzyć je jako pickupy:
Kod:
0213: 2@ = create_pickup #INFO type 3 at 2027.77 -1420.52 16.49
0213: 3@ = create_pickup #INFO type 3 at 1050.77 -1420.52 16.49
0213: 4@ = create_pickup #INFO type 3 at 2100.77 -1200.52 16.49
0213: 5@ = create_pickup #INFO type 3 at 1400.77 -1100.52 16.49
0213: 6@ = create_pickup #INFO type 3 at 1600.77 -1482.52 16.49


Sprawdzasz, czy jakiś pickup został podniesiony:
Kod:
:picked1
wait 
0
if
  
0214:   pickup 2@ picked_up
then
  
1@ += 1
  02FD: show_text_2numbers_lowpriority GXT 'PACKAGE' numbers 1@ 0@ time 5000 flag 1  // Zebrano ~1~ z ~1~ paczek

end


i tak dla każdego pickupa...

Skoro chcesz to robić w CLEO, a nie w SCM, to trzeba zapisać informacje o zebranych paczkach w CLEO_SAVES. Do tego potrzebne Ci będą 2 opcody: 0AB3 i 0AB4. To proste odczytywanie, przypisywanie zmiennych i sprawdzenie stanu każdego z pickupu przed jego utworzeniem, więc powinieneś sobie poradzić.

___________________
Administrator
Postów: 304 Dołączył: 2010-10-02
#
Czyli, że da się nowy model w gta3.img ustawić w CLEO ??
Postów: 205 Dołączył: 2010-11-23
#
MakG dzięki, ale dla mnie to w połowie niezrozumiałe. Mógłbyś ułożyć choć kawałek tego kodu? ( dla przykładu tylko jednej paczki bo ja chcę ich ze 100 położyć) Ponieważ chcę złapać szyk skryptu żebym po prostu zmieniał tylko współrzędne, numery pickupów itp.

Jeżeli dobrze rozumiem to w tym miejscu gdzie jest #INFO mam wpisać nazwę pliku dff ?

Kod:
0213: 2@ = create_pickup #INFO type 3 at 2027.77 -1420.52 16.49
Postów: 304 Dołączył: 2010-10-02
#
piotrburza napisał(a):

MakG dzięki, ale dla mnie to w połowie niezrozumiałe. Mógłbyś ułożyć choć kawałek tego kodu? ( dla przykładu tylko jednej paczki bo ja chcę ich ze 100 położyć) Ponieważ chcę złapać szyk skryptu żebym po prostu zmieniał tylko współrzędne, numery pickupów itp.

Jeżeli dobrze rozumiem to w tym miejscu gdzie jest #INFO mam wpisać nazwę pliku dff ?

Kod:0213: 2@ = create_pickup #INFO type 3 at 2027.77 -1420.52 16.49

Sprubuj wpisać po # nazwe pliku .dff , .txd musi mieć taką samą nazwe tylko rozszerzenie .txd

Jednak poczekajmy na opinie Ekspertów w pisaniu skryptów
Postów: 205 Dołączył: 2010-11-23
#
Tak wiem, ale mój nowy przedmiot tak samo jak i podkowa nie posiada tekstury ( txd ) Dlatego będę wpisywał tylko nazwę pliku dff

//Edit:

Napisałem w taki sposób

Kod:

0@ = 32
1@ = 0
2@ = 1
3@ = 2


Chciałem do 100 ale wyskoczył jakiś błąd że w zmiennej lokalnej jest tylko 33.

Kod:
0213: 2@ = create_pickup #paczka type 3 at 2464.088 -1678.193 13.52069 

Potem zrobiłem tak jak powyżej, i wyskoczył błąd " Compiled file has no header, so the model name #paczka can not be used. Use number ID instead. "

I nie wiem co dalej robić...
Postów: 878 Dołączył: 2009-01-20
#
piotrburza napisał(a):
Jeżeli dobrze rozumiem to w tym miejscu gdzie jest #INFO mam wpisać nazwę pliku dff ?

Nie, musisz podać identyfikator modelu. Sanny Builder ma zdefiniowane nazwy wszystkich modeli i zamienia np. #INFO na odpowiednie ID. Jeśli chcesz zupełnie inny obiekt, to będzie trzeba go jakoś zdefiniować w plikach .dat, ale nie wiem, jak to się robi. Najprościej będzie podmienić obiekt w gta3.img.

piotrburza napisał(a):
Mógłbyś ułożyć choć kawałek tego kodu?

Kawałek ułożyłem, a resztę opisałem, jak zrobić. Poczytaj tutoriale na stronie, na pewno uda Ci się to skleić, bo to prosta sprawa.

___________________
Administrator
Postów: 205 Dołączył: 2010-11-23
#
Właśnie o to chodzi że dodałem paczkę jako zupełnie nowy obiekt do gta3.img No trudno będę szukał jakiegoś zastępczego.
Postów: 1004 Dołączył: 2009-01-20
#
Samo dodanie obiektu do img nic nie da. Musisz jeszcze go dodać do gry np. przez map edytor. Po za tym zamiast dodawać nowe obiekty do tego oryginalnego img najlepiej sobie stworzyć nowe archiwum img i do niego dodawać. Po po prostu tak jest przejrzyściej i łatwiej odnaleźć plik później.
Postów: 628 Dołączył: 2009-01-22
#
Można też pokusić się o dodanie nowego opcodu na kodzie opcodu 0959 (a ten z kolei dzieli kod z innymi znajdźkami) i nie byłoby to trudne, gorzej jednak ze zliczaniem zebranych paczek i zapisywaniem tego w save.
A nazwy obiektów Sanny bierze chyba z object.dat lub default.dat.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 205 Dołączył: 2010-11-23
#
Dzięki że chcecie mi pomóc. Mi się właśnie przypomniało że takie paczki są już w San Andreas i nie potrzebnie Was męczyłem. Muszę tylko znaleźć ID i ustawić je jako pickupy.

Ale mam jeden problem, a właściwie dwa. Pierwszy to taki że nie wiem gdzie mam użyć 0AB3 i 0AB4 tak aby zapisywało sie to w CLEO_SAVES oraz drugi to to iż nie mogę dać więcej niż 33 bo przy kompilacji wyskakuje błąd o " zmiennej lokalnej " cokolwiek to znaczy.

//edit:

Może mi ktoś jeszcze troszkę pomóc? Chcę więdzieć jak mogę zrobić to CLEO_SAVES i naprawić ten błą o " zmiennej lokalnej " oraz nie wiem dlaczego ale nie chcą mi się pokazywać napisy. Dodałem nowy tekst do pliku american.gxt tak aby się pokazywały. No chyba że miałem dodać je gdzie indziej.
Postów: 205 Dołączył: 2010-11-23
#
Sorka że nie edytuję swojej ostatniej wypowiedzi ale chciałbym abyście mogli to przeczytać. Otóż znalazłem pewien błąd gdyż teksty są źle wyświetlane. Chodzi mi o to że nie działają tak jak trzeba. Np. do 8 pickupa w kodzie mam napisane tak jak podał to MakG lecz gdy go zbiorę wyskakuje napisz " Zebrałeś 8 z 100 paczek " ale ja chcę aby wyskakiwał napis " Zebrałeś 1 z 100 paczek ". Chciałbym aby tekst nie był przydzielony do danego pickupa ale teksty były odliczane np.
Gdy zbiorę 1 paczkę
"Zebrałeś 1 z 100 paczek"
Gdy zbiorę 2 paczkę
"Zebrałeś 2 z 100 paczek"
Bez względu na to w jakiej kolejności zbiorę te paczki. Tak samo jest z podkowami do zbierania i identycznie chciałbym mieć tutaj. Czy jest jakiś sposób aby naprawić ten problem? Bo w taki sposób jak mi to teraz wyszło to po prostu nie ma to sensu, że po zebraniu pickupa wyskakuje mi nagle napis " Zebrałeś 8 z 100 paczek " mimo tego iz nie zebrałem wcześniej ani jednej...
Postów: 628 Dołączył: 2009-01-22
#
To zależy od Twojego kodu. Pokaż go.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 205 Dołączył: 2010-11-23
#
Nie wiem czy jest sens wklejać cały, ale zależy mi na tym więc wkleję :) Tak wygląda po skompilowaniu ( niestety tylko taki mam )

Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 
0@ = 20 
1@ = 0 
2@ = 1 
3@ = 2 
4@ = 3 
5@ = 4 
6@ = 5 
7@ = 6 
8@ = 7 
9@ = 8 
10@ = 9 
11@ = 10 
12@ = 11 
13@ = 12 
14@ = 13 
15@ = 14 
16@ = 15 
17@ = 16 
18@ = 17 
19@ = 18 
20@ = 19 
21@ = 20 
2@ = Pickup.Create(1279, 3, 2469.274, -1748.606, 19.48172)
3@ = Pickup.Create(1279, 3, 2538.141, -1702.941, 13.38281)
4@ = Pickup.Create(1279, 3, 2469.375, -1702.941, 13.38281)
5@ = Pickup.Create(1279, 3, 2450.485, -2209.875, 49.32813)
6@ = Pickup.Create(1279, 3, 1796.775, -1578.146, 18.16127)
7@ = Pickup.Create(1279, 3, 1953.525, -1380.953, 24.14844)
8@ = Pickup.Create(1279, 3, 1870.33, -1318.711, 34.49219)
9@ = Pickup.Create(1279, 3, 1528.59, -1347.932, 329.4609)
10@ = Pickup.Create(1279, 3, 1254.906, -1236.658, 17.88538)
11@ = Pickup.Create(1279, 3, 1249.99, -905.7305, 46.60156)
12@ = Pickup.Create(1279, 3, 1282.515, -786.0227, 92.03125)
13@ = Pickup.Create(1279, 3, 1123.639, -2036.892, 69.88656)
14@ = Pickup.Create(1279, 3, 367.053, -2071.583, 8.015625)
15@ = Pickup.Create(1279, 3, 475.7036, -1504.95, 20.59977)
16@ = Pickup.Create(1279, 3, 660.6523, -1355.83, 21.75895)
17@ = Pickup.Create(1279, 3, 327.728, -1517.677, 71.4375)
18@ = Pickup.Create(1279, 3, 647.0067, -1056.758, 52.57992)
19@ = Pickup.Create(1279, 3, 811.2394, -1098.234, 25.90625)
20@ = Pickup.Create(1279, 3, 1528.181, -1695.74, 6.21875)
21@ = Pickup.Create(1279, 3, 1545.634, -1745.878, 5.210471)

:NONAME_653
wait 0 
if 
   Pickup.Picked_up(2@)
jf @NONAME_702 
1@ += 1 
02FD: show_text_2numbers_lowpriority GXT 'TEXT1' numbers 1@ 0@ time 5000 flag 1 

:NONAME_702
wait 0 
if 
   Pickup.Picked_up(3@)
jf @NONAME_752 
1@ += 2 
02FD: show_text_2numbers_lowpriority GXT 'TEXT2' numbers 2@ 1@ time 0@ flag 5000 

:NONAME_752
wait 0 
if 
   Pickup.Picked_up(4@)
jf @NONAME_802 
1@ += 3 
02FD: show_text_2numbers_lowpriority GXT 'TEXT3' numbers 3@ 2@ time 1@ flag 0@ 

:NONAME_802
wait 0 
if 
   Pickup.Picked_up(5@)
jf @NONAME_852 
1@ += 4 
02FD: show_text_2numbers_lowpriority GXT 'TEXT4' numbers 4@ 3@ time 2@ flag 1@ 

:NONAME_852
wait 0 
if 
   Pickup.Picked_up(6@)
jf @NONAME_902 
1@ += 5 
02FD: show_text_2numbers_lowpriority GXT 'TEXT5' numbers 5@ 4@ time 3@ flag 2@ 

:NONAME_902
wait 0 
if 
   Pickup.Picked_up(7@)
jf @NONAME_952 
1@ += 6 
02FD: show_text_2numbers_lowpriority GXT 'TEXT6' numbers 6@ 5@ time 4@ flag 3@ 

:NONAME_952
wait 0 
if 
   Pickup.Picked_up(8@)
jf @NONAME_1002 
1@ += 7 
02FD: show_text_2numbers_lowpriority GXT 'TEXT7' numbers 7@ 6@ time 5@ flag 4@ 

:NONAME_1002
wait 0 
if 
   Pickup.Picked_up(9@)
jf @NONAME_1052 
1@ += 8 
02FD: show_text_2numbers_lowpriority GXT 'TEXT8' numbers 8@ 7@ time 6@ flag 5@ 

:NONAME_1052
wait 0 
if 
   Pickup.Picked_up(10@)
jf @NONAME_1102 
1@ += 9 
02FD: show_text_2numbers_lowpriority GXT 'TEXT9' numbers 9@ 8@ time 7@ flag 6@ 

:NONAME_1102
wait 0 
if 
   Pickup.Picked_up(11@)
jf @NONAME_1152 
1@ += 10 
02FD: show_text_2numbers_lowpriority GXT 'TEXT10' numbers 10@ 9@ time 8@ flag 7@ 

:NONAME_1152
wait 0 
if 
   Pickup.Picked_up(12@)
jf @NONAME_1202 
1@ += 11 
02FD: show_text_2numbers_lowpriority GXT 'TEXT11' numbers 11@ 10@ time 9@ flag 8@ 

:NONAME_1202
wait 0 
if 
   Pickup.Picked_up(13@)
jf @NONAME_1252 
1@ += 12 
02FD: show_text_2numbers_lowpriority GXT 'TEXT12' numbers 12@ 11@ time 10@ flag 9@ 

:NONAME_1252
wait 0 
if 
   Pickup.Picked_up(14@)
jf @NONAME_1302 
1@ += 13 
02FD: show_text_2numbers_lowpriority GXT 'TEXT13' numbers 13@ 12@ time 11@ flag 10@ 

:NONAME_1302
wait 0 
if 
   Pickup.Picked_up(15@)
jf @NONAME_1352 
1@ += 14 
02FD: show_text_2numbers_lowpriority GXT 'TEXT14' numbers 14@ 13@ time 12@ flag 11@ 

:NONAME_1352
wait 0 
if 
   Pickup.Picked_up(16@)
jf @NONAME_1402 
1@ += 15 
02FD: show_text_2numbers_lowpriority GXT 'TEXT15' numbers 15@ 14@ time 13@ flag 12@ 

:NONAME_1402
wait 0 
if 
   Pickup.Picked_up(17@)
jf @NONAME_1452 
1@ += 16 
02FD: show_text_2numbers_lowpriority GXT 'TEXT16' numbers 16@ 15@ time 14@ flag 13@ 

:NONAME_1452
wait 0 
if 
   Pickup.Picked_up(18@)
jf @NONAME_1502 
1@ += 17 
02FD: show_text_2numbers_lowpriority GXT 'TEXT17' numbers 17@ 16@ time 15@ flag 14@ 

:NONAME_1502
wait 0 
if 
   Pickup.Picked_up(19@)
jf @NONAME_1552 
1@ += 18 
02FD: show_text_2numbers_lowpriority GXT 'TEXT18' numbers 18@ 17@ time 16@ flag 15@ 

:NONAME_1552
wait 0 
if 
   Pickup.Picked_up(20@)
jf @NONAME_1602 
1@ += 19 
02FD: show_text_2numbers_lowpriority GXT 'TEXT19' numbers 19@ 18@ time 17@ flag 16@ 

:NONAME_1602
wait 0 
if 
   Pickup.Picked_up(21@)
jf @NONAME_1652 
1@ += 20 
02FD: show_text_2numbers_lowpriority GXT 'TEXT16' numbers 20@ 19@ time 18@ flag 17@ 

:NONAME_1652
jump @NONAME_653 
Postów: 628 Dołączył: 2009-01-22
#
Zastanów się i popatrz jakie numery wyświetlasz w 02FD :P

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Poprzedni 1 2 3 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG