Reklama
Pokazuje wyniki od 1 do 9 z 9

Temat: jak działają skrypty

  1. #1

    Data rejestracji
    2016
    Posty
    8
    Siła reputacji
    0

    Domyślny jak działają skrypty

    cześć cześć ;d tak mnie ciekawi jak działają skrypty a raczej ich poszczególne elementy, weźmy na przykład taki skrypt
    Kod:
    local condition = createConditionObject(CONDITION_ATTRIBUTES)
    setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 60 * 1000) -- 10 minutes
    
    setConditionParam(condition, CONDITION_PARAM_SKILL_MELEE, 5) //skąd skrypt wie że ma dodać skila o 5 ;D
    
    setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, -10) //tu to samo skąd wie że chodzi o shield
    
    function onUse(cid, item, fromPosition, itemEx, toPosition) //to o ile się nie mylę jest funkcja a to w () to zmienne tak ?
    
    if(doAddCondition(cid, condition)) then // "doAddCondition" to jest część języka czy ustawia się właściwości samemu ? ;d
    
    doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED)
    doRemoveItem(item.uid)
    end
    
    return true
    end
    i weźmy jeszcze skrypt jakiegoś monstera dajmy na to dragona:

    Kod:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <monster name="Dragon" nameDescription="a dragon" race="blood" experience="700" speed="180" manacost="0"> // tu tak samo dla sprostowania "speed" to jest część pisania czy coś typu zmiennej jak coś typu zmiennej to gdzie znajdują się właściwości ;d
    
    <health now="1000" max="1000"/>
    <look type="34" corpse="5973"/>
    <targetchange interval="5000" chance="8"/>
    <strategy attack="100" defense="0"/>
    <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="1"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="1"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="300"/>
    </flags>
    <attacks>
    
    <attack name="melee" interval="2000" min="-10" max="-120"/> // to też mnie ciekawi obrażenia od min 10 do 120 musi być jakaś funkcja losująca prawda ?
    
    <attack name="fire" interval="2000" chance="15" range="7" radius="4" target="1" min="-60" max="-110"> //w tym miejscu będzie mnie interesować tylko jak ustawić częstotliwość tego ataku w sumie ucieszę się jakby ktoś objaśnił całą linijkę.
    
    <attribute key="shootEffect" value="fire"/>
    <attribute key="areaEffect" value="firearea"/>
    </attack>
    <attack name="fire" interval="3000" chance="8" length="8" spread="3" min="-90" max="-170">
    <attribute key="areaEffect" value="firearea"/>
    </attack>
    </attacks>
    <defenses armor="25" defense="18">
    <defense name="healing" interval="1000" chance="13" min="34" max="56">
    <attribute key="areaEffect" value="blueshimmer"/>
    </defense>
    </defenses>
    <elements>
    <element firePercent="100"/>
    <element earthPercent="80"/>
    <element energyPercent="20"/>
    <element icePercent="-10"/>
    </elements>
    <immunities>
    <immunity paralyze="1"/>
    <immunity invisible="1"/>
    </immunities>
    <voices interval="5000" chance="10">
    <voice sentence="GROOAAARRR" yell="1"/>
    <voice sentence="FCHHHHH" yell="1"/>
    </voices>
    <loot>
    
    <item id="2672" countmax="3" chance="90000"/><!-- dragon ham --> // i jeszcze to ;D też najbardziej interesuje mnie jak ustawić częstotliwość wypadania, domyślam się że będzie to "chance"
    
    <item id="2148" countmax="100" chance="100000"/><!-- gold coin -->
    <item id="2398" chance="20000"/><!-- mace -->
    <item id="2455" chance="6666"/><!-- crossbow -->
    <item id="2434" chance="1333"/><!-- dragon hammer -->
    <item id="2509" chance="1818"/><!-- steel shield -->
    <item id="2406" chance="20000"/><!-- short sword -->
    <item id="2647" chance="2222"/><!-- plate legs -->
    <item id="2457" chance="3333"/><!-- steel helmet -->
    <item id="2387" chance="4000"/><!-- double axe -->
    <item id="7430" chance="400"/><!-- dragonbone staff -->
    <item id="2397" chance="5000"/><!-- longsword -->
    <item id="2546" countmax="13" chance="39000"/><!-- burst arrow -->
    <item id="5877" countmax="1" chance="4000"/><!-- green dragon leather -->
    <item id="1987" chance="59000"><!-- bag -->
    <inside>
    <item id="2187" chance="1111"/><!-- wand of inferno -->
    <item id="2148" countmax="25" chance="100000"/><!-- gold coin -->
    <item id="2516" chance="600"/><!-- dragon shield -->
    <item id="2145" countmax="3" chance="1538"/><!-- small diamond -->
    <item id="2177" chance="2000"/><!-- life crystal -->
    <item id="2413" chance="6666"/><!-- broadsword -->
    <item id="2409" chance="509"/><!-- serpent sword -->
    <item id="5920" countmax="1" chance="5000"/><!-- green dragon scale -->
    </inside>
    </item>
    </loot>
    </monster>
    weźmy jeszcze na zakończenie coś takiego:

    Kod:
    function onSay(cid, words, param, channel)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have " .. getPlayerMoney(cid) .. " gold.")
    return true
    end
    w ostatnim skąd skrypt pobiera dane i "getPlayerMoney(cid)" to jest funkcja przygotowana przez skryptera czy cośw rodzaju zapytania które możemy stosować wszędzie ?
    mam nadzieje że dobrze wybrałem kategorie ;d z góry dziękuje, naprawdę ;D

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

    Domyślny

    co do ostatniego, jedyne co możesz zrobić to poszukać po global libach i tych dołączanych do wszystkich skryptów danego typu, jak tam nie ma to jest zaimplementowane w c++ i dostępne globalnie, jak jest w global to oczywiście też globalnie, ale zaimplementowane w Lua

    co do "jak działają" to fragmenty poza blokami funkcji są wykonywane przy starcie (można tam wrzucić jakąś konfigurację, definicję magicznych numerków czy coś), a funkcje są wywoływane przez serwer w reakcji na określone akcje (musisz powiązać handlery i tak samodzielnie, masz w katalogach odpowiednie xml opisujące to: jaka akcja, na czym, który skrypt wywołuje)
    co do potworów, jak to xml, jest to opis bytu w jakiś zdefiniowany sposób, który niestety trochę się też zmieniał (głównie z powodu naprawy błędów)
    porównując kilka potworów jakoś do tego dojdziesz (tip: ataki potworów ustawione na obrażenia fizyczne od-do pomijają armor i tarczę, ale są osłabiane przez procentową odporność, ale możesz ustawić też żeby był liczony jak dla postaci z danym skillem i atakiem broni wtedy armor i shield działają)

    a te stałe, o które pytasz w pierwszym są podefiniowane w globalu (tylko dostajesz wtedy numerki, które to już serwer rozumie dalej)

    może później się bardziej przyjrzę temu i odpowiem na więcej, z telefonu trochę ciężko
    Ostatnio zmieniony przez zakius : 15-11-2016, 08:59
    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"

  3. Reklama
  4. #3

    Data rejestracji
    2016
    Posty
    8
    Siła reputacji
    0

    Domyślny

    okej spoko mniej więcej czaje tzn to są tak jakby nazwy zmiennych które mają wartości i określony typ w innym pliku tak ?
    tak się patrzę i nie ma żadnych plików cpp w silniku ;/ to ok czy mam jakiś zły silnik ;D natknąłem się na jakiś temat gdzie ktoś coś chciał czarować w c++ robiąc ots ;D jest to możliwe ?
    <globalevent name="magic" interval="2" script="magic.lua"/>
    do czego służy ten "interval" ;D
    Ostatnio zmieniony przez emce1996 : 15-11-2016, 09:27 Powód: dodatkowe pytanie ;d

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

    Domyślny

    teoretycznie powinieneś mieć gdzieś kod źródłowy, ale mało kto go dołącza jak udostępnia jakąś gotową paczkę, a często nawet nie informuje o co jest oparta, w każdym razie: jak nie masz go to możesz się bawić, ale uruchomić serwer dla graczy będzie ciężko (bo co, na windowsie postawisz?)

    to jest odstęp między wywołaniami, prawdopodobnie 2s, ale były i wersje, w których podawało się go w ms
    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"

  6. #5

    Data rejestracji
    2016
    Posty
    8
    Siła reputacji
    0

    Domyślny

    to znaczy że bez tego kodu źródłowego mam bardzo ograniczone pole manewru ? ;D przeszkadza to w postawieniu serwera na dedyku ? ;/

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

    Domyślny

    Cytuj emce1996 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    przeszkadza to w postawieniu serwera na dedyku
    masz elfa? (binarkę na linuksa) jak nie to tylko na windowsie postawisz, a nie wiadomo, czy masz binarkę 64 bit (jeśli nie to masz mocno ograniczony rozmiar mapy)
    niby da się, ale możesz natrafić na wiele problemów
    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"

  8. #7

    Data rejestracji
    2016
    Posty
    8
    Siła reputacji
    0

    Domyślny

    oj nie wiem ;D nie wiem o czym teraz mówisz haha ale to chyba od dedyka zależy nie ? ;D bo na pewno nie robił bym tak że komp 24/7 włączony
    ostatnie pytanie odbiegające od tematu ;D
    mam taki plik "forgottenserver.s3db" to jest do bazy danych ?? musze to w config.lua zmienić bo mam to wpisane (mam wpisane forgottenserver.s3db a baze zrobiłem importując plik mysql.sql)
    Ostatnio zmieniony przez emce1996 : 15-11-2016, 12:39

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

    Domyślny

    ten plik to baza sqlite, której raczej się nie używa, ewentualnie do lokalnych testów właśnie, normalnie do serwera używasz już MySQL (albo marii, serwer różnicy nie zauważy)
    no od dedyka zależy, ale za windowsa się dopłaca
    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"

  10. #9

    Data rejestracji
    2016
    Posty
    8
    Siła reputacji
    0

    Domyślny

    a jaka to różnica kurde dopisałbym coś jeszcze ale się zjarałem i nie czaje bazy xD yyy hosting
    Ostatnio zmieniony przez emce1996 : 15-11-2016, 23:26

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. Jak działają taski?
    Przez Hotarti w dziale Tibia
    Odpowiedzi: 4
    Ostatni post: 12-11-2016, 21:34
  2. [jQuery]Skrypty nie działają
    Przez Dio Paladin w dziale Programowanie
    Odpowiedzi: 4
    Ostatni post: 25-12-2014, 21:46
  3. Tibia.com + Tibia nie działają
    Przez matizioom w dziale Tibia
    Odpowiedzi: 6
    Ostatni post: 20-01-2011, 16:23
  4. [TibiabotNG] [8.54] Klucze nie działają!
    Przez Adisky w dziale Tibia
    Odpowiedzi: 3
    Ostatni post: 27-01-2010, 12:34

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
  •