SRL Archive - Reflection

SMARTchat


sm0k3

2011-03-27 09:29:17

SMARTchat V0.1A :: UPDATED ::

Simba Extension





This plugin allows you to send text to the SMART applet
Whenever i use any SMART Scripts i dont like having to spam enable SMART
or minimise it a few times and i certainly dont want to have to pause the script
So Me & ggzz made this Plugin.

after you add SMARTchat you will see a new menu called SMARTchat in Simba
Hit F12 or click SMARTchat and a window will pop up enter your text in this and watch it appear in SMART

to use this pluin you will need to do The Following :

Add the following line to the top of your script ..

{$I SRL/SRL/SMARTchat/SMARTchat.simba}

you then need to call the procedure

SMARTchat;
in your script This needs to happen as often as possible
otherwise your text wont get to SMART very quick

To install Put SMARTchat.sex into Your Extension's folder
and unzip SMARTchat.zip to Includes/SRL/SRL

GGZZ Created a great Program to Stop you from Having To Change Back to Simba To Access SMARTchat
go Here for more info … http://villavu.com/forum/showthread.php?p=795472

please say wat you wish and say any ideas to make better
is there anywere else i could have called it …

Wizzup?

2011-03-27 09:35:03

I don't think you'd really want to check it more than once per second. Certainly not in a Mouse function. Perhaps let it be up to the scripter? Otherwise, the most wise thing to do would be to put it in FindNormalRandoms, I think. And add a timer so that the ReadIni isn't called more than once per second. :)

Nice work.

Floor66

2011-03-27 09:47:52

Also, don't use SendKeys but use TypeSend!

sm0k3

2011-03-27 09:50:13

been trying to make this pop up on a keypress ie F12

ive had some succes adding it to sripts but dosent always pop up

nd for some reason i cant use isKeyDown(VK_F12)
inside of a Plugin i doesnt recognise IsKeyDown
this is what im using


procedure SMchat;
begin
if (not IsKeyDown(VK_F12)) then
repeat
if (IsKeyDown(VK_F12)) then
if (InputQuery('SAY', 'Say :', TheLine)) then
if (Length(TheLine) > 0) then
begin
WriteINI('Changed', 'Changed', 'True', IncludePath+'SRL/SRL/SmartSendLine.INI');
WriteINI('SMART', 'SMART', TheLine, IncludePath+'SRL/SRL/SmartSendLine.INI');
writeln('::SMARTchat:: Sending > '+TheLine+' < To Client Chat')
until false
end;

added this to my SMARTchat plugin and called it after mainloop

Sex

2011-03-27 09:50:20

You can already type in SMART? Just select the client and start typing..works for me and many others at least.

Echo_

2011-03-27 09:55:42

From: sm0k3
been trying to make this pop up on a keypress ie F12

ive had some succes adding it to sripts but dosent always pop up

nd for some reason i cant use isKeyDown(VK_F12)
inside of a Plugin i doesnt recognise IsKeyDown
this is what im using


procedure SMchat;
begin
if (not IsKeyDown(VK_F12)) then
repeat
if (IsKeyDown(VK_F12)) then
if (InputQuery('SAY', 'Say :', TheLine)) then
if (Length(TheLine) > 0) then
begin
WriteINI('Changed', 'Changed', 'True', IncludePath+'SRL/SRL/SmartSendLine.INI');
WriteINI('SMART', 'SMART', TheLine, IncludePath+'SRL/SRL/SmartSendLine.INI');
writeln('::SMARTchat:: Sending > '+TheLine+' < To Client Chat')
until false
end;

added this to my SMARTchat plugin and called it after mainloop


VK_F12 is an incorrect name, the name for the F12 key would be "123". You can find all of the virtual key names here:
http://docs.wizzup.org/simba/scriptref/mouseandkeyboard.html

Rich

2011-03-27 09:57:49

IsFKeyDown?

sm0k3

2011-03-27 10:00:51

I See . ok but any ideas why it wont accept IsKeydown()

i keeps saying something along the lines of Unknown identifier 'IsKeyDown' on line 3

also SEX

You can already type in SMART? Just select the client and start typing..works for me and many others at least.


does it? .. only works for me if i stop the script and Disable SMART

Floor66

2011-03-27 10:01:51

No idea hmm. Let me look it up.

Gu3st...

2011-03-27 10:58:24

From: sm0k3
also SEX

does it? .. only works for me if i stop the script and Disable SMART
I'm doing what Sex is doing too. Works just like normal runescape :redface:

Emaziz

2011-03-27 11:21:35

From: Zyt3x
I'm doing what Sex is doing too. Works just like normal runescape :redface:

Only works to me if I disable smart and minimize and bring it back up :\
Should be a button on SMART to allow input :D

Brandon

2011-03-27 12:42:10

From: Emaziz
Only works to me if I disable smart and minimize and bring it back up :\
Should be a button on SMART to allow input :D


Same here.. I tried to explain this to some people n got flamed bad lol.

kitchenrange

2011-03-27 12:54:19

Yeah it happens that way to me too. Happens to alot of people. Never really been a concrete explanation or resolution. Thanks for your time.

Brandon

2011-03-27 13:43:39

Well Me loving to test shit out first, It didnt work for me..

Error: Exception: "" is not a valid boolean. at line 217

that error highlighted the line: if StrToBool(ReadINI('Changed', 'Changed', IncludePath+'SRL/SRL/SmartSendLine.INI')) then

Floor66

2011-03-27 13:45:36

Clearly the INI doesn't have anything under the section Changed then.

Sex

2011-03-27 15:39:34

@OP: I'd recommend using StrToBoolDef instead of StrToBool :).

Coh3n

2011-03-27 16:35:58

This idea has floated around for a while, I'm glad someone finally made it. :)

As for the typing in SMART like normal. It sometimes works for me, sometimes doesn't.

sm0k3

2011-03-27 17:14:02

From: ggzz
Well Me loving to test shit out first, It didnt work for me..

Error: Exception: "" is not a valid boolean. at line 217

that error highlighted the line: if StrToBool(ReadINI('Changed', 'Changed', IncludePath+'SRL/SRL/SmartSendLine.INI')) then


First things first can Where in SRL Did you Add

procedure WriteSMART;
begin
if StrToBool(ReadINI('Changed', 'Changed', IncludePath+'SRL/SRL/SmartSendLine.INI')) then
begin
WriteINI('Changed', 'Changed', 'False', IncludePath+'SRL/SRL/SmartSendLine.INI');
sendkeys(ReadINI('SMART', 'SMART', IncludePath+'SRL/SRL/SmartSendLine.INI')+char(#10));
end;
end;

Gu3st...

2011-03-27 17:24:50

For those where smart isn't functioning properly, I'm sure this is a great addition :)

Brandon

2011-03-27 18:02:49

From: sm0k3
First things first can Where in SRL Did you Add

procedure WriteSMART;
begin
if StrToBool(ReadINI('Changed', 'Changed', IncludePath+'SRL/SRL/SmartSendLine.INI')) then
begin
WriteINI('Changed', 'Changed', 'False', IncludePath+'SRL/SRL/SmartSendLine.INI');
sendkeys(ReadINI('SMART', 'SMART', IncludePath+'SRL/SRL/SmartSendLine.INI')+char(#10));
end;
end;


Added that to my Bank.Simba and just called it in the script basically everywhere That I would need to talk.. that means Not during a withdraw or movement.

sm0k3

2011-03-27 18:09:05

In your SRL/SRL folder is there a SmartSendLine.ini file ??

Brandon

2011-03-27 19:24:01

Nope not in SRL/SRL, not in core, not in misc..

sm0k3

2011-03-27 19:48:49

ok .. add this to /srl/srl
and rename to SmartSendLine.ini

Brandon

2011-03-27 20:37:14

Well now I dont get errors and it didnt work for me.. Does this require me to type whatever I want in the inifile and then it sends that?? Because if I try writing while smart is the active window it wont work unless I click desktop then smart, then desktop again then smart again.. then I can type.. but that worked before the plugin.

Edit: damn im a stupid guy… cant read :( Anyway I read first post and saw the menu ;) KK testing now..


Edit2: omg… it works.. though the typing is a little glitch meaning it types it really slowly.. Even after I changed it to typesend.. but other than that this is simply AMAZING!!!!!!!!!! REP ++1!
P.S. The ini file should probably clear the text as a failsafe incase it messes up and constantly sends the same message.. I know it overwrites the old msg but it will store the last msg in the ini file until a new msg is sent to the client. Can probably do this myself without any new plugins or anything.

Now for me to implement text finding and playing an msn sound when someone calls my name in game :)

sm0k3

2011-03-27 23:17:54

Lol that would be cool ..

Hey see if you can get a isFkeyDown loop going in the plugin
i gave it a go but it didnt seem to know what iskeydown or isfkeydown was..
lol

Brandon

2011-03-27 23:51:09

I tried… IsFKeyDown and IsKeyDown are re-defined when smart is running as:
IsSmartKeyDown()..

Thing is Im not sure if u can implement that into the plugin kinda like how simba has the f2 key binded to stop the script even when smart is running.. Any other keypresses are caught by smart when the window is in the foreground and then nullified.

If the plugin can somehow catch keypresses on the machine itself then itll work.

Maybe your plugin can actually catch the keypress in windows, linux or mac – because simply scripting it in is impossible.. I've tried this for over 3 weeks before and today again.. I even made a form to try and catch the keypress but smart keeps the focus and screws it up (re-defines it).. It checks to see if smart has the keydown instead which is useless..

P.S. I ended up writing a c++ console program that runs on the computer and it catches keys and then sends the keypresses to smart as if smart had the key pressed.. thats the only time my script worked but its much much slower and isnt 100% effective. plus takes up space on the taskbar and lastly simba reclaims the console as its own… See the conhost process :(

sm0k3

2011-03-28 01:19:00

hmm . if you look inside the sima extensions folder and in th SMARTchat.sex file itself you shal find a procedure Called SMARTReadLine

this is the main loop for the plugin.. we may be able to do something here .
im not shure but wouldnt simba run its plugins in a seperate process / loop than the scripts itself .

the only thing is ten i think you would still have to change to simba and then press ie F12 otherwise it would still get highjacked by SMART.

the only other thing is if we can get your C++ script to call SMARTchat
and then pass focus to SMARTchats popup.

Sex

2011-03-28 01:20:12

Extensions != plugins. The extensions might be run in a different thread? Not sure.

sm0k3

2011-03-28 01:36:59

could this mean we may be able to do an iskeydown then without it bein highjaked by SMART.?

im sure the gui thread could handle some form of loop containing

if (IsKeyDown([whatever key here])) then
SMARTReadLine;

or something to the effect

Floor66

2011-03-28 02:19:31

Can't you just make 2 scripts, 1 sender, 1 receiver (which has SMART). And then the receiver reads out the INI every few secs?

sm0k3

2011-03-28 02:53:20

From: Floor66
Can't you just make 2 scripts, 1 sender, 1 receiver (which has SMART). And then the receiver reads out the INI every few secs?


Hmm possibly But im not shure how to make the receiver script.
Did try at one point to send data from a second script to the first scripts SMART
it either didnt recieve the text or it just instantly killed Simba on Runtime


or even C++ Plugin that Calls My Extension… hey..?
take a look here for C++ plugins for SCAR / Possibly Simba aswell .
http://www.villavu.com/forum/showthread.php?t=13118

ill leave that to you im VB.NET cant deal with C++ lol (well i can but im a noob) EDIT: ( not that good with VB.NET either)

Wizzup?

2011-03-28 05:13:27

Simba can run multiple scripts at the same time, and they share the SMART instance. (IOW: That is perfectly possible)

Floor66

2011-03-28 09:06:23

From: sm0k3
Hmm possibly But im not shure how to make the receiver script.
Did try at one point to send data from a second script to the first scripts SMART
it either didnt recieve the text or it just instantly killed Simba on Runtime


or even C++ Plugin that Calls My Extension… hey..?
take a look here for C++ plugins for SCAR / Possibly Simba aswell .
http://www.villavu.com/forum/showthread.php?t=13118

ill leave that to you im VB.NET cant deal with C++ lol (well i can but im a noob) EDIT: ( not that good with VB.NET either)


You just use the .ini as a middleman.

Sender -> Reads/Writes to INI <- Receiver

Brandon

2011-03-28 16:54:36

btw this Doesnt work for all keys.. I just tried that.. I tried to do an interp for keys like tab and enter and ctrl and shift n stuff.. where if the user types [Tab] itll send the tab key.

I did something like
Program New;
{$i SRL/SRL/Misc/SMART.scar}
{$i SRL/SRL.scar}
{$i reflection\reflection.simba}

procedure WriteSMART;
begin
if StrToBool(ReadINI('Changed', 'Changed', IncludePath+'SRL/SRL/SmartSendLine.INI')) then
begin
WriteINI('Changed', 'Changed', 'False', IncludePath+'SRL/SRL/SmartSendLine.INI');
if(ReadINI('SMART', 'SMART', IncludePath+'SRL/SRL/SmartSendLine.INI') = '[Tab]') then
begin
TypeSend(chr(9));
end else
TypeSend(ReadINI('SMART', 'SMART', IncludePath+'SRL/SRL/SmartSendLine.INI'));
end;
end;

begin
WriteSmart;
end.

sm0k3

2011-03-28 17:33:33

Oh Thats interesting ..

hey did you ever take a look at that link to Writing C++ Plugin for simba
you said you managed to get a shell to send the text through yeh .
well i like the sound of that

could we get it to run in the notification area and when F12 is pressed
it sends all keypresses to a plugin the plugin hands it over to simba and
away we go ..

then we would need an array of all "special Keys" [ctrl] [win][alt][TAB]
and so on then send it to SMART From there.

Brandon

2011-03-28 17:41:39

Yes I looked at the link. I'll see if I can do it when I have time.. if not, im sure someone good at c++ can aswell or maybe even c or whatever other language. Any language should be able to do that. Its just Im only good at C languages.

I hope simba supports C++ extensions cuz looking at the source right now, everything is written in pascal

MaryJane

2011-03-28 18:25:22

Great Plugin Sm0k3 !
Being quite new to scripting i thought id have troubles..
Got it working fine.
Helps so much at PC. Constantly getting talked to and spamming en/dis often makes the script run a lil dodge.

ty man !


E: im not trying to get my post count up… i just really enjoyed this plugin.

sm0k3

2011-03-29 05:13:58

Good to Hear you like it ..
Were trying to make it more usable at the moment so it will only get better

WARNING . When your srl updates you will have to add the SMARTReadLine proceedure back to whereever you put it in SRL
And add

SMARTReadLine; back werever you were callling it in SRL

Sorry it gets overwritten .. i just found out ..

Ill Post A fix for this later

Any one know if we sense when the user moves their mouse in simba
if i add a procedur in the actual SMARTchat.sex exstension to check if the user moves their
the user just has to move thier mouse after clicking ok or pressing enter

this would make this SMARTchat run much faster

Brandon

2011-03-29 10:32:12

U can do a getmousepos(); to check the position of the mouse… use an x,x1 ,y,y1 and check if y1 differs from y and x1 differs from x then u would know if they moved the mouse..

Also for the pressing of a button to bring it up, I looked at a lot of procedures last night and found this one called Autohotkeys.

Try MenuSMARTForm.AutoHotkeys…… and I couldnt complete it cuz pascal isnt my think but check it out. or onkeypress

sm0k3

2011-03-29 10:51:16

could someone take a look at this .


program SMARTchat;

{$i SRL\SRL\misc\smart.scar}
{$i srl\srl.scar}

function GetName : string;
begin;
result := 'SMARTchat';
end;

function GetVersion : string;
begin;
result := '0.1a';
end;

var
MainMenuItem, MenuSMARTForm: TMenuItem;
procedure Sense;
begin
end;
procedure WriteSMART;
begin
if StrToBool(ReadINI('Changed', 'Changed', IncludePath+'SRL/SRL/SmartSendLine.INI')) then
begin
WriteINI('Changed', 'Changed', 'False', IncludePath+'SRL/SRL/SmartSendLine.INI');
SMARTSendKeys(ReadINI('SMART', 'SMART', IncludePath+'SRL/SRL/SmartSendLine.INI')+char(#10));
end;
end;
procedure SMARTReadLine(Sender: TObject);
var
TheLine: string;
begin
inputQuery('SMARTchat', 'Say :', TheLine);
if (Length(TheLine) > 0) then
begin
WriteINI('Changed', 'Changed', 'True', IncludePath+'SRL/SRL/SmartSendLine.INI');
WriteINI('SMART', 'SMART', TheLine, IncludePath+'SRL/SRL/SmartSendLine.INI');
writeln('::SMARTchat:: Sending > '+TheLine+' < To Client Chat')
end;
wait(100);
WriteSMART;
end;

procedure Init;
begin
MainMenuItem := TMenuItem.Create(Simba_MainMenu);
MainMenuItem.Caption := 'SMARTchat';
Simba_MainMenu.Items.Add(MainMenuItem);

MenuSMARTForm := TMenuItem.Create(MainMenuItem);
MenuSMARTForm.Caption := 'SMARTChat';
MenuSMARTForm.OnClick := @SMARTReadLine;
MainMenuItem.Add(MenuSMARTForm);

end;

procedure Free;
begin

end;

procedure Attach;
begin
writeln(' SMARTchat By Sm0k3 ');
Writeln('# SMARTchat Simba Extension #');
Writeln('# Allows you to Enter Text #');
Writeln('# Into The SMART client #');
Writeln('# Without Having Mess about #');
end;

Procedure Detach;
begin
Writeln('SMARTchat: > Goodbye ...');
Writeln('SMARTchat : : Sm0k3 ');
end;
Begin
End.

Debug out put says


Loading extension C:\Simba\Extensions\SMARTChat.sex
Error in Simba extension (C:\Simba\Extensions\SMARTChat.sex) : Unknown compiler directives at 2:18
Extension Disabled - Did not compile

autoerforlife

2011-03-29 11:28:04

Wow thanks for working this out :D it's quite annoying having to enable/disable smart 10 times before typing.
I'll test this as soon as possible:)

William

2011-03-29 14:53:03

From: autoerforlife
Wow thanks for working this out :D it's quite annoying having to enable/disable smart 10 times before typing.
I'll test this as soon as possible:)


you dont need to disable smart to type, you just select the smart client try to type minimize (without disabling it) and click on it again and type and it works fine :S at least for me it does.

Brandon

2011-03-29 15:42:55

From: willie2oo8
you dont need to disable smart to type, you just select the smart client try to type minimize (without disabling it) and click on it again and type and it works fine :S at least for me it does.


But there is no explanation as to why it doesn't work for everyone.. Only some people.

As for pressing a button to open SmartChat try this:


program SMARTchat;

function GetName : string;
begin;
result := 'SMARTchat';
end;

function GetVersion : string;
begin;
result := '0.1a';
end;

var
MainMenuItem, MenuSMARTForm: TMenuItem;
//{$ifndef PS_EXTENSION}
//var
// Client: TClient;
// Simba_MainMenu: TMainMenu;
//{$endif}
//{$i mml.simba}

procedure SMARTReadLine(Sender: TObject);
var
TheLine: string;
begin
inputQuery('SMARTchat', 'Say :', TheLine);
if (Length(TheLine) > 0) then
begin
WriteINI('Changed', 'Changed', 'True', IncludePath+'SRL/SRL/SmartSendLine.INI');
WriteINI('SMART', 'SMART', TheLine, IncludePath+'SRL/SRL/SmartSendLine.INI');
writeln('::SMARTchat:: Sending > '+TheLine+' < To Client Chat')
end;
end;

//type TKeyPressEvent = procedure (Sender: TObject; var Key: Char) of object;
{
procedure KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
TheLine: string;
begin
if (Key = VK_F12) then
begin
inputQuery('SMARTchat', 'Say :', TheLine);
if (Length(TheLine) > 0) then
begin
WriteINI('Changed', 'Changed', 'True', IncludePath+'SRL/SRL/SmartSendLine.INI');
WriteINI('SMART', 'SMART', TheLine, IncludePath+'SRL/SRL/SmartSendLine.INI');
writeln('::SMARTchat:: Sending > '+TheLine+' < To Client Chat')
end;
end;
end;
}

procedure Init;
var
TheLine: string;
begin
MainMenuItem := TMenuItem.Create(Simba_MainMenu);
MainMenuItem.Caption := 'SMARTchat';
Simba_MainMenu.Items.Add(MainMenuItem);
MenuSMARTForm := TMenuItem.Create(MainMenuItem);
MenuSMARTForm.Caption := 'SMARTChat';
MenuSMARTForm.ShortCut := 123;
MenuSMARTForm.OnClick := @SMARTReadLine;
MainMenuItem.Add(MenuSMARTForm);

end;

procedure Free;
begin

end;

procedure Attach;
begin
writeln(' SMARTchat By Sm0k3 ');
Writeln('# SMARTchat Simba Extension #');
Writeln('# Allows you to Enter Text #');
Writeln('# Into The SMART client #');
Writeln('# Without Having Mess about #');
end;

Procedure Detach;
begin
Writeln('SMARTchat: > Goodbye ...');
Writeln('SMARTchat : : Sm0k3 ');
end;
Begin
End.


Basically with simba open, u press the F12 button and the Smartchat thing opens and allows u to type.. But I cant get it to work on simba itself.. Maybe if I had the knowledge to add buttons to simba's debug kinda like how RSbot does it then it would be easier.

As for fixing the deleting upon update.. Just make a File called SChat.simba and add the procedure to it.. add this file to:

Includes/Srl/srl/Custom. <–That is a folder..

Then in the script u include it like so:

{$I SRL/SRL/Custom/SChat.simba}

Now when srl updates, it wont be deleted.
P.S.
Maybe when someone presses the Debug button, it opens the menu :S or puts a popup.. Dunno if that can be done.

sm0k3

2011-03-29 16:20:34

program SMARTchat;
{$include SRL/SRL/misc/smart.scar}
{$include srl/srl.scar}
// SMART CHAT V0.1A

// Allows You To Use The chat In a Game When SMART Wont Let You
// To Use This Script ADD The Following To Each of you Scripts:
//
// {$I SRL/SRL/SMARTchat/SMARTChat.simba}

// And then Call it as Often as possible By adding the line

// WriteSMART;

// Please make sure you Have allready Setup The SMARTchat extension
// Instructions Are Here :
// HTTP://http://villavu.com/forum/showthread.php?t=63432

function GetName : string;
begin;
result := 'SMARTchat';
end;

function GetVersion : string;
begin;
result := '0.1A';
end;
procedure WriteSMART;
begin
if StrToBool(ReadINI('Changed', 'Changed', IncludePath+'SRL/SRL/SmartSendLine.INI')) then
begin
WriteINI('Changed', 'Changed', 'False', IncludePath+'SRL/SRL/SmartSendLine.INI');
TypeSend(ReadINI('SMART', 'SMART', IncludePath+'SRL/SRL/SmartSendLine.INI')+char(#10));
end;
end;
begin
end.

when included in a script just gives me



[Error] C:\Simba\Includes\srl/srl/SMARTchat/SMARTchat.simba(2:1): 'BEGIN' expected at line 1
Compiling failed.

Brandon

2011-03-29 16:37:07

[Error] C:\Simba\Includes\srl/srl/SMARTchat/SMARTchat.simba(2:1): 'BEGIN' expected at line 1
Compiling failed.


Your not including the smartchat.sex file in a script.. Maybe I wasnt clear enough here:

The code above is supposed to be in SmartChat.sex
You enable the extension then and if u click the menu, u will notice SmartChat F12.. meaning F12 is the shortcut to press to open it..

Next is the include for your script.

In SmartChat.Simba, Remove every single thing include Program new, Begins and Ends.. add this (only this should be in the include):

procedure WriteSMART;
begin
if StrToBool(ReadINI('Changed', 'Changed', IncludePath+'SRL/SRL/SmartSendLine.INI')) then
begin
WriteINI('Changed', 'Changed', 'False', IncludePath+'SRL/SRL/SmartSendLine.INI');
TypeSend(ReadINI('SMART', 'SMART', IncludePath+'SRL/SRL/SmartSendLine.INI'));
end;
end;

Now in your Script itself do the include like u did before:
{$I Srl/srl/SMARTchat/SMARTchat.simba}

And then compile and whala

sm0k3

2011-03-30 03:08:08

SMARTchat Has Been Updated Please Refer To The First Post For More Information …

grats

2011-04-02 00:22:59

I love this soooooo much!!! thanks! I have added it to pretty much all the scripts I use



From: Wizzup?
Simba can run multiple scripts at the same time, and they share the SMART instance. (IOW: That is perfectly possible)


so does this mean it would be possibly to have a script fully running & functioning while you're typing / talking to someone using this plugin? so when it came to the section of the script where it does the 'smartchat; ' it wouldn't have to stop doing the script.. type what you are having it send.. then continue?

sm0k3

2011-04-02 06:47:59


so does this mean it would be possibly to have a script fully running & functioning while you're typing / talking to someone using this plugin? so when it came to the section of the script where it does the 'smartchat; ' it wouldn't have to stop doing the script.. type what you are having it send.. then continue?


.. not sure what your askin ..

when you call SMARTchat; it just runs a procedure that uses typeSend()
to send the string you want to say..
This only takes a second . and using ggzz's Prog that accompanies this Extension .. See Here … http://villavu.com/forum/showthread.php?t=63514
You can send Some other keys like [TAB] [ESC] [BACK]

Wizzup?

2011-04-02 07:11:12

From: grats
so does this mean it would be possibly to have a script fully running & functioning while you're typing / talking to someone using this plugin? so when it came to the section of the script where it does the 'smartchat; ' it wouldn't have to stop doing the script.. type what you are having it send.. then continue?


Yes, say script A runs the actual script, and script B just does the typing and FKeyDown checking. I'm pretty sure it should just work, although I'm unsure as how to how thread safe SMART is.

grats

2011-04-02 07:47:11

From: sm0k3
.. not sure what your askin ..

when you call SMARTchat; it just runs a procedure that uses typeSend()
to send the string you want to say..
This only takes a second . and using ggzz's Prog that accompanies this Extension .. See Here … http://villavu.com/forum/showthread.php?t=63514
You can send Some other keys like [TAB] [ESC] [BACK]


I understand how it works, since in 1 script you can only have one thing happening at a time I was making sure I understood wizzup correctly when he said you can have two separate scripts working on the same smart.. meaning being able to use this smartchat via a different tab in simba… so.. lets say the script you're using is running to the bank, instead of stopping & talking it can be talking while it's running to the bank

Brandon

2011-04-02 12:20:09

From: grats
I understand how it works, since in 1 script you can only have one thing happening at a time I was making sure I understood wizzup correctly when he said you can have two separate scripts working on the same smart.. meaning being able to use this smartchat via a different tab in simba… so.. lets say the script you're using is running to the bank, instead of stopping & talking it can be talking while it's running to the bank


I just tried this.. Yes Wizzup? is right.. U can open two simba's and send messages to another one. Thing is if two simba's is open, it will only send messages to one smart so that means u cannot run the smartchat plugin for two different scripts to send messages to two different smart's

grats

2011-04-02 13:32:44

From: ggzz
I just tried this.. Yes Wizzup? is right.. U can open two simba's and send messages to another one. Thing is if two simba's is open, it will only send messages to one smart so that means u cannot run the smartchat plugin for two different scripts to send messages to two different smart's


how do you get that working like how you did it? I run my smarts all in different virtual machines so there's no problem there.. 1 smart per VM
I couldn't get it working in a separate smart.. I don't know anything though :P

Brandon

2011-04-02 14:40:07

Open One simba with a script u wish to run, add a tab to that simba with a procedure for talking.

Run the first script and then the second one.. if u setup the tab one right, the they should be sharing the same talking procedures.. When u talk in one, it writes to a file and the first one will read that file and send it to smart..

Kinda like what smartchat does.. it writes to an ini-file and the script itself reads that ini file for changes.. if it detects a change, it sends the text contained in the ini-file..

Basically Tab2 should write to the inifile that Script one is reading from.

Smartzkid

2011-04-02 14:44:49

From: grats
how do you get that working like how you did it? I run my smarts all in different virtual machines so there's no problem there.. 1 smart per VM
I couldn't get it working in a separate smart.. I don't know anything though :P


Why VM?

Floor66

2011-04-02 16:06:51

Yeah there's no need for a separate VM for every instance of SMART. That'll just suck up resources (unless you have some l33t 24gb RAM 2x xeon server ;P In that case I'd just be jealous as fuck). You can just open up extra simbas.

grats

2011-04-02 17:43:28

From: Floor66
Yeah there's no need for a separate VM for every instance of SMART. That'll just suck up resources (unless you have some l33t 24gb RAM 2x xeon server ;P In that case I'd just be jealous as fuck). You can just open up extra simbas.


It's more light weight, actually. I've ran it like this for years

From: ggzz
Open One simba with a script u wish to run, add a tab to that simba with a procedure for talking.

Run the first script and then the second one.. if u setup the tab one right, the they should be sharing the same talking procedures.. When u talk in one, it writes to a file and the first one will read that file and send it to smart..

Kinda like what smartchat does.. it writes to an ini-file and the script itself reads that ini file for changes.. if it detects a change, it sends the text contained in the ini-file..

Basically Tab2 should write to the inifile that Script one is reading from.


That means script 1 is still stopping to use that procedure, which doesn't achieve anything different. We were discussing using a completely different script so two procedures can be running together within the same SMART simultaneously

From: Smartzkid
Why VM?


all my stuff is ran through VM so I can network them to SSD's where they're allowed to use 2gigs of virtual memory each while running off of only 100mb of ram, makes it so I can run lots of them easy & I give them all VPN's for different IP addresses

Brandon

2011-04-02 17:55:08

From: grats
It's more light weight, actually. I've ran it like this for years



That means script 1 is still stopping to use that procedure, which doesn't achieve anything different. We were discussing using a completely different script so two procedures can be running together within the same SMART simultaneously



all my stuff is ran through VM so I can network them to SSD's where they're allowed to use 2gigs of virtual memory each while running off of only 100mb of ram, makes it so I can run lots of them easy & I give them all VPN's for different IP addresses



Oh you mean threading! LOL Pascal doesn't support threading so neither would simba. Yes I can do this in c++ but only if I have time then I'll think about finding a way to do that.. I'd have to use something called a background worker or a separate thread.. Only problem would be sending the input to smart.

Yeah so as far as I know what u want to do is impossible atm.

grats

2011-04-02 17:58:20

From: ggzz
Oh you mean threading! LOL Pascal doesn't support threading so neither would simba. Yes I can do this in c++ but only if I have time then I'll think about finding a way to do that.. I'd have to use something called a background worker or a separate thread.. Only problem would be sending the input to smart.

Yeah so as far as I know what u want to do is impossible atm.


Ah ok yea.. as I said I don't know anything :bart:

been using this in many different scripts for like 30 hours now and it does an amazing job, I made a razer keyboard macro to switch programs to my VM then go to simba & press f12 in less than 1ms then I can type ez so I like it a lot.. much better than disable smart 20 times & mess up the script lol

thanks a lot for this

Smartzkid

2011-04-02 20:00:59

From: ggzz
Oh you mean threading! LOL Pascal doesn't support threading so neither would simba. Yes I can do this in c++ but only if I have time then I'll think about finding a way to do that.. I'd have to use something called a background worker or a separate thread.. Only problem would be sending the input to smart.

Yeah so as far as I know what u want to do is impossible atm.


PascalScript

Ogre

2011-04-06 00:38:51

This is awesome, thanks. :)