Skocz do zawartości


- - - - -

Skrypt do dodawania wyposażenia


25 odpowiedzi w tym temacie

#1 Eradorius

    Pilot

  • Użytkownicy
  • PipPip
  • 116 postów

Napisano 28 październik 2009 - 20:54

Jest to skrypt będący alternatywą dla sztuczki z klonowaniem. Tworzy podaną ilość wyposażenia na wskazanym statku, następnie odejmuje nam za konta średnią wartość tych towarów (czyli identycznie jak w jakimś doku zaopatrzeniowym).

UWAGA: Radzę go używać dopiero wtedy gdy moglibyśmy normalnie uzyskać identyczny efekt za pomocą klonowania (reputacja itp. itd.), by nie psuć sobie za bardzo zabawy.

Jednak okazało się, że nikomu się ten skrypt w edytorze nie pojawił (wygląda to na jakieś zabezpieczenie edytora), poniżej podaję jak go napisać samemu.

1. Tworzymy nowy skrypt w edytorze.
Dołączona grafika
2. W polu argumenty dodajemy po kolei poniższe argumenty (enter na nowy argument).

Ale wpierw trochę teorii.
Argumenty (odpowiednik zmiennych w programowaniu, po uruchomieniu wprowadzamy do nich informacje) składają się z trzech rzeczy (odpowiednik zmiennych w programowaniu), są one podawane przy uruchomieniu skryptu. Wpisując je podajemy:
a) nazwę (jest to nazwa pod którą będzie występował w składni skryptu).
:wacko: wprowadzenie skryptu (po prostu jaki typ danych będziemy mu podawać (np. var/ship - docelowy statek, number - liczba, var/shiptype - tyb statku (np. w skrypcie dodającym statek, będziemy podawać jaki chcemy))).
c) łańcuch (nazwa skryptu dla użytkownika pojawia się w okienku wprowadzania).
Dołączona grafika

Więc deklarujemy takie argumenty
a) cel, będzie nam wybierał docelowy statek
- n (nazwa): cel
Dołączona grafika
- ws (wprowadzenie skryptu): var/ship
Dołączona grafika
- ł (łańcuch): cel (po prostu wpisujemy)
:D ile, ile chcemy danego dobra
- n: ile
- ws: number
- ł: ile
c) co, będziemy dzięki niemu wybierać co chcemy kupić
- n: co
- ws: var/ware
- ł: co

Powinniśmy uzyskać coś takiego:
Dołączona grafika

3. Teraz musimy wpisać funkcje, dzielą się one ogólnie na 8 typów, najważniejsze dla nas to:
- General Commands (znajdują się tam wszelkiego operatory (min. logiczne, np if).
- Trade Commands (związanie z handlem (dodawanie/odejmowanie przedmiotów z statków, wyszukiwanie cen towarów (min/śr/max) itp.)
Funkcję wybieramy wchodząc do odpowiedniej grupy i klikając enter. MUSIMY zapełnić wszystkie pola .
Funkcję można wprowadzić na kilka rodzajów, ale najważniejsze to zmienna i wybrana zmienna z gotowych. Edytor przypisze podanej zmiennej wynik danej funkcji.

4. Czas napisać kod skryptu.
Wybieramy następujące funkcje.
a) -trade commands\add units of ware (funkcja doda x jednostek wyposażenia do y)
Dołączona grafika
- wprowadzamy go jako zmienną (np. a, obojetnie jaką bo nie będziemy w skrypcie potrzebowali jego wartości, dla nas jest ważny tylko skutek jego działania)
Dołączona grafika
- teraz musimy uzupełnić znaki , są to odwołania do zmiennych.
add units of ware - tu jest potrzebna nam lekka znajomość angielskiego, możemy to przetłumaczyć na
Do x dodaj y jednostek wyposażenia z więc pod pierwszy podstawiamy cel, pod drugą ile pod trzecią co, uzyskamy:
Do cel dodaj ile jednostek wyposażenia co

Więc jak to podstawimy to wyjdzie nam
$a= $cel add $ile units of ware $co

Tak oto udało się nam napisać swoją pierwszą linię skryptu

:) trade commands\get average price of ware (funkcja pobierze z gry średnią cenę towaru i go zapisze)
Dołączona grafika
- wprowadzamy ją jako zmienna, kosztekw i uzupełniamy ją jak poniżej (ponieważ będziemy się do niej odwoływać by obliczyć ile wisimy kasy cudownemu utworzeniu ekwipunku)
Dołączona grafika

c) general commands\"operatory""operatory" (występuje jako puste pole), jest to funkcja dzięki której możemy wykonać obliczenia i zapisać je do zmiennej podanej w czasie jej stworzenia)
Dołączona grafika

- wprowadzamy ją jako zmienna, pieniadze
-następnie po = klikamy na enterem (potem zniknie, więc pod kolejne operatory wybieramy i klikamy na ...) i kolejno wybieramy operatory:
Dołączona grafikaDołączona grafika

- operacje "-" (musimy nadać wartość ujemną całości, bo istnieje tylko funkcja dodająca kasę, więc by ją odjąć musimy dodać wartość ujemną)
- zmienna "kosztekw"
- operator "*" (mnożymy średni koszt razy ilość zakupionych rzeczy)
- zmienna "ile"
Powinno nam wyjść:
Dołączona grafika


C) trade commands\add money to player
Dołączona grafika
- wprowadzamy potem zmienną pieniądze (dodajemy do naszego konta dług, w efekcie odejmujemy to co mamy zapłacić)
Dołączona grafika

Koniec, napisaliśmy skrypt :)

Teraz esc, zapisz i możemy go uruchomić.

P.S. Po ponownym otwarciu pojawi się na dole skrypty linia return = 0, ma tam być, jeśli macie tą linię gdzieś indziej to usuńcie ją klawiszem del.


P.S. 2 Poniżej jest stary post, można z niego pobrać skrypt. Jeśli chcemy zobaczyć jak wyglądałby w konsoli należy go wrzucić do folderu scripts (tam znajduje się szablon) i otworzyć go za pomocą przeglądarki.
Spoiler


#2 Yacek

    Komandor

  • Gwardia
  • 9433 postów
  • LokalizacjaKraków
  • Rasa: Nieznana
  • Gram w: X: Rebirth

Napisano 28 październik 2009 - 21:01

Dziękujemy za skrypt, nic za darmo, aby nie zepsuć gry, a zawsze łatwiej.

#3 LeWaR

    Admirał

  • Admiralicja
  • 1920 postów
  • Rasa: Teladi
  • Gram w: X2: The Threat, X3: Reunion, X3: Terran Conflict, X3: Albion Prelude, X: Rebirth

Napisano 28 październik 2009 - 21:05

A ja poproszę jakiś kurs tu na forum :wacko:
Chętnie tez coś bym napisał...

#4 michal3588

    Pilot

  • Użytkownicy
  • PipPip
  • 105 postów
  • Rasa: Nieznana

Napisano 28 październik 2009 - 21:16

mam problem. Wrzuciłem do pliczek folderu scripts ale i tak go nie widzę w konsoli skryptów.

#5 Eradorius

    Pilot

  • Użytkownicy
  • PipPip
  • 116 postów

Napisano 28 październik 2009 - 21:24

U mnie działa, ale nigdy nie próbowałem go odpalić na innej instalacji niż na tej, na której go napisałem. Działa on u kogoś?
Poszukaj uzupelnienie, taka jest oryginalna nazwa. Spróbuj też zmienić nazwę samego pliku na uzupelnienie i go pod nią poszukać.

#6 Yacek

    Komandor

  • Gwardia
  • 9433 postów
  • LokalizacjaKraków
  • Rasa: Nieznana
  • Gram w: X: Rebirth

Napisano 28 październik 2009 - 21:26

1. Zmień nazwę plikowi z Ekwipunek.xml na !!!Ekwipunek,xml znajdzie się na początku listy skryptów.
2. Po liście skryptów w edytorze można poruszać się klawiszami PageDown i PageUp, lista jest bardzo długa.

#7 michal3588

    Pilot

  • Użytkownicy
  • PipPip
  • 105 postów
  • Rasa: Nieznana

Napisano 28 październik 2009 - 21:41

Może robię coś źle;[ (nie śmiejcie się bo jestem zielony ;d)
1.Wklejam pliczek do folderu scripts
2. Zmieniam imię pilota
3. Odpalam edytor skryptów

I co dalej??? Bo może coś nie tak robię??? szukam na wszystkich możliwych listach, klikam "l"(wczytanie skryptu) wpisuje uzupelnienie(zgodnie z radą tak nazwałem) ale nadal nie mogę sobie poradzić ;[. Mógł by ktoś tak łopatologicznie napisać co robić??

#8 Eradorius

    Pilot

  • Użytkownicy
  • PipPip
  • 116 postów

Napisano 28 październik 2009 - 21:44

Jak zmieniłem nazwę skryptu (np. 1ekw.xml, i we wnętrzu pliku tak samo (1ekw)) to edytor nie widział takiego pliku (tak jak pisze michal358B), sam nie wiem co się dzieje :wacko:

#9 Yacek

    Komandor

  • Gwardia
  • 9433 postów
  • LokalizacjaKraków
  • Rasa: Nieznana
  • Gram w: X: Rebirth

Napisano 28 październik 2009 - 22:03

Też nie widzę tego skryptu.
Kiedy go pisałeś? Jaką wersję gry masz?

#10 Eradorius

    Pilot

  • Użytkownicy
  • PipPip
  • 116 postów

Napisano 28 październik 2009 - 22:34

Dawno temu. Skrypt pisałem na 2.1 teraz gram na 2.5 i nadal działa. Co ciekawe próbowałem:
- stworzyć nowy skrypt (pusty np. qwertyuiop)
- zapisać grę
- wyjść
- wrzucić tylko kod i zmienne (bez zmiany nagłówka) do skryptu (usunięta stara zawartość)
- po uruchomieniu gry ten nowy skrypt znika

Edytor ma chyba jakieś zabezpieczenie.





Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych