Reklama
Pokazuje wyniki od 1 do 8 z 8

Temat: XENOBOT SKRYPTY LUA, MASS SHARING!

  1. #1

    Data rejestracji
    2011
    Posty
    255
    Siła reputacji
    13

    Domyślny XENOBOT SKRYPTY LUA, MASS SHARING!

    Wpadłem na pomysł aby każdy torgowicz który ma swoje lua skrypty (funkcje, moduły) wstawił tutaj i się podzielił z innymi. No to ja wstawiam pierwszy.
    Aby było prosto i czytelnie sugeruje użycie takiego formularza: Nazwa Skryptu -> KOD -> "Przykładowe Użycie" -> Finalna Funkcja.

    Otwieranie drzwi za pomocą klucza.
    Kod:
    function OpenDoor(x, y, z, id)
    tmp = 0
      if Map.IsTileWalkable(x, y, z) then
        return false 
      else
        tmp = Map.GetTopUseItem(x, y, z).id
        Self.UseItemFromGround(x, y, z)
        wait(Self.Ping() * 2, Self.Ping() * 3) 
      if tmp == Map.GetTopUseItem(x, y, z).id then
        UseItemFromBP(x, y, z, id)
        end
      end
    end
     
    function UseItemFromBP(x, y, z, id)
      for i = 0, 15 do
      BP = Container.New(i)
        for SPOT = BP:ItemCount() - 1, 0, -1 do
          if (BP:GetItemData(SPOT).id == id) then
            BP:UseItemWithGround(SPOT, x, y, z)
          end
        end
      end
    end
    Przykładowe użycie:
    Kod:
    OpenDoor(32400, 31789, 8, 2973)
    Ostatnio zmieniony przez hugo999 : 10-07-2014, 20:38

  2. #2
    Avatar liker
    Data rejestracji
    2014
    Położenie
    Lublin
    Posty
    176
    Siła reputacji
    10

    Domyślny

    nie wiem czy ten temat jakkolwiek ruszy, ponieważ tutaj połowa userów nie potrafi nawet lua skonfigurować, a co nie mówić robić skrypty jakieś :)

    ps. to o co się pytałem wczoraj już zrobiłem, śmiga jak ta lala :)

  3. Reklama
  4. #3
    Avatar zakius
    Data rejestracji
    2008
    Położenie
    The Internets
    Wiek
    33
    Posty
    11,075
    Siła reputacji
    24

    Domyślny

    Lua to jeden z najelastyczniejszych języków, który przy okazji jest bardzo prosty do opanowania
    jak ktoś sam nie potrafi sobie skryptu w lua napisać (albo domyslić się, że jak skopiuj ebez ostatniej linijki to jego wina, a nie bluzgać na autora :p)to tym bardziej nie powinien bocić(albo zabierać za OT, żadna różnica), ale co ja tam wiem...
    Problem z komputerem? Instrukcja diagnostyczna
    Cytuj Vegeta napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Baby maja wymagania jak windows vista, takze nigdy nie wiesz.
    Cytuj Dzzej napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Moje posty to esencja głupoty.
    "Don't worry, I'm just a pervert"

  5. #4
    Avatar ProEda
    Data rejestracji
    2008
    Położenie
    Z bidy z nendzo
    Wiek
    24
    Posty
    2,040
    Siła reputacji
    17

    Domyślny

    czyli trzeba najpierw kod wgrac do skryptow, a potem w walkerze to przykładowe użycie?
    a w tym kodzie najpierw podstawic wartosci?
    jak ogarniam settingi, to tego nie czaje, nie dziala mi :d co musze zmienic w kodzie?
    wpisuje polozenie mojego pionka i id keya i nic
    WHO?!
    WHO WHO WHO?!

  6. #5
    Avatar zakius
    Data rejestracji
    2008
    Położenie
    The Internets
    Wiek
    33
    Posty
    11,075
    Siła reputacji
    24

    Domyślny

    no masz, wywołanieFunkcji(argumenty) tak?
    x, y, z, idklucza

    ta, zapewne w walkerze masz opcję wklejenia skryptu gdzieś, nei wiem, xeno mnie na tyle odrzuca interfejsem (idea zacna, ale mało praktyczna), że się nie bawiłem

    a pozycję pewnie drzwi masz wpisać

    //wychodzi
    Ostatnio zmieniony przez zakius : 11-07-2014, 00:32
    Problem z komputerem? Instrukcja diagnostyczna
    Cytuj Vegeta napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Baby maja wymagania jak windows vista, takze nigdy nie wiesz.
    Cytuj Dzzej napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Moje posty to esencja głupoty.
    "Don't worry, I'm just a pervert"

  7. #6
    Avatar ProEda
    Data rejestracji
    2008
    Położenie
    Z bidy z nendzo
    Wiek
    24
    Posty
    2,040
    Siła reputacji
    17

    Domyślny

    Kod:
    function OpenDoor(32656, 31657, 10, 2969)
    tmp = 0
      if Map.IsTileWalkable(32656, 31657, 10) then
        return false 
      else
        tmp = Map.GetTopUseItem(32656, 31657, 10).2969
        Self.UseItemFromGround(32656, 31657, 10)
        wait(Self.Ping() * 2, Self.Ping() * 3) 
      if tmp == Map.GetTopUseItem(32656, 31657, 10).2969 then
        UseItemFromBP(32656, 31657, 10, 2969)
        end
      end
    end
     
    function UseItemFromBP(32656, 31657, 10, 2969)
      for i = 0, 15 do
      BP = Container.New(i)
        for SPOT = BP:ItemCount() - 1, 0, -1 do
          if (BP:GetItemData(SPOT).2969 == 2969) then
            BP:UseItemWithGround(SPOT, 32656, 31657, 10)
          end
        end
      end
    end
    tak o?
    nie laduje mi sie to :p
    WHO?!
    WHO WHO WHO?!

  8. #7

    Data rejestracji
    2014
    Posty
    19
    Siła reputacji
    0

    Domyślny

    Jeśli ktoś chce otworzyć dom społeczny gdzieś w depo czy gdziekolwiek no to proszę bardzo :D

    Kod PHP:
    Module.New('Player_On_Position', function(Mod)
    		local Player_Detected = false
            for name, creature in Creature.iPlayers(7) do
                if (creature:Position().x == Self.Position().x and creature:Position().y == (Self.Position().y-1) and creature:Position().z == (Self.Position().z)) then
                  				Player_Detected = true
    			  if (creature:Name()~=Player_LastName) then
    				Player_LastName=creature:Name()
    				Bye_Say = true
                    Self.Say("Bierz Mnie " ..Player_LastName.. "! Bierz Mnie Ostro Tygrysie!")
    				end
    				if (Self.LookDirection() ~= SOUTH) then
    						Self.Turn(SOUTH)
    				end
                end
    		end
            if not (Player_Detected) then
    				if (Bye_Say==true) then
    				Bye_Say=false
                    Self.Say(""..Player_LastName.. " Tak szybko skonczyles? WSTYD!")
    				end
    				if (Self.LookDirection() ~= NORTH) then
    				Self.Turn(NORTH)
    			end
    		end
    	Mod:Delay(100)
    	end)
    Ostatnio zmieniony przez Diabel : 11-07-2014, 06:54

  9. #8

    Data rejestracji
    2011
    Posty
    255
    Siła reputacji
    13

    Domyślny

    Cytuj ProEda napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Kod:
    function OpenDoor(32656, 31657, 10, 2969)
    tmp = 0
      if Map.IsTileWalkable(32656, 31657, 10) then
        return false 
      else
        tmp = Map.GetTopUseItem(32656, 31657, 10).2969
        Self.UseItemFromGround(32656, 31657, 10)
        wait(Self.Ping() * 2, Self.Ping() * 3) 
      if tmp == Map.GetTopUseItem(32656, 31657, 10).2969 then
        UseItemFromBP(32656, 31657, 10, 2969)
        end
      end
    end
     
    function UseItemFromBP(32656, 31657, 10, 2969)
      for i = 0, 15 do
      BP = Container.New(i)
        for SPOT = BP:ItemCount() - 1, 0, -1 do
          if (BP:GetItemData(SPOT).2969 == 2969) then
            BP:UseItemWithGround(SPOT, 32656, 31657, 10)
          end
        end
      end
    end
    tak o?
    nie laduje mi sie to :p
    Kod:
    registerEventListener(WALKER_SELECTLABEL,"onWalkerSelectLabel")
    
    function onWalkerSelectLabel(labelName)
    if (labelName == "OpenFirstDoor") then
      Walker.Stop()
        OpenDoor(32400, 31789, 8, 2973)
      Walker.Start()
    
    elseif (labelName == "OpenSecondDoor") then
      Walker.Stop()
        OpenDoor(32401, 31744, 9, 2972)
      Walker.Start()
    	end
    end
    
    
    function OpenDoor(x, y, z, id)
    tmp = 0
      if Map.IsTileWalkable(x, y, z) then
        return false 
      else
        tmp = Map.GetTopUseItem(x, y, z).id
        Self.UseItemFromGround(x, y, z)
        wait(Self.Ping() * 2, Self.Ping() * 3) 
      if tmp == Map.GetTopUseItem(x, y, z).id then
        UseItemFromBP(x, y, z, id)
        end
      end
    end
     
    function UseItemFromBP(x, y, z, id)
      for i = 0, 15 do
      BP = Container.New(i)
        for SPOT = BP:ItemCount() - 1, 0, -1 do
          if (BP:GetItemData(SPOT).id == id) then
            BP:UseItemWithGround(SPOT, x, y, z)
          end
        end
      end
    end
    Przykład wykorzystywania w CaveBocie, załadujesz skrypt lua, a następnie robisz jakieś wpt> podchodzisz do drzwi dajesz stand i ustawiasz label OpenFirstDoor, analogicznie robisz z innymi drzwiami i tu masz label OpenSecondDoor.

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. [LUA] Krótsze odpowiedniki w lua - autorstwa Grimkka
    Przez Grimekk w dziale Artykuły developerskie
    Odpowiedzi: 2
    Ostatni post: 13-01-2014, 18:36
  2. skrypty w c++ / lua - poszukuje programistow
    Przez katamaran w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 0
    Ostatni post: 01-07-2013, 12:57
  3. skrypty w c++ / lua - poszukuje programistow
    Przez katamaran w dziale Strefa developerska
    Odpowiedzi: 0
    Ostatni post: 01-07-2013, 12:56
  4. [Lua] Od zera do skryptera, czyli LUA: Pętle i tablice*
    Przez Grim90 w dziale Artykuły developerskie
    Odpowiedzi: 9
    Ostatni post: 21-08-2010, 02:47
  5. [Lua] Od zera do skryptera, czyli LUA: PODSTAWY i Actions*
    Przez Grim90 w dziale Artykuły developerskie
    Odpowiedzi: 7
    Ostatni post: 02-08-2009, 01:05

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •