Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

httpquery mit Timer


  • Please log in to reply
28 replies to this topic
lolo
  • Members
  • 12 posts
  • Last active: May 07 2013 12:41 PM
  • Joined: 28 Apr 2013

Hallo,

 

ich hab ein kleines Problem, ich möchte das alle 5sec Daten abgefragt werden und dann ein Link geöffnet wird im Hintergrund.

 

Die Daten werden korrekt alle 5sec abgefragt, jedoch wird nur beim ersten Druchlauf der Link geöffnet.

Meine Frage jetzt, wie kann ich das fixxen?

Google und das Forum ab ich schon befragt.

 

SAMP API mit der ich arbeite: Klick

 

 

Mein Script:

#IfWinActive, GTA:SA:MP
#SingleInstance force
#Include API.ahk
#Include HTTPQuery.ahk
#UseHook
#Persistent 
SetTimer, DatenSammeln, 5000
Gui, Show, x668 y387 h250 w500, >>>> J_M-Keybinder <<<<
return
     
DatenSammeln:
GetPlayerName(MyName) 
MyMoney := GetPlayerMoney()
MyScore := GetPlayerScore()
;AddChatMessage(0xFF0000, "Name: " MyName " Geld: " MyMoney " Level: " MyScore)
URL := "http://link-entfernt-by.bentschi/htdocs/my2.php?name=" . MyName . "&level=" . MyScore "&Bargeld=" . MyMoney
httpquery(paste_url := "", URL)
;VarSetCapacity(paste_url, -1)
return
   
GuiClose:
ExitApp
Return

Mit freundlichen Grüßen,

 

lolo



nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

Du solltest lieber deinen Link rausnehmen :D

Sonst hast du in spätestens 3 Tagen über Bots/Dumme User wie mich ein Platz problem.

 

An sich ist dein Code gut es wird eine Weile dauern mich durch die Includes zu arbeiten.


Visit the new forum ahkscript.org.

http://ahkscript.org


Bentschi
  • Moderators
  • 120 posts
  • Last active: Sep 05 2014 02:12 AM
  • Joined: 26 Nov 2008

Du solltest lieber deinen Link rausnehmen grin.png

Aha, darum also...

Name: nnnik  <Level: 5 <Bargeld:  1000

grin.png



lolo
  • Members
  • 12 posts
  • Last active: May 07 2013 12:41 PM
  • Joined: 28 Apr 2013

Ja das mit nnnik hab ich schon gesehen, @nnnik: jedoch ist es besser als es so zu machen:

FTPCommandFile = %A_ScriptDir%\FTPCommands.txt
FTPLogFile = %A_ScriptDir%\FTPLog.txt
FileDelete %FTPCommandFile%
     
FileAppend,
(
open ftp-web.funpic.de
name
passwort
binary
cd htdocs
put SpielerGeld.txt
put SpielerName.txt
put SpielerScore.txt
quit
), %FTPCommandFile%
     
RunWait %comspec% /c ftp.exe -s:"%FTPCommandFile%" >"%FTPLogFile%"
FileDelete %FTPCommandFile%

so hatte ich es vorher, die neue Metode ist um einiges sicherer.

 

//Edit über ein besseren compile schutz können wir danach ja reden. Sonst würde man nur mit Wireshark oder so an den link kommen.^^



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Ich würde dir die Funktion SimpleDownload von unserem lieben Bentschi empfehlen, die macht eigentlich das gleiche (Download, der nicht in eine Datei geht), aber ist meiner Meinung nach leichter zu bedienen (danke Bentschi cool.png ).

 

Aber wieso brauchst du diese Daten überhaupt, ich meine, Name und Level sind ja Ok, aber Geld?



nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

Nein nicht nur deshalb.grin.png

BTW ich hab versehentlich drei txts erstellt.

Der eig. Grund ist der, dass als ich den ersten Zugriff hatte es 4-6 txts weniger waren.

 

Edit:

Dein Code ist schon schön ich bemängel den gar nicht aber ich sag bloss, dass es ne Weile dauern wird.

Und naja das mit der URL bezog sich nur hier aufs Forum.

Weil wenn du Sachen hier in das Forum stellst kannst du dir sicher sein das in spätestens 20-30 Minuten die ganze Welt es weiß.

 

 

@SAPlayer Ich nehme an das es für eine Allianz ist d.h. ist ein guter Vergleich schon wichtig.


Visit the new forum ahkscript.org.

http://ahkscript.org


lolo
  • Members
  • 12 posts
  • Last active: May 07 2013 12:41 PM
  • Joined: 28 Apr 2013

Es soll eine Dynamische Signatur sein.

Ich hab mit SimpleDownload nicht richtig angeguckt, aber ich will ja sicher was "uploaden" gedownloadet muss nichts werden.

 

http://nickuswihrwis...IERNAMEEINFÜGEN



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Naja, ein Upload über GET-Parameter ist ja dasselbe wie ein Download (Theoretisch könntest du dazu auch URLDownloadToFile nutzen). Du musst ja keine Dateien hochladen, sondern nur Daten.

Gut, ich weiß nicht, ob für das simple Uploaden von Level, Name und Geld alle 5 Sekunden etwas geladen werden muss, ich meine, so schnell wird sich nichtmal mehr das Geld verändern (von dem ich sowieso nicht weiß, was es in einer Signatur zu suchen hat).

Und eine schönere Vorgehensweise wäre, die Daten in einer MySQL-Datenbank zu speichern - das schützt dich auch ein bisschen (MySQL-Daten sind kleiner als Dateien) vor einem überquellendem FTP. Außerdem sind die Daten nur per Signatur erreichbar und nicht in einem Ordner abgelegt.



nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

Da ich nur schlecht mit SAMP arbeiten kann solltest du das ganze mit MsgBoxen debuggen:

    #SingleInstance force
    #Include API.ahk
    #Include HTTPQuery.ahk
    #UseHook
    #Persistent
    SetTimer, DatenSammeln, 5000
    Gui, Show, x668 y387 h250 w500, >>>> J_M-Keybinder <<<<
    return
    DatenSammeln:
        Msgbox % GetPlayerName(MyName)
     msgbox % MyName
    MyMoney := GetPlayerMoney()
 msgbox % MyMoney
    MyScore := GetPlayerScore()
 msgbox % MyScore
    ;AddChatMessage(0xFF0000, "Name: " MyName " Geld: " MyMoney " Level: " MyScore)
    URL := "http://link-entfernt-by.bentschi/htdocs/my2.php?name=" . MyName . "&level=" . MyScore "&Bargeld=" . MyMoney
    httpquery(paste_url := "", URL)
    ;VarSetCapacity(paste_url, -1)
    return
    GuiClose:
    ExitApp
    Return

Auch für MySQL etc. gibt es nebenbei Bemerkt eine Umsetzung in AHK


Visit the new forum ahkscript.org.

http://ahkscript.org


SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Auch für MySQL etc. gibt es nebenbei Bemerkt eine Umsetzung in AHK

Dann stände wieder ein Passwort offen im Script...

Nein, er kann es ja serverseitig lösen, indem er es genauso aufruft wie bisher, aber es eben in eine MySQL-Tabelle schreibt.



lolo
  • Members
  • 12 posts
  • Last active: May 07 2013 12:41 PM
  • Joined: 28 Apr 2013
Mit mysql kenn ich mich nicht so gut aus, das System was ich jetzt hab find ich eig ganz ok. An den Link kommt ja auch keiner wenn ich das Script compile. Das mit Daten abfragen geht ja auch immer, nur das absenden der Daten geht nur einmal, danach muss das Script neugestartet werden. Das erstellen der Datein übernimmt ja das php Script. Ich muss jetzt nur wissen, wie ich das fixxen kann das auch alle 5sec die daten gesendet werden. (5sec ist nur zum testen, am ende ersetze ich die 5sec nurch 5minuten)

nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

An den Link kommt ja auch keiner wenn ich das Script compile.

Nah das ist das Problem...

Öffne mal eine Kompilierte AHK.exe und les mal per Editor bis zum Schluss was da drinne steht.

Das ist aber nicht das Problem.

 

Hast du das Skript mal mit den Msgboxes ausgeführt?


Visit the new forum ahkscript.org.

http://ahkscript.org


SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Außerdem kann ein jeder die URL der mypic.php nehmen, bis auf den Ordner (htdocs) reduzieren und tada, schon sieht er den gesamten Ordnerinhalt (inklusive my2.php)



Bentschi
  • Moderators
  • 120 posts
  • Last active: Sep 05 2014 02:12 AM
  • Joined: 26 Nov 2008

Das Problem ist ganz einfach gelöst, wenn du eine leere "index.php" in das Verzeichniss erstellst.



lolo
  • Members
  • 12 posts
  • Last active: May 07 2013 12:41 PM
  • Joined: 28 Apr 2013

Nah das ist das Problem...

Öffne mal eine Kompilierte AHK.exe und les mal per Editor bis zum Schluss was da drinne steht.

Das ist aber nicht das Problem.

 

Hast du das Skript mal mit den Msgboxes ausgeführt?

Also mit dem Hexeditor seh ich da nichts was einem den Link zeigt.

Wie meinst du mit Msgboxes ausführen?

 

Außerdem kann ein jeder die URL der mypic.php nehmen, bis auf den Ordner (htdocs) reduzieren und tada, schon sieht er den gesamten Ordnerinhalt (inklusive my2.php)

Ich kann ja die Variable &name ändern und wenn das Script vernünftig compiled ist kommt da ja keiner dran.

 

Das Problem ist ganz einfach gelöst, wenn du eine leere "index.php" in das Verzeichniss erstellst.

Hab ich jetzt gemacht, mann sieht nichts mehr.