I have seen in other scripts where u can click on a button in the script and it will ckeck to see if there are updates. How would i go about makeing something like this. I have tried somethings but it did not work Like I tried to uplaod a text file to my web hosting and then i tried to have my script read that text file to tell it what it says in the text file but i could not get it to work any help would be great for this
The easiest way would probably be to look at the code for a script that does exactly what you want to do.
here is what i tried and it does not work
dialog update {
title Update Panel
size -1 -1 400 500
button "Ok" ,1, 0 475 75 25,ok
button "Clear" ,3, 75 475 75 25
Edit "" ,2, 5 3 390 470,read,multi
}
on *:dialog:update:sclick:3:{
/did -ra update 2 $dname $read(http://www.area51script.fairmount.nu/update.txt)
}
I tried to find the scripts that did the updates I found one but it was done in a dll file and I don't know how to work with dll files
We cannot write a script for you however, best place to start would be..
/help Sockets
/help /sockwrite
/help /sockaccept
/help /sockopen
/help /sockclose
/help /sockmark
/help /socklis
/help /sockrename
and the events..
on SOCKCLOSE
on SOCKOPEN
on SOCKLISTEN
on SOCKREAD
on SOCKWRITE
As for the buttons, I assume you meant dialogs..
dialog updates.script {
title "Updates script!"
size -1 -1 110 100
option dbu
button "Get updates!", 1, 30 50 50 24, ok tab 1
}
on 1:dialog:updates.script:sclick:1: {
/help Sockets
}
on 1:dialog:updates.script:init:*: {
echo -a What commands you want to perform before dialog opens
}
For more information
/help Dialogs
/help on Dialog
/help /Did
/help /Didtok
I hope this helps you in some way.
You need to use sockets to read from a website.
Look at my first post..
There are some great tutorials
Here,
Here and
Here.
is there any other way of doing this or does it have to be done my sockets
dont get me wrong you need to learn sockets but mess with this:
on 1:SOCKOPEN:ver: {
if ($sockerr > 0) return
sockwrite -n $sockname GET /version.txt HTTP/1.1
sockwrite -n $sockname Host: host.com
sockwrite -n $sockname Connection: keep-alive
sockwrite $sockname $crlf
if ($isFile(data.txt)) .remote data.txt
}
on 1:SOCKREAD:ver: {
sockread -f &data
bwrite data.txt -1 -1 &data
; speeds up things so we dont have to wait for the socket to close..
.timerver 1 1 siver.close
}
alias ver.close {
if ($isFile(data.txt)) {
var %lastline = $read(data.txt, $lines(data.txt))
.remove data.txt
}
else var %lastline = Could not download file.
did -ra versioncheck 1 %lastline
}
alias checkver { sockopen ver host.com 80 }
I think I am starting to get this but how would i go about starting this code would I open the socket to my hosting server or is there some othere way to start it
yeah change the info..... BE SURE TO LEAVE SLASHES AS THEY ARE NOW!!!!!!!!!!!!
and type /checkver
if u need more help, its all customized
alias checkver { sockopen ver area51script.fairmount.nu 80 }
on 1:SOCKOPEN:ver: {
if ($sockerr > 0) return
sockwrite -n $sockname GET /update.txt HTTP/1.1
sockwrite -n $sockname Host: area51script.fairmount.nu
sockwrite -n $sockname Connection: keep-alive
sockwrite $sockname $crlf
if ($isFile(data.txt)) .remote data.txt
}
on 1:SOCKREAD:ver: {
sockread -f &data
bwrite data.txt -1 -1 &data
; speeds up things so we dont have to wait for the socket to close..
.timerver 1 1 siver.close
}
alias ver.close {
if ($isFile(data.txt)) {
var %lastline = $read(data.txt, $lines(data.txt))
.remove data.txt
}
else var %lastline = Could not download file.
did -ra versioncheck 1 %lastline
}
i keep getting this error
/did: invalid parameters (line 35, errormsgs)
here is the code that i have copyed and changed what did I do wrong
on 1:SOCKREAD:update: {
sockread -f &data
bwrite update.txt -1 -1 &data
; speeds up things so we dont have to wait for the socket to close..
.timerver 1 1 update.close
}
alias update.close {
if ($isFile(update.txt)) {
var %lastline = $read(update.txt, $lines(update.txt))
.remove update.txt
}
else update %lastline = Could not download file.
did -ra versioncheck 1 %lastline
}
alias checkver { sockopen update host.com 80 }
you have to customise the did -ra versioncheck 1 statement
you butchered the code, use the last example i gave you and just change the did part
ok I am very new to sockets but what am I to change in the did part to?
post the dialog your using
dialog update {
title Update Panel
size -1 -1 400 500
button "Ok" ,1, 0 475 75 25,ok
button "Clear" ,3, 75 475 75 25
Edit "" ,2, 5 3 390 470,read,multi
}
If your dialog is called update, why are you trying to use /did on a dialog called versioncheck?
this things is still not working I think I give up on it I will come back to it later thanks for all the help from everybody
make sure the dialog is opened first!!!!
alias checkver { sockopen ver area51script.fairmount.nu 80 }
on 1:SOCKOPEN:ver: {
if ($sockerr > 0) return
sockwrite -n $sockname GET /update.txt HTTP/1.1
sockwrite -n $sockname Host: area51script.fairmount.nu
sockwrite -n $sockname Connection: keep-alive
sockwrite $sockname $crlf
if ($isFile(data.txt)) .remote data.txt
}
on 1:SOCKREAD:ver: {
sockread -f &data
bwrite data.txt -1 -1 &data
; speeds up things so we dont have to wait for the socket to close..
.timerver 1 1 siver.close
}
alias ver.close {
if ($isFile(data.txt)) {
var %lastline = $read(data.txt, $lines(data.txt))
.remove data.txt
}
else var %lastline = Could not download file.
did -ra update 2 %lastline
}
yes he is ... read the code
did -ra versioncheck 1 %lastline
somethings not kosher there
this person doesnt seem to have much experience in scriping(sorry if i thought wrong), so please remove the [code ] and [/code ] tags, as they cause an odd problem with the lines and brackets.
alias ver.close { if ($isFile(data.txt)) { var %lastline = $read(data.txt, $lines(data.txt)) .remove data.txt } else var %lastline = Could not download file. did -ra versioncheck 1 %lastline}
he was using her script, and he obviously(again, sorry if im wrong) doesnt have much experience with scripting or maybe just dialogs.
dialog update { title Update Panel size -1 -1 400 500 button "Ok" ,1, 0 475 75 25,ok button "Clear" ,3, 75 475 75 25 Edit "" ,2, 5 3 390 470,read,multi}
ok look at the name of that dialog? it is infact called UPDATE not VERSIONCHECK thats why it is posting that error ..... there is NO dialog named VERSIONCHECK why is that so hard to understand for u?
that isnt hard to understand for me, but like i said: if he doesnt have much experience with dialogs then how do you expect him to correct that error, codemaster's right you are rude, you posted that before you even knew what i was talking about.
no I don't know alot about scripting but i am trying to learn and i did open the update dialog and it still did not work here is what i have in the romte file
dialog update {
title Update Panel
size -1 -1 400 500
button "Ok" ,1, 0 475 75 25,ok
button "Clear" ,3, 75 475 75 25
Edit "" ,2, 5 3 390 470,read,multi
}
alias checkver { sockopen ver area51script.fairmount.nu 80 }
on 1:SOCKOPEN:ver: {
if ($sockerr > 0) return
sockwrite -n $sockname GET /update.txt HTTP/1.1
sockwrite -n $sockname Host: area51script.fairmount.nu
sockwrite -n $sockname Connection: keep-alive
sockwrite $sockname $crlf if ($isFile(data.txt))
.remote data.txt
}
on 1:SOCKREAD:ver: {
sockread -f &data
bwrite data.txt -1 -1 &data
; speeds up things so we dont have to wait for the socket to close..
.timerver 1 1 siver.close
}
alias ver.close {
if ($isFile(data.txt)) {
var %lastline = $read(data.txt, $lines(data.txt))
.remove data.txt
}
else var %lastline = Could not download file.
did -ra update 2 %lastline
}
and here is what it shows when I type /socklist *
* Open sockets:
-
update 66.139.78.173:80 tcp active (on: 63.189.64.72 4294)
wah pity party for u. no the fact is u didnt read what i was saying ..... i was telling u that even tho he was using someones code the error he was getting was because of a bad dialog name ... now if me pointing out to somone something u over looked is me being rude well i cant help that. I am sure tho u will get over it.
where is the alias for this?
.timerver 1 1 siver.close
i see one called ver.close but not siver.close?
thats my mistake... sorry
my reply:
he was using her script, and he obviously(again, sorry if im wrong) doesnt have much experience with scripting or maybe just dialogs.
your reply:
dialog update { title Update Panel size -1 -1 400 500 button "Ok" ,1, 0 475 75 25,ok button "Clear" ,3, 75 475 75 25 Edit "" ,2, 5 3 390 470,read,multi}
ok look at the name of that dialog? it is infact called UPDATE not VERSIONCHECK thats why it is posting that error ..... there is NO dialog named VERSIONCHECK why is that so hard to understand for u?
since when i did i say i couldnt understand it?
k, i read your post wrong, sorry for it being a crime
, but why did you feel the need to type: why is that so hard to understand for u?
?
oh np at all .. im just tryin to figure out where the error is so that the poster can get something working ...
Here ya go, should work great
dialog update {
title Update Panel
size -1 -1 400 500
button "Ok" ,1, 0 475 75 25,ok
button "Clear" ,3, 75 475 75 25
Edit "" ,2, 5 3 390 470,read,multi
}
alias checkver { sockopen ver area51script.fairmount.nu 80 }
on 1:SOCKOPEN:ver: {
if ($sockerr > 0) return
sockwrite -n $sockname GET /update.txt HTTP/1.1
sockwrite -n $sockname Host: area51script.fairmount.nu
sockwrite -n $sockname Connection: keep-alive
sockwrite $sockname $crlf if ($isFile(data.txt))
.remote data.txt
}
on 1:SOCKREAD:ver: {
sockread -f &data
bwrite data.txt -1 -1 &data
; speeds up things so we dont have to wait for the socket to close..
.timerver 1 1 ver.close
}
alias ver.close {
if ($isFile(data.txt)) {
var %lastline = $read(data.txt, $lines(data.txt))
.remove data.txt
}
else var %lastline = Could not download file.
if ($dialog(update)) { did -ra update 2 %lastline }
else { dialog -m update update | did -ra update 2 %lastline }
}
still nothing I even install a new copy of mirc na dtryied it in there and still nothing
ok try this one ... i got it to work ... it had a couple typos in it i cleared up
dialog update {
title Update Panel
size -1 -1 400 500
button "Ok" ,1, 0 475 75 25,ok
button "Clear" ,3, 75 475 75 25
Edit "" ,2, 5 3 390 470,read,multi
}
alias checkver { sockopen ver area51script.fairmount.nu 80 }
on 1:SOCKOPEN:ver: {
if ($sockerr > 0) return
sockwrite -n $sockname GET /update.txt HTTP/1.1
sockwrite -n $sockname Host: area51script.fairmount.nu
sockwrite -n $sockname Connection: keep-alive
sockwrite $sockname $crlf if ($isFile(data.txt))
.remove data.txt
}
on 1:SOCKREAD:ver: {
sockread -f &data
bwrite data.txt -1 -1 &data
; speeds up things so we dont have to wait for the socket to close..
timerver 1 1 ver.close
}
alias ver.close {
if ($isFile(data.txt)) {
var %lastline = $read(data.txt, $lines(data.txt))
.remove data.txt
}
else var %lastline = Could not download file.
echo -a %lastline
if ($dialog(update)) { did -ra update 2 %lastline }
else { dialog -m update update | echo -a %lastline | did -ra update 2 %lastline }
}
***** make sure u type /remote on .. as the version of this u were testing turned your remotes off due to one of the typos ..... anyhow hope this works for u now
I must be doing something wrong how woul di start this up should I open the update dialog frist or should i open the scoket frist? or is there something else
just type /checkver in any open window and hit enter make sure u do type /remote on before this because the other script pasted before disabled it
I don't know what I did worng but I went to chage the update.txt on my hosting site and when I went back and run the script again it gave me this
* Timer ver activated
-
* /echo: insufficient parameters (line 29, errormsgs)
-
* Timer ver halted
-
I just read all that, and all i have to say is holy crap.
Everyone gets mad for posting untested code, and I had to have seen 10 version of code "well try this one.." "Ohh, well you need to do this one..." "This should work.."
*sigh*