RkBlog

Hardware, programming and astronomy tutorials and reviews.

Ulepszanie przedmiotów u Cromwella

Jak zrobić by np. Cromwell ulepszył nam przedmiot? Tutorial dla zaawansowanych z lekka: Załóżmy że mamy 3 kawałki miecza, pliki itm o nazwa: SHARD1, SHARD2 i SHARD3 oraz miecz SHARDSWD który ma powstać z ich złożenia. Robimy sobie jakiś plik *.d i wrzucamy do niego coś takiego:
EXTEND_BOTTOM WSMITH01 13
IF ~OR(3)
      PartyHasItem("SHARD1")
      PartyHasItem("SHARD2")
      PartyHasItem("SHARD3")~ THEN GOTO PartyHasAtLeastOneShard
END

APPEND WSMITH01
IF ~~ THEN BEGIN PartyHasAtLeastOneShard SAY ~Co to, kawałki miecza?~
  IF ~PartyHasItem("SHARD1")
      PartyHasItem("SHARD2")
      PartyHasItem("SHARD3")~ THEN GOTO PartyHasAllParts
  IF ~OR(3)
      !PartyHasItem("SHARD1")
      !PartyHasItem("SHARD2")
      !PartyHasItem("SHARD3")~ THEN GOTO PartyDoesNotHaveAllParts
END

IF ~~ THEN BEGIN PartyDoesNotHaveAllParts SAY ~To są fragmenty niezłego miecza, jeżeli będziecie mieć wszystkie będę mógł zrobić z nich miecz.~
  IF ~~ THEN GOTO MovingRightAlong
END

IF ~~ THEN BEGIN PartyHasAllParts SAY ~Widzę że macie wszystkie części, mogę zrobić z nich niezły miecz.~
  IF ~~ THEN REPLY ~Z czym byłoby to związane?~ GOTO HowMuch
  IF ~~ THEN REPLY ~Nie dzięki, może mam coś innego ciekawego?~ GOTO MovingRightAlong
END

IF ~~ THEN BEGIN HowMuch SAY ~Kosztować to będzie 7500.~
  IF ~PartyGoldGT(7499)~ THEN DO ~SetGlobal("ForgeItem","GLOBAL",555)
                                  SetGlobal("ForgeStuff","GLOBAL",1)
                                  TakePartyGold(7500)
                                  DestroyGold(7500)~ REPLY ~Tak zróbmy to.~ GOTO 56
  IF ~~ THEN REPLY ~Nie dzięki, może mam coś innego ciekawego?~ GOTO MovingRightAlong
END

IF ~~ THEN BEGIN MovingRightAlong SAY ~Zobaczmy co tam masz.~
  COPY_TRANS WSMITH01 13
END
END

Następnie zobacz jaki nr AR ma plansza kuźni Cromwella :) I w NearInfinity w skrypcie tego obszaru dodaj:
IF
  Global("ForgeItem","GLOBAL",555)
  Global("ForgeStuff","GLOBAL",1)
THEN
  RESPONSE #100
      SetGlobal("ForgeStuff","GLOBAL",0)
      TakePartyItem("SHARD1") // kawałki
      TakePartyItem("SHARD2")
      TakePartyItem("SHARD3")
      DestroyItem("SHARD1") 
      DestroyItem("SHARD2")
      DestroyItem("SHARD3")
      GiveItemCreate("SHARDSWD",PLAYER1,0,0,0) // zrobiony przedmiot
      ActionOverride("wsmith01",StartDialogueNoSet([PC]))
END

Na podstawie tutoriala FWN
RkBlog

Modowanie Silnika Infinity, 14 July 2008, Piotr Maliński

Comment article