SRL Archive - Archive

CynicRus - SRL Member Application


CynicRus

2012-07-30 09:41:43

How Long have You Played Runescape?
8 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
Object Pascal and Pascal, C, C#, C++, some Asm.


Are you a member of any other communities?
Linux.org.ru; ubuntufotums.org; forum.ubuntu.ru


Tell us about yourself…
From: CynicRus
Im system administrator from Moscow, my age 26 and i love life, programming, opensource community and many other-)



Please show us one (or multiple) of your scripts.
//I writing plugins and Form designer. But, if script wanted - then this is my test plugin script:
program new;
{$loadlib rwmem.dll}
var
trnForm:TForm;
lblPid,lblpvalue,lblHandle,lblhvalue,lblval,lbl1val,lbladdr2,lbladdr2val: TLabel;
TButton0: TButton;
Values: array of byte;//Values for memory writing
WinMine: integer;//WinMine PID
MineHandle: integer;//WinMine window handle
Addr1,Addr2: integer;


const
default = 'Comic Sans MS';

{Trainer procedures}
Procedure InitAndFill;
begin
SetLength(Values,1);
Values[0]:=StrToInt('$90');
Addr1:=StrToInt('$1003830');
Addr2:=StrToInt('$1002ff5');
WinMine:=GetProcessIdByName('WinMine.exe');
lblpvalue.Caption:=IntToStr(WinMine);
MineHandle:=GetWindowName('Minesweeper');
lblhvalue.CAPTION:=IntToStr(MineHandle);
lbl1val.CAPTION:=IntToStr(ReadFromMemory(MineHandle,addr1,1));
lbladdr2val.CAPTION:=IntToStr(ReadFromMemory(MineHandle,addr2,1));
end;

procedure Patch(Sender: TObject);
begin
WriteMemoryToPID(WinMine,Addr1,Values,1);
WriteMemoryToPID(WinMine,Addr2,Values,1);
lbl1val.CAPTION:=ToStr(ReadFromMemoryFromPID(WinMine,addr1,1));
lbladdr2val.CAPTION:=ToStr(ReadFromMemoryFromPID(WinMine,addr2,1));
end;


procedure InitForm;
begin
//trnForm\\
trnForm:=TForm.Create(nil);
with trnForm do
begin
Caption:='MineSweeper';
Left:=401;
Top:=201;
Width:=217;
Height:=149;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//lblPid\\
lblPid:=TLabel.Create(trnForm);
with lblPid do
begin
Parent:=trnForm;
Caption:='Minesweeper PID:';
Left:=13;
Top:=7;
Width:=95;
Height:=16;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//lblpvalue\\
lblpvalue:=TLabel.Create(trnForm);
with lblpvalue do
begin
Parent:=trnForm;
Caption:='lblpvalue';
Left:=150;
Top:=7;
Width:=49;
Height:=16;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//lblHandle\\
lblHandle:=TLabel.Create(trnForm);
with lblHandle do
begin
Parent:=trnForm;
Caption:='MS handle:';
Left:=12;
Top:=25;
Width:=60;
Height:=16;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//lblhvalue\\
lblhvalue:=TLabel.Create(trnForm);
with lblhvalue do
begin
Parent:=trnForm;
Caption:='lblhvalue';
Left:=130;
Top:=25;
Width:=49;
Height:=16;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//lblval\\
lblval:=TLabel.Create(trnForm);
with lblval do
begin
Parent:=trnForm;
Caption:='Address 1 value:';
Left:=12;
Top:=42;
Width:=86;
Height:=16;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//lbl1val\\
lbl1val:=TLabel.Create(trnForm);
with lbl1val do
begin
Parent:=trnForm;
Caption:='lbl';
Left:=130;
Top:=42;
Width:=14;
Height:=16;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//lbladdr2\\
lbladdr2:=TLabel.Create(trnForm);
with lbladdr2 do
begin
Parent:=trnForm;
Caption:='Address 2 value:';
Left:=11;
Top:=58;
Width:=86;
Height:=16;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//lbladdr2val\\
lbladdr2val:=TLabel.Create(trnForm);
with lbladdr2val do
begin
Parent:=trnForm;
Caption:='Addr2val';
Left:=130;
Top:=58;
Width:=48;
Height:=16;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//TButton0\\
TButton0:=TButton.Create(trnForm);
with TButton0 do
begin
Parent:=trnForm;
Caption:='Modify';
Left:=11;
Top:=76;
Width:=75;
Height:=25;
OnClick:=@Patch;
Font.Name:='Arial Rounded MT Bold';
Font.Color:=clPurple;
Font.Size:=12;
end;
end;

procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;


procedure ShowFormModal;
begin
trnForm.ShowModal;
end;


procedure SafeShowFormModal;
var
v: TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;


begin
SafeInitForm;
InitAndFill;
SafeShowFormModal;
end.

Program AnalogClock;
var
DsgnForm:TForm;
bkGrnd: TImage;
bmps0: TMufasaBitmap;
bmp0: TBitmap;
timer: TTimer;
angle: single;
sx1, sy1, mx1, my1, hx1, hy1: integer;
hour, minute, sec, oth: word;
const
default = 'Comic Sans MS';
ident = 20;
procedure Init;
var i, x, y, rad : integer;
a: single;
begin
// angle := (pi/180)*360;
hx1 := bkGrnd.Width div 2;
hy1 := hx1;
mx1 := hy1;
my1 := mx1;
sx1 := my1;
sy1 := sx1;
// Разметка циферблата
for i := 1 to 12 do begin
rad := bkGrnd.Width div 2;
a := pi/180 - (((pi/180)*30)*i);
x := Round((rad-ident) * sin(a)) + rad;
y := Round((rad-ident) * cos(a)) + rad;
x := (rad*2) - x;
y := (rad*2) - y;
case i of
12 : begin y := y - 15 end;
2 : begin x := x + 10 end;
1 : begin x := x + 15; y := y - 5 end;
3 : begin x := x + 3 end;
6 : begin y := y + 3; x := x - 3; end;
7 : begin y := y + 5 end;
8 : begin x := x - 7 end;
9 : begin x := x - 10; y := y - 10 end;
10 : begin y := y - 10; x := x - 15 end;
11 : begin y := y - 10; x := x - 15 end;
end;
bkGrnd.Canvas.TextOut(x, y, IntToStr(i));
end;
bkGrnd.Canvas.Brush.Color := clWhite;
end;
procedure DrawClock();
var rad, x1, y1: Integer;
ah, am, asec : extended;
r: TRect;
begin
r.Left:=0;
r.Right:=bkGrnd.Width;
r.Top:=0;
r.Bottom:=bkGrnd.Height;
bkGrnd.CANVAS.FillRect(r);
init;
rad := (bkGrnd.Width div 2);
//Смотрим дату и время
DecodeTime(Now, hour, minute, sec, oth);
//Определяем углы
ah := pi/180 - (((pi/180)*30)*hour);
am := pi/180 - (((pi/180)*6)*minute);
asec := pi/180 - (((pi/180)*6)*sec);
//Часы
bkGrnd.Canvas.MoveTo(rad, rad);
bkGrnd.Canvas.Pen.Color := clRed;
bkGrnd.Canvas.Pen.Width := 5;
bkGrnd.Canvas.LineTo(hx1, hy1);
bkGrnd.Canvas.Pen.Color := clBlack;
bkGrnd.Canvas.MoveTo(rad, rad);
// Радиус умножить на sin(x), округлить и прибавить к координате
x1 := Round((rad-40-ident) * sin(ah)) + rad;
y1 := Round((rad-40-ident) * cos(ah)) + rad;
x1 := (rad*2) - x1;
y1 := (rad*2) - y1;
bkGrnd.Canvas.LineTo(x1, y1);
hx1 := x1;
hy1 := y1;
//Минуты
bkGrnd.Canvas.MoveTo(rad, rad);
bkGrnd.Canvas.Pen.Color := clLime;
bkGrnd.Canvas.Pen.Width := 2;
bkGrnd.Canvas.LineTo(mx1, my1);
bkGrnd.Canvas.Pen.Color := clBlack;
bkGrnd.Canvas.MoveTo(rad, rad);
// Радиус умножить на sin(x), округлить и прибавить к координате
x1 := Round((rad-10-ident) * sin(am)) + rad;
y1 := Round((rad-10-ident) * cos(am)) + rad;
x1 := (rad*2) - x1;
y1 := (rad*2) - y1;
mx1 := x1;
my1 := y1;
bkGrnd.Canvas.LineTo(x1, y1);
//Секунды
bkGrnd.Canvas.MoveTo(rad, rad);
bkGrnd.Canvas.Pen.Color := clYellow;
bkGrnd.Canvas.Pen.Width := 1;
bkGrnd.Canvas.LineTo(sx1, sy1);
bkGrnd.Canvas.Pen.Color := clRed;
bkGrnd.Canvas.MoveTo(rad, rad);
// Радиус умножить на sin(x), округлить и прибавить к координате
x1 := Round((rad-2-ident) * sin(asec)) + rad;
y1:= Round((rad-2-ident) * cos(asec)) + rad;
x1 := (rad*2) - x1;
y1 := (rad*2) - y1;
bkGrnd.Canvas.LineTo(x1, y1);
sx1 := x1;
sy1 := y1;
end;

procedure Clock(Sender: TObject);
begin
If (Sender = Timer) then
DrawClock;
end;




procedure InitForm;
begin
//DsgnForm\\
DsgnForm:=TForm.Create(nil);
with DsgnForm do
begin
Caption:='DsgnForm';
Left:=0;
Top:=0;
Width:=225;
Height:=225;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
end;
//bkGrnd\\
bkGrnd:=TImage.Create(DsgnForm);
with bkGrnd do
begin
Parent:=DsgnForm;
Left:=0;
Top:=0;
Width:=225;
Height:=225;
bmps0:=GetMufasaBitmap(BitmapFromString(225,225,' '));
bmp0:=bmps0.ToTBitmap;
Picture.Bitmap.handle:=bmp0.handle;
end;
Timer := TTimer.Create(DsgnForm);
with Timer do begin
Interval := 1000;
OnTimer := @Clock;
Enabled :=true;
end;
end;

procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;


procedure ShowFormModal;
begin
DsgnForm.ShowModal;
end;


procedure SafeShowFormModal;
var
v: TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;


begin
SafeInitForm;
SafeShowFormModal;
end.

J J

2012-07-30 10:15:15

To make this compile you need to have this .dll http://villavu.com/forum/attachment.php?attachmentid=16916&d=1343586863 and place it in C:\Simba\Plugins

Other than that, I still need to look into some of your topics to make my final decision.
Specifically http://villavu.com/forum/showthread.php?p=1078286 and http://villavu.com/forum/showthread.php?t=86117

EDIT: After looking through some of your topics, definately yes :)

Wizzup?

2012-07-30 10:44:48

Yes!

Jakkle

2012-07-30 11:09:09

After I made a thread for you, saying you should be at least Junior rank I was going to leave it at that but I actually think you deserve members so I'm going to vote yes

litoris

2012-07-30 11:41:36

I'm not going to vote, but it would be nice to hear from people who say no. It seems like people are jealous of Cynic's skills, really. :P

Frement

2012-07-30 11:57:38

Love your contributions so far, and I'm sure they'll be even better in the future. Yes from me.

masterBB

2012-07-30 12:22:41

Yes.

You seem like a good programmer to me. Haven't really seen your scripting skills, but that doesn't matter. I like how you used my advice on bitmap handles and how you are eager to learn what you don't know. Logging in to irc every now and then. A good addition to SRL imo!

Flight

2012-07-30 12:51:30

Very knowledgeable, I'm surely impressed. I'd say become more active with the community, get involved with people and it'll be a yes from me, no doubt.

You're doing a wonderful job so far with your contributions, CynicRus.

BraK

2012-07-30 12:51:36

I'll add my yes to the list. :) Good luck.

Home

2012-07-30 13:28:20

Yes!

CynicRus

2012-07-30 14:10:59

From: Flight
Very knowledgeable, I'm surely impressed. I'd say become more active with the community, get involved with people and it'll be a yes from me, no doubt.

You're doing a wonderful job so far with your contributions, CynicRus.


Thanks to all for speaking so highly of me and my contributions to the community. I would gladly participate in its life and communicate with other members more but my language divide cannot be easily ignored:) As a rule I understand other participants but sometimes it is quite a problem for me to communicate my thought in your language. So to say, I am learning the language through talking to you all (I used to learn German at school and later on Latin as a physician assistant). In my turn I am interested in programming and things connected to it and try to apply my experience in order to help the community. I often use opensource software, including Simba, so just as all others I try to contribute as much as I can to what I use, meanwhile learning something new.
That is, actually, it. And thanks to my dear Ann, who helped me convey my thought to you in your language.

grats

2012-07-30 19:00:56

You definitely deserve it, and obviously have skills. I think it would be good for you to be around a bit longer. Yes from me anyway.

Sin

2012-07-30 19:09:31

Although not a script for RS, this is much needed! Yes from me!

Silent

2012-07-31 02:37:30

You have some very respected people voting yes for you, not to mention you are doing some really cool stuff.

Yes from me.

Justin

2012-07-31 03:09:47

Yes from me!

Caotom

2012-07-31 05:09:35

A well deserved yes from me. The work you have done so far is amazing and I am looking forward to what you will create in the future.

~Caotom

NKN

2012-07-31 19:01:39

Yes from me. :)

Sabzi

2012-07-31 19:59:15

Yes of course.

John

2012-07-31 20:39:07

Yes.

Sin

2012-07-31 21:09:36

From: litoris
I'm not going to vote, but it would be nice to hear from people who say no. It seems like people are jealous of Cynic's skills, really. :P


Activity :p

Abu

2012-08-01 13:50:42

Might as well just say I voted no because the script had nothing to do with RS.

Now that I think of it, Simba isn't based on just RS and I should have my vote changed, but really there's no need as there are already a fair amount of Yes votes to get you through :p

Frement

2012-08-01 13:53:42

From: abu_jwka
Now that I think of it, Simba isn't based on just RS and I should have my vote changed, but really there's no need as there are already a fair amount of Yes votes to get you through :p


Well, it isn't called Simba member ;)

Jakkle

2012-08-02 13:13:47

Pascal > Pascal Script.
Simple's ;)

EtherFreak

2012-08-03 15:40:03

Yes

nielsie95

2012-08-05 04:23:38

Welcome in!