 |
Właśnie odwiedziłeś forum modów grupy moderskiej. Zapraszamy do wypowiadania się w odpowiednich działach.
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Xalor
Administrator

Dołączył: 31 Sty 2006
Posty: 67
Przeczytał: 0 tematów
Ostrzeżeń: 0/8 Skąd: Zachodnie Piekła
|
Wysłany: Śro 9:48, 01 Lut 2006 Temat postu: Skrypty - info |
|
|
Witam!
Tutaj można dyskutować na zagadnienia związane ze skryptami.
Jakby kto zajrzaał to mi potrzebny jest skrypt na to aby jak trzymam w ręce sztylet i mam np. sprytu 70 to żebym wtedy i tylko wtedy mógł otworzyć ukrytą ścianę, kto się zna na skryptach niech coś pomoże
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
magnus
Szermierz

Dołączył: 02 Lut 2006
Posty: 5
Przeczytał: 0 tematów
Ostrzeżeń: 0/8
|
Wysłany: Pią 9:58, 03 Lut 2006 Temat postu: |
|
|
Witaj,
Czy o to Ci chodziło?
Kod: | begin skrypt_aktywacji_drzwi
if ( player->GetAgility >= 70 ) ; sprawdź współczynnik
if ( player->GetWeaponType == 0 ) ; czy krótka broń (sztylet)
Activate ; otwórz drzwi
;...... ; ew. inna akcja...
endif
endif ; koniec
end |
Pozdrawiam, Magnus
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Xalor
Administrator

Dołączył: 31 Sty 2006
Posty: 67
Przeczytał: 0 tematów
Ostrzeżeń: 0/8 Skąd: Zachodnie Piekła
|
Wysłany: Pią 10:16, 03 Lut 2006 Temat postu: |
|
|
Tak, dzięki Magnus o to mi właśnie chodziło. Chciałem go wykorzystać w modzie, a za bardzo nie wiedziałem jak to napisać, ale już ok.
W Real Jail oczywiście, bo na stronie umieściłem taką bete
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Xalor
Administrator

Dołączył: 31 Sty 2006
Posty: 67
Przeczytał: 0 tematów
Ostrzeżeń: 0/8 Skąd: Zachodnie Piekła
|
Wysłany: Sob 21:33, 04 Lut 2006 Temat postu: |
|
|
Teraz mam taki inny trochę problem. Mianowicie jeśli mam takie dwa skrypciki jak:
Kod: | begin _domek
short budowanie
if ( budowanie < 2 )
"_domeczek"->Disable
set budowanie to 1
endif
if ( budowanie == 2 )
"_domeczek"->Enable
set budowanie to 3
endif
end _domek |
ORAZ:
Kod: |
begin _trwa
short budowanie
if ( budowanie == 1 )
StartScript "_domek"
Return
endif
if ( daysPassed == 0 )
set myDay to Day
set daysPassed to 1
endif
if ( myDay != Day )
set daysPassed to daysPassed + 1
set myDay to Day
endif
if ( GetPCCell "Balmora" == 0 )
if ( daysPassed > 5 )
Journal _domek 100
set budowanie to 2
endif
endif
End
|
to czy one będą dobre jeśli chce osiągnąć po danej rozmowie tak zwaną budowę czyli pojawienie się obiektu o ile dam na przykład w results set budowanie to 1?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
magnus
Szermierz

Dołączył: 02 Lut 2006
Posty: 5
Przeczytał: 0 tematów
Ostrzeżeń: 0/8
|
Wysłany: Pon 15:49, 06 Lut 2006 Temat postu: |
|
|
Witaj,
Nie będzie działać, bo zmienna budowanie jest tu zmienną lokalną. Można to zrobic z użyciem zmiennej globalnej, na przykład tak:
Kod: |
begin XL_SC_domek
; zmienna globalna XL_GV_budowanie
if ( XL_GV_budowanie < 2 )
"XL_OB__domeczek"->Disable
elseif ( XL_GV_budowanie == 2 )
"XL_OB_domeczek"->Enable
set XL_GV_budowanie to 3
StopScript XL_SC_domek ; jeśli już niepotrzebny
StopScript XL_SC_trwa_budowa ; ??? (jeśli niepotrzebny)
endif
end _domek
;-----------------------
begin XL_SC_trwa_budowa
; zmienna globalna XL_GV_budowanie
short myDay
short daysPassed
if ( XL_GV_budowanie == 1 )
StartScript "XL_SC_domek"
set XL_GV_budowanie to 2
StopScript XL_SC_trwa_budowa
Return
endif
if ( daysPassed == 0 )
set myDay to Day
set daysPassed to 1
endif
if ( myDay != Day )
set daysPassed to daysPassed + 1
set myDay to Day
endif
if ( GetPCCell "Balmora" == 0 )
if ( daysPassed > 5 )
Journal XL_JO_domek 100
set XL_GV_budowanie to 2
endif
endif
End |
Wykorzystano zmienną globalną XL_GV_budowanie o wartości początkowej 0. Dodałem deklaracje zmiennych lokalnych w drugim skrypcie oraz zatrzymanie skryptów, gdy już nie są potrzebne.
Pozdrawiam, Magnus
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Xalor
Administrator

Dołączył: 31 Sty 2006
Posty: 67
Przeczytał: 0 tematów
Ostrzeżeń: 0/8 Skąd: Zachodnie Piekła
|
Wysłany: Wto 15:20, 21 Lut 2006 Temat postu: |
|
|
Teraz mam kolejny problem. Chcę stworzyć miksturę na wampiryzm. Jest ona naszyjnikiem ale ma wygląd mikstury. Ma przypisany taki skrypt:
Kod: | if ( reset == 1 )
return
endif
if ( OnPCEquip == 1 )
if ( reset == 0 )
Set OnPCEquip to 0
MessageBox "Czy napewno chcesz wypić tą miksturę?" "Tak" "Nie"
set messageOn to 1
endif
endif
if ( messageOn == 1)
set button to GetButtonPressed
if ( button >= 0 )
set messageOn to 0
endif
if ( button == 0 )
Player->addspell "vampire blood aundae"
MessageBox "Wypiłeś miksturę! Za trzy dni staniesz się wampirem. Aby przestać nim być musisz wypić antidotum." "OK"
set doneonce to -1
set reset to 1
elseif ( button == 1 )
set reset to 1
return
endif
endif
End
|
Jest tylko problem bo założona mikstura nie chce się usunąć, jak powinna. Z tym jest problem. Co można by zrobić by usunąć założony przedmiot? Może dałoby się zdjąć i usunąć?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
BrunO
Przybysz
Dołączył: 21 Lut 2006
Posty: 1
Przeczytał: 0 tematów
Ostrzeżeń: 0/8
|
Wysłany: Wto 19:14, 21 Lut 2006 Temat postu: |
|
|
Po pierwsze nie rozumiem czemu robisz to jako naszyjnik. Jako MiscItem tez zadziała, a nie bedzie zdejmowało naszyjników np. z losowyem efektem na stałe co byłoby dosyć nieprzyjemne...
Po drugie. Komputer to głupia maszyna i nie potrafi sie domyśleć "co miał autor na myśli". Przecież w skrypcie nie masz niczego nakazujacego usuniecia tego napoju.
Dodaj Player->RemoveItem "ID mikstury" 1 i powinno zadziałać
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|