Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Problem Z Kodem :D


Rekomendowane odpowiedzi

Opublikowano

Mam pytanko...

Potrzebuję programik, który..

1. Sprawdza czy zmienna $1 > 1, jeśli tak to wykonuje skrypt.. (w tym przypadku będzie to wysyłanie klawiszy w pętli)..

2. Jeśli $1 = 0 wtedy wyświetla komunikat i kończy działanie...

 

Tutaj daje kod:

 

#include <FF.au3>

HotKeySet ( "{ESC}", "Koniec" )

_FFStart ("www.my-fantasy.net")

WinWaitActive ("Mapa - Ruch :: My Fantasy Online - Mozilla Firefox")

$1 = _FFXpath ("//*[@id=player_moves]")

If $1 > 1 Then
While 1
	Send ("{LEFT}")
	Sleep ( 600 )
	Send ("{RIGHT}")
	Sleep ( 600 )
WEnd
ElseIf $1 = 0 Then
MsgBox (0, "Ruchy", "Koniec ruchów...")
EndIf

Func Koniec()
Exit
EndFunc

 

Tylko problem w tym, że zamiast wywalić komunikat i zakończyć działanie, gdy zmienna $1 = 0 to dalej wykonuje pętlę...

Natomiast gdy wywalę pętlę While 1 to skrypt się wyłącza po wykonaniu wysłania klawiszy...

A czasami to w ogóle jak odpalę skrypt to od razu wywala komunikat o braku ruchów i wywala:

_FFConnect: Browser:	Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
__FFSendJavaScripts: Sending functions to FireFox .
__FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component is not available"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"
......... done
__FFSend: FFau3.xpath=null;try{FFau3.xpath=FFau3.WCD.evaluate("//*[@id=player_moves]",FFau3.WCD,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;}catch(e){'_FFXPath_Error: '+e;};
__FFRecv: 

 

Sorki za ew. błędy :D

2 dzień z autoitem jak na razie....

 

DAJE ++ :D

Opublikowano
FFau3.xpath=null
_FFXPath_Error: l

Stawiam na to, że Xpath jest nieprawidłowe.

czwartkowy posmak w ustach przypomina
że nie ma sensu owijać w bawełnę
zmarzniętego truchła

przez latarnię ktoś przerzucił sznur
cumuje statek w bezpieczną przystań

czuję jak na skroniach zasycha sól
...

Opublikowano

Powinno pomóc..

 


#include <FF.au3>

HotKeySet ( "{ESC}", "Koniec" )

_FFStart("www.my-fantasy.net")

WinWaitActive("Mapa - Ruch :: My Fantasy Online - Mozilla Firefox")

$1 = _FFXpath('//*[@id="player_moves"]', "", 9)

Do
               Send("{LEFT}")
               Sleep( 600 )
               Send("{RIGHT}")
               Sleep( 600 )
Until $1 > 0
       MsgBox(0, "Ruchy", "Koniec ruchów...")
EndIf

Func Koniec()
       Exit
EndFunc

 

@offtop

PS. Jeszcze ktoś w to gra? kiedyś w to pinkoliłem swoimi czasy była fajna gierka, potem raz napisałem że sprzedam postać za SMS i ban :(

Opublikowano

If $1 > 1 Then
       While 1
               Send ("{LEFT}")
               Sleep ( 600 )
               Send ("{RIGHT}")
               Sleep ( 600 )
       WEnd
ElseIf $1 = 0 Then
       MsgBox (0, "Ruchy", "Koniec ruchów...")
EndIf

A jak to niby ma działać? Ogarnij, pętla nad ifem, nie na odwrót, bo program zostaje w nieskończonej pętli... Nie napiszę Ci jak to ma wyglądać, pomyśl trochę, to chyba nie jest aż tak trudne?

 

[TUT] Full Autoit V3 Tutorial

yo po 1 nie kayloger tylko bot który zapamiętuje hasła -_-

stop1.png

Opublikowano

#include <FF.au3>

Func Koniec()
       Exit
EndFunc

HotKeySet ( "{ESC}", "Koniec" )
_FFStart ("www.my-fantasy.net")

WinWaitActive ("Mapa - Ruch :: My Fantasy Online - Mozilla Firefox")
While 1
$1 = _FFXpath ("//*[@id=player_moves]")

If $1 > 1 Then

               Send ("{LEFT}")
               Sleep ( 600 )
               Send ("{RIGHT}")
               Sleep ( 600 )

ElseIf $1 = 0 Then
       MsgBox (0, "Ruchy", "Koniec ruchów...")
EndIf
WEnd

 

Sprobuj tak ;)

Opublikowano

zamiast tego start i winwaita

 

_FFConnect()

If _FFIsConnected() Then     ;  jeśli wczyta firefoxa to 
_FFOpenURL("http://www.adres.jakis tam")  ; dopiero  otworzy strone

; tu co ma robić jak połączy 

elseif

; a tu co jak nie połączy 

 

poedytowac wstawić w pętelke bedzie działać idealnie

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

Maciek134 - wiem, wiem :D

Ale gdy usunąłem pętlę to powtarzał tylko 2 sendy i kończył...

 

Kulfix - nie działa... Chyba o takim rozwiązaniu pisał Maciek134...

Ale cały czas zapętla wywalanie komunikatu o braku ruchów..

 

robem - chyba nie załapałeś o co mi chodzi..

 

Dzięki za chęci :D

Opublikowano

#include <FF.au3>

Func Koniec()
       Exit
EndFunc

HotKeySet ( "{ESC}", "Koniec" )
_FFStart("www.my-fantasy.net")

WinWaitActive("Mapa - Ruch :: My Fantasy Online - Mozilla Firefox")

$1 = _FFXpath("//*[@id=player_moves]", "", 9)

While $1 > 1        
Send ("{LEFT}")
Sleep ( 600 )
Send ("{RIGHT}")
Sleep ( 600 )   
WEnd

MsgBox (0, "Ruchy", "Koniec ruchów...")

 

Proszę, nie mam konta w tej grze więc nie przetestuje, ale jeśli odczytanie FFXpath jest dobre, to musi działać, jeśli nie zadziała ci, to polecam zrobić osobny program :

$1 = _FFXpath("//*[@id=player_moves]", "", 9)

MsgBox( 0, "", "Liczba ruchów: " & $1)

 

Jeśli zwróci ci odpowiednią liczbę ruchów to nie wiem czemu nie działa :/

Opublikowano

@up

 

No właśnie nie wiem co jest...

Kombinowałem właśnie z tym "osobnym programem", ale co bym nie zmienił i tak zwraca:

Liczba ruchów: OBJECT|FFau3.xpath

 

... Jakaś trafiona ta gierka, albo include FF.au3 jakiś trafiony...

Opublikowano

Wina jest jedynie po stronie programisty.

czwartkowy posmak w ustach przypomina
że nie ma sensu owijać w bawełnę
zmarzniętego truchła

przez latarnię ktoś przerzucił sznur
cumuje statek w bezpieczną przystań

czuję jak na skroniach zasycha sól
...

Opublikowano

@FLI_PL:

Lecą plusy. Tylko jeszcze dziadek z sygny i będzie cycy... cacy!

 

@Topic:

Już mam dosyć tego młemłania.

$string = _FFCmd('window.content.document.getElementById("player_moves").textContent;')
MsgBox(0,'',$string)

 

I na przyszłość wstawiaj w takich przypadkach należy wstawiać source dokumentu HTML.

Ta sygnatura jest pusta.

Opublikowano

Fli_PL - to, że siedzę w tym dopiero 4 dzień to mnie chyba usprawiedliwia, że mogę czegoś nie wiedzieć...

 

@up

 

Nie działa ;p

Dodałem includa i WinWaitActive, ale wywala tylko pusty msgbox i nic więcej...

Opublikowano

@up

 

Nie wiem czy się nie myli czy nie..

Ale nie pokazuje ilości ruchów przy odpaleniu programu przy aktywnym oknie z MF...

Dla pewności screen z Firebuga:

 

beztytuuiwv.png

 

Zainstalowane dodatki do FF:

- Personas

- Web Developer

- MozRepl..

 

Najbardziej mi zależy, aby program działał w tle..

Mam wersję taką "oknową", ale nie działa w tle ;d

Opublikowano

Pobierz kod HTML strony i wyciągnij to za pomocą operacji na stringach.

 

@hfaua: z XPathem ma problem :)

roomy.png

Wczoraj do ciebie nie należy. Jutro niepewne... Tylko dziś jest twoje.

Opublikowano

Jeśli nie działa ci

$string = _FFCmd('window.content.document.getElementById("player_moves").textContent;')
MsgBox(0,'',$string)

 

To wklej pełny kod oraz to, co zwraca konsola. Użyj spoilera.

Ta sygnatura jest pusta.

Opublikowano

@tk371

No to niech napisze jaki :/

Jeśli pokaże kod to mu mogę pomóc :P

 

Muszę chyba dodać o _FFXPath :/

A mi się nie chce kończyć pisać :P

Opublikowano

Wklej po prostu linki:

- http://www.zvon.org/xxl/XPathTutorial/General/examples.html (TUT, jest nawet w polskiej wersji)

- https://developer.mozilla.org/en/Introduction_to_using_XPath_in_JavaScript (xpath w javascripcie w interpretacji Gecko (silnik Firefoxa) - MDC; również dostępny po polsku)

- https://developer.mozilla.org/en/DOM/document.evaluate (syntax funkcji evaluate() wykorzystującej właśnie XPath [z tej samej korzysta FF.au3] na MDC)

 

I niech się uczą.

Ta sygnatura jest pusta.

Opublikowano

@up

 

Na pewno skorzystam...

 

Tk371 - możesz podać jakiś przykładzik?

hfaua - no właśnie wolałbym XPathem, na innych strona działa, a tutaj to odmawia posłuszeństwa..

 

4ggr35510n i hfaua... Tutaj daje sourca:

 

#include <FF.au3>

HotKeySet ( "{ESC}", "Koniec" )

_FFStart ("www.my-fantasy.net")

WinWaitActive ("Mapa - Ruch :: My Fantasy Online - Mozilla Firefox")

$1 = _FFCmd('window.content.document.getElementById("player_moves").textContent;')

While 1
If $1 > 1 Then

	Send ("{LEFT}")
	Sleep ( 600 )
	Send ("{RIGHT}")
	Sleep ( 600 )

ElseIf $1 = 0 Then
MsgBox (0, "Ruchy", "Koniec ruchów...")
Exit
EndIf
WEnd

Func Koniec()
Exit
EndFunc

 

Wywala błąd w konsoli:

 

__FFSend ==> Socket Error
_FFCmd ==> Error return value

 

I wywala komunikat o braku ruchów, jakby w ogóle nie czytało tych ruchów...

 

A gdy dam:

 

#Include <FF.au3>

$1 = _FFCmd('window.content.document.getElementById("player_moves").textContent;')
MsgBox (0, "test", "Ruchy: " & $1)

 

Wywala msgboxa, ale bez ilości ruchów ...\

 

Jakieś pomysły mistrze? :D

Opublikowano

Przestań się uśmiechać jak idiota.

 

Zainstaluj Moz Repl.

 

Na "Ale ja mam wszystko zainstalowaneee!!!!!" odpowiadam z góry:

 

Śmiem wątpić.

Ta sygnatura jest pusta.

Opublikowano

zainstalowany nawet jeśli ma musi go uruchomić albo ustawić autostart wraz z przeglądarką

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...