mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
OK I have a dialog where you can right in many diffrent things in the edit boxes. After you write the stuff in all the boxes it saves what you put in them in %vareables. I have a button when I press it I want it to write up a script I made and fill in the %var spots with what the real %var is and then write it as a multy lined .txt or .mrc file this is the button part of it.
Code:
 on *:dialog:textthemev1:sclick:*:{
  if $did == 26 { write %textthemename on  ^*:Text:*:#:{ echo $chan %time1 %nick1 $1- $+   | haltdef }
on  ^*:Text:*:?:{ echo $nick %pmtime1 %pmnick1 $1- $+   | haltdef }
on  ^*:Action:*:#:{ echo $chan %actiontime %actionnick | haltdef }
on  ^*:Action:*:?:{ echo $nick %actiontime2 %actionnick2 | haltdef }
on *:input:*:{
  if /* !iswm $$1 && (# || $query($target)) {
    echo -ai %metime %menick $1- $+  
    .msg $ifmatch $1-
    haltdef
  }
}  }
}
 

right now it only writes this "on ^*:Text:*:#:{ echo" and stops please help thanks.


if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }
Joined: Mar 2004
Posts: 108
X
Vogon poet
Offline
Vogon poet
X
Joined: Mar 2004
Posts: 108
I don't follow what your trying to do.. but, you can't use on text events inside sclick events.

maybe clarify a little better what your trying to do?

if $did == 26 { write %textthemename on ^*:Text:*:#:{ echo $chan %time1 %nick1 $1- $+ | haltdef }

its writing that because your telling it to wink

-cheers



sometimes these are as bad as quit messages :tongue:
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
haha Im sorry Ill try and explane better.
Code:
 on *:dialog:textthemev1:sclick:*:{  if $did == 26 { write %textthemename on  ^*:Text:*:#:{ echo $chan %time1 %nick1 $1- $+   | haltdef }on  ^*:Text:*:?:{ echo $nick %pmtime1 %pmnick1 $1- $+   | haltdef }on  ^*:Action:*:#:{ echo $chan %actiontime %actionnick | haltdef }on  ^*:Action:*:?:{ echo $nick %actiontime2 %actionnick2 | haltdef }on *:input:*:{  if /* !iswm $$1 && (# || $query($target)) {    echo -ai %metime %menick $1- $+      .msg $ifmatch $1-    haltdef  }}  }} 


ok the on *:dialog:textthemev1:sclick:*:{ if $did == 26 { write %textthemename part does this. You click the button write which is 26 it will write out %textthemename which will be something that you put into the edit box noted as theme name. So Say I name it test.txt it will write all the files in test.txt another example is Say I put theme.mrc it will write it all in theme.mrc.
... and for the other parts.
on ^*:Text:*:#:{ echo $chan %time1 %nick1 $1- $+ | haltdef }on ^*:Text:*:?:{ echo $nick %pmtime1 %pmnick1 $1- $+ | haltdef }on ^*:Action:*:#:{ echo $chan %actiontime %actionnick | haltdef }on ^*:Action:*:?:{ echo $nick %actiontime2 %actionnick2 | haltdef }on *:input:*:{ if /* !iswm $$1 && (# || $query($target)) { echo -ai %metime %menick $1- $+ .msg $ifmatch $1- haltdef }} }}

this is what I want to be writen in the file. every %variable you see would change to whatever someone put in the edit box. so say I put [$time]: for %time1 it would replace the %time1 and put in the [$time]: and save it in the file.

If you need more info I would be happy to post the very small code for you to look threw.


if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }
Joined: Mar 2004
Posts: 108
X
Vogon poet
Offline
Vogon poet
X
Joined: Mar 2004
Posts: 108
Well like I said you can not set "on text" events inside a "sclick" event. I vagualy follow you.. for that reason. Are you trying to set active text from a channel? Reply to active text? or just write a bunch of stuff to file like a quoter? other? hehe sorry im still lost..

EDIT:
something like this?:
on *:dialog:textthemev1:sclick:*:{
if $did == 26 { write %textthemename $did(texthemev1,EDITBOX#).text }
}



Last edited by xxxYODAxxx; 21/06/04 12:13 AM.

sometimes these are as bad as quit messages :tongue:
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
I dont get what your saying Im not setting any ext events into an sclick event Im making it so when you click the button "write" it writes all the lines that I have shown in a file of your choosing as its shown. so basicly its writing a add-on in a txt or mrc file but before it does it changes all the %var files to what the person has put in the edit boxes in the dialog.

Ill post the code in 20 mins I have to go to my other house to get it frown


if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
ok here it is. Maby this will help you understand what im trying to do.

Code:
 menu menubar {
  .Theme text maker:/textthemev1
}
dialog textthemev1 {
  title "Text Theme Maker"
  size -1 -1 242 170
  option dbu
  edit "14[15 $+ $time(HH:nn) $+ 14]", 1, 5 16 108 11, autohs
  box "Channel Text", 2, 2 1 238 29
  text "Time Display", 3, 6 8 34 7
  text "Nick Display", 4, 120 7 33 7
  edit "14[15 $+ $nick $+ 14]:", 5, 119 16 108 11, autohs
  box "PM Text", 6, 2 30 238 26
  edit "", 7, 5 42 108 11, autohs
  edit "", 8, 119 42 108 11, autohs
  text "Time Display", 9, 7 36 31 6
  text "Nick Display", 10, 120 35 31 7
  box "PM Action Text", 11, 2 85 238 28
  edit "14[15 $+ $time(HH:nn) $+ 14]", 12, 5 71 108 11, autohs
  edit "14[15 $+ $nick $1- $+ 14]", 13, 119 71 108 11, autohs
  text "Time", 14, 6 63 15 7
  text "Nick", 15, 121 63 25 7
  box "Channel Action Text", 16, 2 56 238 28
  edit "", 17, 5 99 108 11, autohs
  text "Time", 18, 7 92 15 7
  edit "", 19, 119 99 108 11, autohs
  text "Nick", 20, 120 92 13 7
  box "Your text look", 21, 2 115 238 28
  edit "14[15 $+ $time(HH:nn) $+ 14]", 22, 6 128 108 11, autohs
  edit "14[15 $+ $me $+ 14]:", 23, 120 128 108 11, autohs
  text "Time", 24, 7 122 15 7
  text "Nick", 25, 121 120 13 7
  button "Make Text Theme", 26, 2 160 49 8, flat
  button "Exit", 27, 55 160 37 8, flat, ok
  text "Made By DeathfireD", 28, 188 156 53 8, disable
  edit "", 29, 92 146 102 10
  text "Theme Name", 30, 54 147 34 8
}
alias textthemev1 { dialog -md textthemev1 textthemev1 }

on *:dialog:textthemev1:sclick:*:{
  if $did == 26 { write %textthemename on  ^*:Text:*:#:{ echo $chan %time1 %nick1 $1- $+  | haltdef }
on  ^*:Text:*:?:{ echo $nick %pmtime1 %pmnick1 $1- $+  | haltdef }
on  ^*:Action:*:#:{ echo $chan %actiontime %actionnick | haltdef }
on  ^*:Action:*:?:{ echo $nick %actiontime2 %actionnick2 | haltdef }
on *:input:*:{
  if /* !iswm $$1 && (# || $query($target)) {
    echo -ai %metime %menick $1- $+ 
    .msg $ifmatch $1-
    haltdef
  }
}  }
}
on *:dialog:textthemev1:edit:*:{
  if $did == 1 { set %time1 $did(1) }
  if $did == 5 { set %nick1 $did(5) }
  if $did == 7 { set %pmtime1 $did(7) }
  if $did == 8 { set %pmnick1 $did(8) }
  if $did == 12 { set %actiontime $did(12) }
  if $did == 13 { set %actionnick $did(13) }
  if $did == 17 { set %actiontime2 $did(17) }
  if $did == 19 { set %actionnick2 $did(19) }
  if $did == 22 { set %metime $did(22) }
  if $did == 23 { set %menick $did(23) }
  if $did == 29 { set %textthemename $did(29) }
}
on *:dialog:textthemev1:init:0:{ did -a textthemev1 1 %time1 | did -a textthemev1 5 %nick1 | did -a textthemev1 7 %pmtime1 | did -a textthemev1 8 %pmnick1 | did -a textthemev1 12 %actiontime | did -a textthemev1 13 %actionnick | did -a textthemev1 17 %actiontime2 | did -a textthemev1 19 %actionnick2 | did -a textthemev1 22 %metime | did -a textthemev1 23 %menick | did -a textthemev1 29 %textthemename }
} 


if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
Im a little confused how would I write all that code in this

Code:
 on *:dialog:textthemev1:sclick:*:{
if $did == 26 { write %textthemename $did(texthemev1,EDITBOX#).text }
}
 


if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }
Joined: Mar 2004
Posts: 108
X
Vogon poet
Offline
Vogon poet
X
Joined: Mar 2004
Posts: 108
ok,, hehe.. i follow now! to clear it up: i thought you were trying to because your }'s were missing, sorry. smile

anyway: using an $identifier inside a %var wont work, it will echo in your example "[$+ $time(HH:nn) $+ ]" you would have to do something like:
on *:text:*:#:{
var %a = $timestamp, %b = $nick
echo $chan %timestampvarA %a %timestampvarB %nickA %b %nickB $1-
}
timestampA and B being your alt characters and color combos
same with %nickA and B

now you are using global variables for everything,, if you want to switch one you will have to recode the whole thing to accomodate, if you still wish to id suggest using a hash table.

Also: in your dialog table you put stuff inside the "" (in your edit's) that will reapear everytime you reopen the dialog.

-cheers


sometimes these are as bad as quit messages :tongue:
Joined: Mar 2004
Posts: 108
X
Vogon poet
Offline
Vogon poet
X
Joined: Mar 2004
Posts: 108
Code:
  on *:dialog:textthemev1:sclick:*:{if $did == 26 { write %textthemename $did(texthemev1,EDITBOX#).text }}


sorry that was not even correct syntax: it was an example..

write -c %textthemename $+ .txt $did(textthemev1,1).text | write %textthemename $+ .txt $did(textthemev1,5).text | write %textthemename $+ .txt $did(textthemev1,12).text -so on

read what i posted above though because the way it is coded it will serve no purpose anyway smile..


sometimes these are as bad as quit messages :tongue:
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
Ok OK im a little lost here First
- I know there are things inthe edit box. I havent fixed that yet. There will be stuff in all of them as examples for people but they can edit it later.
- 2nd I dont fallow what your doing with the variables. Can you show me how Im supposed to add that in to my code frown Im a little lost as to what that does.


if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }
Joined: Mar 2004
Posts: 108
X
Vogon poet
Offline
Vogon poet
X
Joined: Mar 2004
Posts: 108
on *:text:*:#:{
var %a = $timestamp, %b = $nick
msg $chan %timestampvarA %a %timestampvarB %nickA %b %nickB $1-
}

%timestampvarA and B/%nickA and B- will be vars you set in your dialog. the others set and unset on their own (%a / %b). I only added pairs as an example because you are using dif chars:
for example.
%timestampvarA = .<<
%a = $timestamp = 10:47
%timestampvarB = >>.
final result = .<< 10:47 >>.
follow me now?

as for having "examples" do that with an "on load" or in a Read_ME.txt or even as a text entry in your dialog. Putting them in the edit line of your dialog table will bring them up every time the dialog is used no matter what vars are set or called upon.


sometimes these are as bad as quit messages :tongue:
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
OK I get what your saying but this still wont help me. becuse I need to right all theys lines in a txt or mrc file right now it will stop at $chan part in the code.
Code:
 ^*:Text:*:#:{ echo  [color:red]$chan[/color]  %time1 %nick1 $1- $+  | haltdef } 


No basicly what you did was brake up my one %time1 var and made 3. I guessing all you did was just make the $ into vars? IF thats true then wouldent I have to make $chan or $nick parts into %vars too? So it seems to me Im gonna have to re-do my dialog to fit all theys changes?? am I right

and a small note on the examples dont worry about that part I already have something figured out.


if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }
Joined: Mar 2004
Posts: 108
X
Vogon poet
Offline
Vogon poet
X
Joined: Mar 2004
Posts: 108
;You can set the vars here as defaults. (notice what i was saying about needing more vars..)
;also this way you dont HAVE to use a text.. it is however cleaner and faster to run a hash table for this.
;/help hash tables wink
on *:load:{
set %time1 .<<
set %nick1 >>.
set %pmtime1 .>>
set %pmnick1 >>.
}
menu menubar,channel,status {
.Theme text maker:textthemev1
}
dialog textthemev1 {
title "Text Theme Maker"
size -1 -1 242 170
option dbu
edit "", 1, 5 16 108 11, autohs
box "Channel Text", 2, 2 1 238 29
text "Time Display", 3, 6 8 34 7
text "Nick Display", 4, 120 7 33 7
edit "", 5, 119 16 108 11, autohs
box "PM Text", 6, 2 30 238 26
edit "", 7, 5 42 108 11, autohs
edit "", 8, 119 42 108 11, autohs
text "Time Display", 9, 7 36 31 6
text "Nick Display", 10, 120 35 31 7
box "PM Action Text", 11, 2 85 238 28
edit "", 12, 5 71 108 11, autohs
edit "", 13, 119 71 108 11, autohs
text "Time", 14, 6 63 15 7
text "Nick", 15, 121 63 25 7
box "Channel Action Text", 16, 2 56 238 28
edit "", 17, 5 99 108 11, autohs
text "Time", 18, 7 92 15 7
edit "", 19, 119 99 108 11, autohs
text "Nick", 20, 120 92 13 7
box "Your text look", 21, 2 115 238 28
edit "", 22, 6 128 108 11, autohs
edit "", 23, 120 128 108 11, autohs
text "Time", 24, 7 122 15 7
text "Nick", 25, 121 120 13 7
button "Make Text Theme", 26, 2 160 49 8, flat
button "Exit", 27, 55 160 37 8, flat, ok
text "Made By DeathfireD", 28, 188 156 53 8, disable
edit "", 29, 92 146 102 10
text "Theme Name", 30, 54 147 34 8
}
alias textthemev1 {
dialog -md textthemev1 textthemev1
}
; %time1 $+ $timestamp $+ %time1 -should be: %time1 $+ $timestamp $+ %time2 -or something to that effect..
on ^*:text:*:#:{
var %b = $nick
echo $chan %time1 $+ $timestamp $+ %time1 %nick1 $+ %b $+ %nick1 $1-
}
;OR this
on ^*:Text:*:?:{
var %a = $timestamp, %b = $nick
echo $chan %pmtime1 $+ %a $+ %pmtime1 %pmnick1 $+ %b $+ %pmnick1 $1-
}
}
on *:dialog:textthemev1:edit:*:{
if $did == 1 { set %time1 $did(1) }
if $did == 5 { set %nick1 $did(5) }
if $did == 7 { set %pmtime1 $did(7) }
if $did == 8 { set %pmnick1 $did(8) }
}
on *:dialog:textthemev1:init:0:{
did -a textthemev1 1 %time1
did -a textthemev1 5 %nick1
did -a textthemev1 7 %pmtime1
did -a textthemev1 8 %pmnick1
}
;so to answer your question yes you will have to change your dialog a little bit...
;maybe add a tab? so you dont have to alter it as much?
;if you still want to add it all to a txt file its your choice..
;if you follow the path i laid here youll get it working in no time smile
;<edited some code out just to make the post a little smaller smile >

this is a working example now wink
-cheers


sometimes these are as bad as quit messages :tongue:
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
lol thanks but this is just adding it to the remote. I wanna add it to a txt or mrc file. So when I edit it the way I want it and hit make it will make all the on text and on action events in the txt or mrc file. So anyone can load that txt or mrc file and it will work for them without the editer.

I like what you did and I get what you did but this is not the rout I want to take in making this. Do you know how to do what im saying?


if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }
Joined: Mar 2004
Posts: 108
X
Vogon poet
Offline
Vogon poet
X
Joined: Mar 2004
Posts: 108
yeah its prety simple actually...:

on *:load:{
writeini theme.ini theme %time1 .<<
writeini theme.ini theme %nick1 >>.
}
on ^*:text:*:#:{
var %b = $nick
echo $chan $readini(theme.ini, theme, %time1) $+ $timestamp $+ $readini(theme.ini, theme, %time1) $readini(theme.ini, theme, %nick1) $+ %b $+ $readini(theme.ini, theme, %nick1) $1-
}
on *:dialog:textthemev1:edit:*:{
if $did == 1 { writeini theme.ini theme %time1 $did(1) }
if $did == 5 { writeini theme.ini theme %nick1 $did(5) }
}
and add it to your button in the same manner although it writes to the ini with edit already.... laugh

-cheers


sometimes these are as bad as quit messages :tongue:
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
Sorry for the supper long delay I lost internet becuse of a thunderstorm and hit fryed my HD mad I still have the script But im a little lost as to how you write that into it I see what it does it makes a theme.ini file but...this is a little confusing. See the whole point of this add-on is so I can make a theme say At my house type up what it will look like then hit make and it will make it with the theme name I want ( %themename.ini ) then all I have to do is send the file to A friend and he or she Just opens remotes and loads the file. Can you look threw the old code that I posted at the top of the page and addin what your trying to show me. Becuse all I see is a file that makes a theme.ini file and adds a few things? If your still reading this help page thanks for your help and please post back.


if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }
Joined: Mar 2004
Posts: 108
X
Vogon poet
Offline
Vogon poet
X
Joined: Mar 2004
Posts: 108
ok. the code you pasted up top. that is what you want to create/test a new theme with correct.. now. i modified it in my last post to save.. you need to finnish the rest i just gave you a working example to save it. once you create it and save it to a txt/ini you have your theme.. then you just need to ad the triggers..
on *:text:*:#:{ theme for channel text }
on *:text:*:?:{ theme for query text }
so on.. into the newly saved txt/ini save and you have a theme ready to send out.
the "on load" was just to show you a way around the >text "something", #, # # # # < in your dialog table. so you can get rid of that.

-cheers


sometimes these are as bad as quit messages :tongue:
Joined: Oct 2003
Posts: 143
D
Vogon poet
OP Offline
Vogon poet
D
Joined: Oct 2003
Posts: 143
menu menubar {
.Theme text maker:/textthemev1
}
dialog textthemev1 {
title "Text Theme Maker"
size -1 -1 242 170
option dbu
edit "14[15 $+ $time(HH:nn) $+ 14]", 1, 5 16 108 11, autohs
box "Channel Text", 2, 2 1 238 29
text "Time Display", 3, 6 8 34 7
text "Nick Display", 4, 120 7 33 7
edit "14[15 $+ $nick $+ 14]:", 5, 119 16 108 11, autohs
box "PM Text", 6, 2 30 238 26
edit "", 7, 5 42 108 11, autohs
edit "", 8, 119 42 108 11, autohs
text "Time Display", 9, 7 36 31 6
text "Nick Display", 10, 120 35 31 7
box "PM Action Text", 11, 2 85 238 28
edit "14[15 $+ $time(HH:nn) $+ 14]", 12, 5 71 108 11, autohs
edit "14[15 $+ $nick $1- $+ 14]", 13, 119 71 108 11, autohs
text "Time", 14, 6 63 15 7
text "Nick", 15, 121 63 25 7
box "Channel Action Text", 16, 2 56 238 28
edit "", 17, 5 99 108 11, autohs
text "Time", 18, 7 92 15 7
edit "", 19, 119 99 108 11, autohs
text "Nick", 20, 120 92 13 7
box "Your text look", 21, 2 115 238 28
edit "14[15 $+ $time(HH:nn) $+ 14]", 22, 6 128 108 11, autohs
edit "14[15 $+ $me $+ 14]:", 23, 120 128 108 11, autohs
text "Time", 24, 7 122 15 7
text "Nick", 25, 121 120 13 7
button "Make Text Theme", 26, 2 160 49 8, flat
button "Exit", 27, 55 160 37 8, flat, ok
text "Made By DeathfireD", 28, 188 156 53 8, disable
edit "", 29, 92 146 102 10
text "Theme Name", 30, 54 147 34 8
}
alias textthemev1 { dialog -md textthemev1 textthemev1 }

on *:load:{
writeini theme.ini theme %time1 .<<
writeini theme.ini theme %nick1 >>.
}
on ^*:text:*:#:{
var %b = $nick
echo $chan $readini(theme.ini, theme, %time1) $+ $timestamp $+ $readini(theme.ini, theme, %time1) $readini(theme.ini, theme, %nick1) $+ %b $+ $readini(theme.ini, theme, %nick1) $1-
}
on *:dialog:textthemev1:sclick:*:{
if $did == 26 { write %textthemename $did(texthemev1,1).on ^*:Text:*:#:{ echo $chan %time1 %nick1 $1- $+  | haltdef } }
}
on *:dialog:textthemev1:edit:*:{
if $did == 1 { writeini theme.ini theme %time1 $did(1) }
if $did == 5 { writeini theme.ini theme %nick1 $did(5) }
if $did == 7 { writeini theme.ini theme %pmtime1 $did(7) }
if $did == 8 { writeini theme.ini theme %pmnick1 $did(8) }
}

on *:dialog:textthemev1:init:0:{ did -a textthemev1 1 %time1 | did -a textthemev1 5 %nick1 | did -a textthemev1 7 %pmtime1 | did -a textthemev1 8 %pmnick1 | did -a textthemev1 12 %actiontime | did -a textthemev1 13 %actionnick | did -a textthemev1 17 %actiontime2 | did -a textthemev1 19 %actionnick2 | did -a textthemev1 22 %metime | did -a textthemev1 23 %menick | did -a textthemev1 29 %textthemename }
}

on *:text:*:#:{
var %a = $timestamp, %b = $nick
echo $chan %timestampvarA %a %timestampvarB %nickA %b %nickB $1-
}
on *:dialog:textthemev1:sclick:*:{if $did == 26 { write %textthemename $did(texthemev1,EDITBOX#).text }}

write -c %textthemename $+ .txt $did(textthemev1,1).text | write %textthemename $+ .txt $did(textthemev1,5).text | write %textthemename $+ .txt $did(textthemev1,12).text -so on



if (Windows isin %txt.1) { /kick # $nick Windows is a badword tisk tisk tisk. }

Link Copied to Clipboard