Reklama
Pokazuje wyniki od 1 do 6 z 6

Temat: [7.6] Niedziałający skrypt

  1. #1
    Cwelf

    Domyślny [7.6] Niedziałający skrypt

    Witam,
    jestem początkującym skrypterem i mam nadzieję, że ktoś mi pomoże. To tylko początkowy skrypt, aby chociaż troszkę ogarnąć to wszystko. Proszę o wyrozumiałość. ; )
    A więc nie działa mi ten skrypt:
    Kod PHP:
    -- Skrypt by Cwelf --
    function onUse(cid, item, fromPosition, itemEx, toPosition)
    if item.itemid ==2547 then
    doRemoveItem(item.uid,2547)
    doPlayerAddHealth (cid, 100)
    doSendMagicEffect(playerpos, 12)
    doPlayerSay (cid, "Aaaaach...", 16)
    else
    return 1
    end

  2. #2
    Avatar Grim90
    Data rejestracji
    2007
    Położenie
    Toruń / Brzozówka
    Wiek
    35
    Posty
    586
    Siła reputacji
    18

    Domyślny

    Cytuj Cwelf napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Witam,
    jestem początkującym skrypterem i mam nadzieję, że ktoś mi pomoże. To tylko początkowy skrypt, aby chociaż troszkę ogarnąć to wszystko. Proszę o wyrozumiałość. ; )
    A więc nie działa mi ten skrypt:
    Kod PHP:
    -- Skrypt by Cwelf --
    function onUse(cid, item, fromPosition, itemEx, toPosition)
    if item.itemid ==2547 then
    doRemoveItem(item.uid,2547)
    doPlayerAddHealth (cid, 100)
    doSendMagicEffect(playerpos, 12)
    doPlayerSay (cid, "Aaaaach...", 16)
    else
    return 1
    end
    Po pierwsze stosuj tabulator jako wcięcia.
    Spróbuj zrozumieć swój kod:

    Jeśli ID itemu jest takie i takie, to usuń go, dodaj 100 hp, wyświetl efekt magiczny, oraz powiedz "aaach". W przeciwnym razie zwróć 1, koniec.

    Podstawowe pytanie, czy dodałeś linijkę w actions.xml? Każdy skrypt jest czytany z XML, który następnie odnosi do skryptu LUA.
    Piszę skrypty do OTS. Chcesz mieć unikalny quest, lub skrypt na swoim serwerze? Pisz do mnie. Na pewno się dogadamy.
    Piszę skrypty PHP, strony oraz gotowe serwisy, jeśli jesteś zainteresowany, napisz.
    http://radeg.pl

    Masz facebooka? Zapraszamy do grupy: Grim OTS!
    http://www.facebook.com/?ref=logo#!/...07707075989449

  3. #3

    Notoryczny Miotacz Postów Cro jest teraz offline
    Avatar Cro
    Data rejestracji
    2010
    Położenie
    Aokigahara
    Wiek
    30
    Posty
    1,124
    Siła reputacji
    16

    Domyślny

    Kod PHP:
    -- Skrypt by Cwelf --
    function onUse(cid, item, frompos, item2, topos)
        if item.itemid == 2547 then
            doRemoveItem(item.uid, 1)
            doPlayerAddHealth(cid, 100)
            doSendMagicEffect(getPlayerPosition(cid), 12)
            doPlayerSay (cid, "Aaaaach...", 16)
        else
            return 1
        end
    end
    No więc tak.

    Kod PHP:
    function onUse(cid, item, fromPosition, itemEx, toPosition)
    Tak chyba jest na Avestach czy coś, bo na YurOTSach i innych dziadkach jest:
    Kod PHP:
    function onUse(cid, item, frompos, item2, topos)
    Jak masz Avestę to zostaw tak jak było.

    Ok, dalej:
    Kod PHP:
    doRemoveItem(item.uid, 2547)
    ID itemu nie musisz tutaj podawać, bo skrypt wie, który dokładnie item to jest (czyt. dokładnie ten, który użyłeś, a nie jakiśtam na mapie). To działa tak:
    Kod PHP:
    doRemoveItem(item.uid, ILOŚĆ!!!)
    Jedziemy dalej:
    Kod PHP:
    doSendMagicEffect(playerpos, 12)
    playerpos mógłbyś użyć gdybyś wcześniej utworzył np. zmienną o takiej nazwe. A że taka nie istnieje to co biedny skrypt ma zrobić? Wywali błąd i tyle.
    Kod PHP:
    doSendMagicEffect(getPlayerPosition(cid), 12)
    Dlatego możesz użyć wbudowaną w silnik funkcję getPlayerPosition(cid)

    Kod PHP:
    doPlayerSay(cid, "Aaaaach...", 16)
    Nie wiem jak to było na 7.6, ale jakby Cię zdebugowało, to spróbuj
    Kod PHP:
    doPlayerSay(cid, 16, "Aaaaach...")
    Do tego musiałbyś ogarnąć stawianie spacji i tabulatorów.
    Przyjrzyj się skryptowi poprawionego przeze mnie.

  4. Reklama
  5. #4
    Avatar Grim90
    Data rejestracji
    2007
    Położenie
    Toruń / Brzozówka
    Wiek
    35
    Posty
    586
    Siła reputacji
    18

    Domyślny

    Cro, w argumentach funkcji można podać co się chce, nawet:
    Kod :
    function onUse(ja, przedmiot, zPoz, przedmiotNa, doPoz)
    W związku z tym twoje pierwsze wskazówki są całkiem niepotrzebne. :P

    Natomiast funkcja doPlayerSay nie powinna być błędna, chyba, że ten, kto modyfikował silnik, walnął taki śmieszny błąd.
    Piszę skrypty do OTS. Chcesz mieć unikalny quest, lub skrypt na swoim serwerze? Pisz do mnie. Na pewno się dogadamy.
    Piszę skrypty PHP, strony oraz gotowe serwisy, jeśli jesteś zainteresowany, napisz.
    http://radeg.pl

    Masz facebooka? Zapraszamy do grupy: Grim OTS!
    http://www.facebook.com/?ref=logo#!/...07707075989449

  6. #5

    Notoryczny Miotacz Postów Cro jest teraz offline
    Avatar Cro
    Data rejestracji
    2010
    Położenie
    Aokigahara
    Wiek
    30
    Posty
    1,124
    Siła reputacji
    16

    Domyślny

    Cytuj Grim90 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Cro, w argumentach funkcji można podać co się chce, nawet:
    Kod :
    function onUse(ja, przedmiot, zPoz, przedmiotNa, doPoz)


    Cytuj Grim90 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Natomiast funkcja doPlayerSay nie powinna być błędna, chyba, że ten, kto modyfikował silnik, walnął taki śmieszny błąd.
    No nie no ale pamiętam, że jak z Evolutions przeszedłem na TFS'a (8.1) to właśnie przez to mnie debugowało przy jedzeniu fooda - typ wiadomości i sama wiadomość były na Evo w odwrotnej kolejności niż na TFSie

  7. #6
    Avatar zakius
    Data rejestracji
    2008
    Położenie
    The Internets
    Wiek
    34
    Posty
    11,076
    Siła reputacji
    25

    Domyślny

    musisz zwrócić true(a w starszych 1), inaczej skrypt się wykona ale klient dostanie "sorry not possible"
    i jak przypiszesz tylko 1 id do danego skryptu nie ma najmniejszego sensu sprawdzać tego id wewnątrz
    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. Reklama
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. Niedziałający mikrofon - Windows XP, Realtek HD Audio.
    Przez boryss w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 2
    Ostatni post: 20-03-2013, 09:28
  2. Niedziałający mikrofon
    Przez lapassions w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 2
    Ostatni post: 09-01-2013, 02:49
  3. Niedziałający klawisz.
    Przez boryss w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 3
    Ostatni post: 22-12-2012, 13:27
  4. Niedziałający mikrofon.
    Przez Vinan w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 7
    Ostatni post: 11-04-2012, 18:01
  5. [8.54][SKRYPT]Skrypt NPC+Zabijanie potworka
    Przez Morgahar w dziale Strefa developerska
    Odpowiedzi: 4
    Ostatni post: 17-04-2010, 17:16

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
  •