Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - camotbik

Pages: [1] 2 3 4
1
Stealth Client / [debug] Statistics
« on: December 09, 2017, 01:40:53 AM »
Hello to everyone.

I'm having a problem with creating statistics. I just cannot figure out and implement proper way to get PER HOUR stats. Check the stuf I got, maybe you can think of something.

Code: [Select]
Procedure Statistics_Global_innit;
begin
  Ore_Iron :=        0;
  Ore_OldCopper :=   0;
  Ore_Copper :=      0;
  Ore_Bronze :=      0;
  Ore_Rose :=        0;
  Ore_Shadow :=      0;
  Ore_Silver :=      0;
  Ore_Golden :=      0;
  Ore_Verite :=      0;
  Ore_Valorite :=    0;
  Ore_Marble :=      0;
  Ore_Ice :=         0;
  Ore_BloodRock :=   0;
  Ore_Mytheril :=    0;
  Ore_Amethyst :=    0;
  Ore_Dwarven :=     0;
  Ore_Steel :=       0;
  Ore_SunStone :=    0;
  Ore_BlackRock :=   0;
  Ore_Fire :=        0;
  Ore_Wizzard :=     0;
  Ore_DaemonSteel := 0;
  Ore_Crusader :=    0;
  Ore_Reactive :=    0;
  Ore_Sapphire :=    0;
  Ore_MoonRock :=    0;
end;


Procedure Statistics_Global_Update;
begin
  if GetColor(finditem) = $0000 then Ore_Iron := (Ore_Iron + GetQuantity(finditem));
  if GetColor(finditem) = $0487 then Ore_OldCopper := (Ore_OldCopper + GetQuantity(finditem));
  if GetColor(finditem) = $096D then Ore_Copper := (Ore_Copper + GetQuantity(finditem));
  if GetColor(finditem) = $0972 then Ore_Bronze := (Ore_Bronze + GetQuantity(finditem));
  if GetColor(finditem) = $0B84 then Ore_Rose := (Ore_Rose + GetQuantity(finditem));
  if GetColor(finditem) = $0496 then Ore_Shadow := (Ore_Shadow + GetQuantity(finditem));
  if GetColor(finditem) = $0497 then Ore_Silver := (Ore_Silver + GetQuantity(finditem));
  if GetColor(finditem) = $0494 then Ore_Golden := (Ore_Golden + GetQuantity(finditem));
  if GetColor(finditem) = $089F then Ore_Verite := (Ore_Verite + GetQuantity(finditem));
  if GetColor(finditem) = $08AB then Ore_Valorite := (Ore_Valorite + GetQuantity(finditem));
  if GetColor(finditem) = $0B91 then Ore_Marble := (Ore_Marble + GetQuantity(finditem));
  if GetColor(finditem) = $047F then Ore_Ice := (Ore_Ice + GetQuantity(finditem));
  if GetColor(finditem) = $04C2 then Ore_BloodRock := (Ore_BloodRock + GetQuantity(finditem));
  if GetColor(finditem) = $052D then Ore_Mytheril := (Ore_Mytheril + GetQuantity(finditem));
  if GetColor(finditem) = $0705 then Ore_Amethyst := (Ore_Amethyst + GetQuantity(finditem));
  if GetColor(finditem) = $0794 then Ore_Dwarven := (Ore_Dwarven + GetQuantity(finditem));
  if GetColor(finditem) = $07A1 then Ore_Steel := (Ore_Steel + GetQuantity(finditem));
  if GetColor(finditem) = $0A0A then Ore_SunStone := (Ore_SunStone + GetQuantity(finditem));
  if GetColor(finditem) = $047E then Ore_BlackRock := (Ore_BlackRock + GetQuantity(finditem));
  if GetColor(finditem) = $09EF then Ore_Fire := (Ore_Fire + GetQuantity(finditem));
  if GetColor(finditem) = $09AD then Ore_Wizzard := (Ore_Wizzard + GetQuantity(finditem));
  if GetColor(finditem) = $0493 then Ore_DaemonSteel := (Ore_DaemonSteel + GetQuantity(finditem));
  if GetColor(finditem) = $0A2E then Ore_Crusader := (Ore_Crusader + GetQuantity(finditem));
  if GetColor(finditem) = $07A5 then Ore_Reactive := (Ore_Reactive + GetQuantity(finditem));
  if GetColor(finditem) = $07AB then Ore_Sapphire := (Ore_Sapphire + GetQuantity(finditem));
  if GetColor(finditem) = $0B80 then Ore_MoonRock := (Ore_MoonRock + GetQuantity(finditem));
end;

Procedure Statistics_Global_Write;
begin
  If Ore_Iron <> 0 then AddToSystemJournal('Iron ' + IntToStr(Ore_Iron) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Iron * 360)));
  If Ore_OldCopper <> 0 then  AddToSystemJournal('Old Copper ' + IntToStr(Ore_OldCopper) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_OldCopper * 3600)));
  If Ore_Copper <> 0 then  AddToSystemJournal('Copper ' + IntToStr(Ore_Copper) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Copper * 360)));
  If Ore_Bronze <> 0 then  AddToSystemJournal('Bronze ' + IntToStr(Ore_Bronze) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Bronze * 360)));
  If Ore_Rose <> 0 then  AddToSystemJournal('Rose ' + IntToStr(Ore_Rose) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Rose * 360)));
  If Ore_Shadow <> 0 then  AddToSystemJournal('Shadow ' + IntToStr(Ore_Shadow) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Shadow * 360)));
  If Ore_Silver <> 0 then  AddToSystemJournal('Silver ' + IntToStr(Ore_Silver) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Silver * 360)));
  If Ore_Golden <> 0 then  AddToSystemJournal('Golden ' + IntToStr(Ore_Golden) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Golden * 360)));
  If Ore_Verite <> 0 then  AddToSystemJournal('Verite ' + IntToStr(Ore_Verite) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Verite * 360)));
  If Ore_Valorite <> 0 then  AddToSystemJournal('Valorite ' + IntToStr(Ore_Valorite) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Valorite * 360)));
  If Ore_Marble <> 0 then  AddToSystemJournal('Marble ' + IntToStr(Ore_Marble) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Marble * 360)));
  If Ore_Ice <> 0 then  AddToSystemJournal('Ice ' + IntToStr(Ore_Ice) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Ice * 360)));
  If Ore_BloodRock <> 0 then  AddToSystemJournal('Blood Rock ' + IntToStr(Ore_BloodRock) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_BloodRock * 360)));
  If Ore_Mytheril <> 0 then  AddToSystemJournal('Mytheril ' + IntToStr(Ore_Mytheril) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Mytheril * 360)));
  If Ore_Amethyst <> 0 then  AddToSystemJournal('Amethyst ' + IntToStr(Ore_Amethyst) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Amethyst * 360)));
  If Ore_Dwarven <> 0 then  AddToSystemJournal('Dwarven ' + IntToStr(Ore_Dwarven) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Dwarven * 360)));
  If Ore_Steel <> 0 then  AddToSystemJournal('Steel ' + IntToStr(Ore_Steel) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Steel * 360)));
  If Ore_SunStone <> 0 then  AddToSystemJournal('Sun Stone ' + IntToStr(Ore_SunStone) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_SunStone * 360)));
  If Ore_BlackRock <> 0 then  AddToSystemJournal('Black Rock ' + IntToStr(Ore_BlackRock) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_BlackRock * 360)));
  If Ore_Fire <> 0 then  AddToSystemJournal('Fire ' + IntToStr(Ore_Fire) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Fire * 360)));
  If Ore_Wizzard <> 0 then  AddToSystemJournal('Wizzard ' + IntToStr(Ore_Wizzard) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Wizzard * 360)));
  If Ore_DaemonSteel <> 0 then  AddToSystemJournal('Daemon Steel ' + IntToStr(Ore_DaemonSteel) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_DaemonSteel * 360)));
  If Ore_Crusader <> 0 then  AddToSystemJournal('Crusader ' + IntToStr(Ore_Crusader) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Crusader * 360)));
  If Ore_Reactive <> 0 then  AddToSystemJournal('Reactive ' + IntToStr(Ore_Reactive) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Reactive * 360)));
  If Ore_Sapphire <> 0 then  AddToSystemJournal('Sapphire ' + IntToStr(Ore_Sapphire) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_Sapphire * 360)));
  If Ore_MoonRock <> 0 then  AddToSystemJournal('MoonRock ' + IntToStr(Ore_MoonRock) + ' // Per Hour ' + IntToStr((((timer - t))) / (Ore_MoonRock * 360)));
  AddToSystemJournal('-----------------------------------------');
end;

The stats I get are totally wrong and insane.
Code: [Select]
12:39:25:074 [-]: Iron 118 // Per Hour 9502
12:39:25:078 [-]: Old Copper 8 // Per Hour 14015
12:39:25:083 [-]: Copper 7 // Per Hour 160179
12:39:25:087 [-]: Bronze 7 // Per Hour 160179
12:39:25:091 [-]: Rose 12 // Per Hour 93438
12:39:25:095 [-]: Shadow 14 // Per Hour 80089
12:39:25:099 [-]: Silver 56 // Per Hour 20022
12:39:25:102 [-]: Valorite 17 // Per Hour 65956
12:39:25:107 [-]: Marble 3 // Per Hour 373752
12:39:25:110 [-]: Ice 7 // Per Hour 160179
12:39:25:113 [-]: Blood Rock 10 // Per Hour 112125
12:39:25:117 [-]: Amethyst 6 // Per Hour 186876
12:39:25:120 [-]: Steel 4 // Per Hour 280314
12:39:25:123 [-]: Sun Stone 6 // Per Hour 186876
12:39:25:127 [-]: Black Rock 4 // Per Hour 280314
12:39:25:129 [-]: Daemon Steel 2 // Per Hour 560628
12:39:25:132 [-]: Crusader 4 // Per Hour 280314
12:39:25:136 [-]: Reactive 1 // Per Hour 1121257
12:39:25:141 [-]: MoonRock 2 // Per Hour 560628
12:39:25:144 [-]: -----------------------------------------

2
Games & Game Systems / Archeage
« on: February 06, 2014, 12:48:50 AM »
I haven't been playing much of online games after ultima online, but boy, this game beats the **** out of everything. It's the same sandbox style as ultima. You can catch fish, mine, lumber, get treasures, do tons of quests, bring packs from one town to another, farm, do sieges and sea battles. Well enough talking, lets see it in action




http://en.wikipedia.org/wiki/ArcheAge

3
Scripting Chat / Gate/Recall - In/Out
« on: February 04, 2012, 06:46:40 PM »
I dont know how many of you have used sallos(PlayUO) function to gate/recall in/out, but I have thinked for a long time how to import something similar to easyuo/stealth.

Basically, you track your friends(party members) cordinates and if required gate/recall to the nearest rune to that location, so what i thought, maybe someone has some kind of boarder cordinates for towns or other places? It would make it much easyer to write something like that.

4
Stealth archive / Stealth script corner.
« on: November 22, 2011, 06:28:11 AM »
Hello there. As there is no section for stealth scripts, i made this little thread. People that are not familiar with stealth client - it is a non-graphical script client for uo, but if you want you can attach the graphical client as well. It has a mass of possibilities, and the script language(pascal) is pretty easy to learn.

The first script I want to demonstrate is support script in pvp - a healer runs behind the host char with a precasted greater heal and heals every one from the friendlist when theyre health comes down to 94% (23). Cures as well when needed. + the best bonus is line of sight check, so for example if your friend is behind a wall but < 10 tiles from you, you wont try to cast on him.
Code: [Select]
onst Host =  $000F7F27;
      
var p : TPathArray;
    c : Integer;
    i : Integer;
    MeditTime : Cardinal;
    Friend: array of Cardinal;
    res : Boolean;
    
procedure Medit;
begin
if WarMode = true then SetWarMode(false);
if Mana < MaxMana then
begin
  if ((Timer > (MeditTime + (11 * 1000))) or (MeditTime = 0)) then
   begin
    UseSkill('Meditation');
    MeditTime :=Timer;
   end;
end;
end;    

procedure PrecastGH;
begin
if not TargetPresent then
 begin
 if (Count($0F85) > 0) and (Count($0F84) > 0) and (Count($0F86) > 0) and (Count($0F8D) > 0) and (Mana > 10) then
  begin
   Cast('Greater heal');
   WaitForTarget(2000);
  end;
 end;
end;

procedure Cure;
begin
if TargetPresent then CancelTarget;
 if (Count($0F84) > 0) and (Count($0F85) > 0) and (Mana > 5) then
  begin
   Cast('Cure');
   WaitForTarget(2000);
   res := CheckLoS(getX(self), getY(self), getZ(self) + 15, getX(Friend[i]), getY(Friend[i]), getZ(Friend[i]) + 15, WorldNum);
   if TargetPresent and (getDistance(Friend[i]) < 11) and (Mana > 5) and res then TargetToObject(Friend[i]);
  end;
end;


procedure Checktarget;
begin
Friend := [$000DC8C1, $000DCFE0, $000F7F27];
for i := 0 to Length(Friend) -1 do
 begin
  res := CheckLoS(getX(self), getY(self), getZ(self) + 15, getX(Friend[i]), getY(Friend[i]), getZ(Friend[i]) + 15, WorldNum);
  if IsPoisoned(Friend[i]) and res then cure;
  if (GetHP(Friend[i]) < (GetMaxHP(Friend[i]) - 3)) and (GetHP(Friend[i]) > 0) and TargetPresent and (getDistance(Friend[i]) < 11) and (Mana > 10) and res then TargetToObject(Friend[i]);
 end;  
end;
  
begin
losOptions := losTypeRunUO;
while not dead do
  begin
   wait(50);
   if getDistance(Host) > 4 then
    begin
     c := GetPathArrayFrom(PredictedX, PredictedY, PredictedZ, GetX(Host), GetY(Host), 1, True, p);
     if c > 0 then StepQ(CalcDir(PredictedX, PredictedY, p[0].X, p[0].Y), True);
    end;
    PrecastGH;
    Checktarget;
    Medit;
  end;
end.

The other script is a idoc finder, that stores results in a file, [ xy, state, date ], when an greatly or idoc found yells M! so if you want you could mark a rune near the house.
Code: [Select]
procedure WriteToFile(filepath: string; data: string);
var mode: Word;
begin
if FileExists(filepath) then mode := fmOpenReadWrite
else mode := fmCreate;

with TFileStream.Create(filepath,mode) do
  try
    Seek(0,soFromEnd);
    WriteBuffer(data,Length(data));
  finally
    Free;
  end;
end;

function status(str : String) : String;
begin
result := '???';
// if BMSearch(1, str, 'This house is fairly worn.') > 0 then result := 'fairly';  // just had too amny fairlys on the tests
if BMSearch(1, str, 'This house is greatly worn.') > 0 then result := 'greatly';
if BMSearch(1, str, 'This house is in danger of collapsing.') > 0 then result := 'idoc';
end;


procedure checkStatus;
var s : String;
begin
s := status(journal(lineIndex));
if s <> '???' then
begin
         writeToFile('C:\Idocs3.txt', intToStr(getX(finditem)) + ' ' + intToStr(getY(finditem)) +' ' + s + ' ' + DateTimeToStr(Now) +#13#10);
UOsay('M!!!!');
end;
end;


function findTypes(types : array of word; container : cardinal) : cardinal;
var
f : integer;
begin
result := 0;

for f := 0 to getArrayLength(types) - 1 do
if (findType(types[f], container) <> 0) then
begin
result := finditem;
break;
end;
end;

var lastTime : TDateTime;
begin
findDistance := 25 // maximum distance
        findVertical := 128 // maximum vertical distance

while not Dead do
begin
FindTypes([$0BD2,$0BA4,$0BA6,$0BA8,$0BAA,$0BAC,$0BAE,$0BB0,$0BB2,$0BB4,$0BB6,$0BB8,$0BBA,$0BBC,$0BBE,$0BC0,$0BC2,$0BC4,$0BC6,$0BC8,$0BCA,$0BCC,$0BCE,$0BD0,$0BD2,$0BD4,$0BD6,$0BD8,$0BDA,$0BDC,$0BDE,$0BE0,$0BE2,$0BE6,$0BE8,$0BEA,$0BEC,$0BEE,$0BF0,$0BF2,$0BF4,$0BF6,$0BF8,$0BFA,$0BFC,$0BFE,$0C00,$0C02,$0C04,$0C06,$0C08,$0C0A,$0C0C,$0C0E], ground)
  if finditem <> 0 then
   begin
  lastTime := now;
wait(100);
clickOnObject(finditem);
     if waitJournalLine(lastTime, 'This house is', 3000) then checkStatus;
     ignore(finditem);
   end;
   wait(500);
  end;

End.

I'm still a newbie at pascal, so don't judge hard.

ps; you can check house signs that are 25 tiles away from your character, so you have a big advantage..

5
Script Snippets / Loot from target
« on: November 21, 2011, 03:59:30 AM »
Those who have used sallos(play uo ) know the sexy feature that lets you select(target) an item, and the client moves it for you in to your backpack. This is very usefull in pvp, as you not always want to loot all the stuff in a body, as autolooters do.

Code: [Select]
Sub Loot
  set #targcurs 1
  while #targcurs = 1
    wait
  exevent drag #ltargetid 99999
  exevent dropc #backpackid
return

6
Script Snippets / waitfortarget (for spell casting)
« on: November 05, 2011, 01:16:56 AM »
Sample of usage
Code: [Select]
Gosub Paralyze
stop
;=====================================================================
;====================================================  PARALYZE ======
;=====================================================================
Sub Paralyze
  if #mana > 25 && #scnt2 > %CoolDown
  {
    finditem #ltargetid G_10
    if #targcurs = 1 && #findcnt > 0
      event macro 22 0
    set %_jindex #jindex < -------------------
    event macro 15 37
    set %CoolDown ( #scnt2 + 25 )
    gosub WaitForTarget 40
    if #ltargetid <> #charid
    {
      finditem #ltargetid G_10
      if #findcnt > 0
        event macro 22 0
    }
  }
return
;=====================================================================
; Gosub WaitForTarget %1 ; %1 = n ms. =========== WAITFORTARGET ======
;=====================================================================
Sub WaitForTarget
  set %Distrupted #false
  set %WaitForTarget ( #scnt2 + %1 )
  repeat
    if #jindex >= %_jindex
    {
      scanjournal %_jindex
      if disturbed IN #journal || recovered IN #journal || reagents IN #journal || mana IN #journal
      {
        set %Distrupted #true
        set %CoolDown #scnt2
      }
      set %_jindex %_jindex + 1
    }
  until #targcurs = 1 || %Distrupted = #true || #scnt2 > %WaitForTarget
return

7
General UO Chat - Freeshard edition / remove encryption
« on: October 19, 2011, 11:06:10 AM »
I need a way to remove the encryption from client 7.0.8.2.
The latest uo rice(3.33) I found isn't supporting it + injections Necr0 Potenc3 method isn't working on +7 clients as well. I'm seeking help.

8
Scripting Tutorials / The need of brackets.
« on: October 18, 2011, 05:06:54 AM »
I saw that many newcomers to easyuo are having the same old problem - they are not using brackets on statements. So I would say always use brackets when possible (except if there's only one line of code(example1)). The main purpose of brackets is to determine the margins of a statement(see example 2).
The usage of brackets.

Example1 - one line (if) statement, that doesnt need any brackets.
Code: [Select]
if #hits < #maxhits                   ; if hits get lower than maximum hits
event macro 1 1 Guards                ; say Guards

In this example if your hits get lower than maxhits, you will call Guards. As in this example we are only using 1 line (calling the guards) after the if statement, so we have no need for brackets.

Example2 - multiple line (if) statement, that needs brackets.
Code: [Select]
if #hits < #maxhits                   ; if hits get lower than maximum hits                
{                                     ; open statement if #hits lower than maxhits
event macro 1 1 Guards                ; say Guards
event macro 15 28                     ; cast spell greater heal
target                                ; wait for target
event macro 23 0                      ; target self
wait 40                               ; wait 2 seconds
}                                     ; close statement if #hits lower than maxhits

In this example if your hits get lower than maxhits, you will call Guards, then you cast greater heal spell on yourself and wait for 2 seconds. As in this example we are using more than 1 line after the if statement - we need to use brackets, so our code would work the way we want.

Example2.1 -  multiple line (if) statement, that needs brackets, but doesnt have them. -- this is the bad way - the way you dont want to do this.
Code: [Select]
if #hits < #maxhits                   ; if hits get lower than maximum hits                
event macro 1 1 Guards                ; say Guards
event macro 15 28                     ; cast spell greater heal
target                                ; wait for target
event macro 23 0                      ; target self
wait 40                               ; wait 2 seconds

What does happen here? Well if you get your hits bellow maxhits, you will call guards, but in the mean time while you are at your maxhits, you will cast greater heal on yourself and wait 2 seconds. If you ask yourself why? Well because the margins of the statement arent set and you will execute only one line after the if statement(see example1).

Example 3 - Usage of brackets in other circles.
if / else
Code: [Select]
if #hits < #maxhits
{                                     ; open statement
event macro 1 1 Guards                ; say Guards
event macro 15 28                     ; cast spell greater heal
target                                ; wait for target
event macro 23 0                      ; target self
wait 40                              ; wait 2 seconds
}                                     ; close statement
else
{                                     ; open statement
event macro 1 1 Everything seems fine ; say Everything seems fine
wait 40                               ; wait 2 seconds
}                                     ; close statement
while
Code: [Select]
While #hits < #maxhits                ; while hits are less than maxhits
{                                     ; open statement
event macro 1 1 Guards                ; say Guards
event macro 15 28                     ; cast spell greater heal
target                                ; waitfortarget
event macro 23 0                      ; target self
wait 40                              ; wait 2 seconds
}                                     ; close statement
for
Code: [Select]
for %i 1 20                           ; repeat 20 times
{                                     ; open statement
.....
.....
}                                     ; close statement

I hope this will help some of the newcomers to understand the need of brackets.

9
Television/Movies / Planet of Dinosaurs trailer (1977)
« on: October 15, 2011, 01:08:00 PM »

10
Script Debug / menu button looks allready pressed.
« on: October 11, 2011, 04:19:12 AM »

If you take a look, you will see that when we create a menu, it seems that setup button is allready pressed, but in reality it's not. Any ideas how to fix this?

Code: [Select]
Sub Menu
  set %status Please , #spc , press , #spc , a , #spc , button , #spc , to , #spc , start!
  set %iron 0
  set %dull_copper 0
  set %shadow_iron 0
  set %copper 0
  set %bronze 0
  set %golden 0
  set %agapite 0
  set %verite 0
  set %valorite 0
  set %shovels_used 0
  set %recalled_times 0
  set %time 0
  set %opm 0
  set %oph 0
  menu Clear
  menu Window Title CAMOTbIK's Dirty miner 0.1
  menu Window Color None
  menu Window Size 225 338
  menu Font Name MS Sans Serif
  menu Font Size 8
  menu Font Style
  menu Font Color Window
  menu Font BGColor Purple
  menu Button Setup 60 308 40 20 Setup
  menu Font BGColor Blue
  menu Button Clear 100 308 40 20 Clear
  menu Font BGColor Red
  menu Button Exit 180 308 40 20 Exit
  menu Font BGColor Green
  menu Button Start 140 308 40 20 Start
  menu Font Transparent #true
  menu Font Align Right
  menu Font Name MS Sans Serif
  menu Font Size 10
  menu Font Style b
  menu Font Color Background
  menu Font Transparent #false
  menu Font Align Left
  menu Font BGColor Black
  menu Text Status 4 4 %status
  menu Font Name Arial
  menu Font Color Maroon
  menu Font BGColor None
  menu Text EUOLabel2 4 20 Iron
  menu Font Color Teal
  menu Font BGColor Black
  menu Text EUOLabel3 4 40 Dull copper
  menu Font Color Gray
  menu Font BGColor None
  menu Text EUOLabel4 4 60 Shadow Iron
  menu Font Color Fuchsia
  menu Text EUOLabel5 4 80 Copper
  menu Font Color Olive
  menu Text EUOLabel6 4 100 Bronze
  menu Font Color Yellow
  menu Text EUOLabel7 4 120 Golden
  menu Font Color Purple
  menu Text EUOLabel8 4 140 Agapite
  menu Font Color Green
  menu Text EUOLabel9 4 160 Verite
  menu Font Color Background
  menu Text EUOLabel10 4 180 Valorite
  menu Font Color Silver
  menu Text EUOLabel12 4 200 Shovels used
  menu Text EUOLabel13 4 220 Recalled times
  menu Text EUOLabel14 4 240 Script running
  menu Text EUOLabel11 4 260 Ore per minute
  menu Text EUOLabel15 4 280 Ore per hour
  menu Font Align Right
  menu Text EUOLabel1 210 20 %iron
  menu Text EUOLabel16 210 40 %dull_copper
  menu Text EUOLabel17 210 60 %shadow_iron
  menu Text EUOLabel18 210 80 %copper
  menu Text EUOLabel19 210 100 %bronze
  menu Text EUOLabel20 210 120 %golden
  menu Text EUOLabel21 210 140 %agapite
  menu Text EUOLabel22 210 160 %verite
  menu Text EUOLabel23 210 180 %valorite
  menu Text EUOLabel24 210 200 %shovels_used
  menu Text EUOLabel25 210 220 %recalled_times
  menu Text EUOLabel26 210 240 %time
  menu Text EUOLabel27 210 260 %opm
  menu Text EUOLabel28 210 280 %oph
  set #menubutton N/A
  menu Show 0 0
return

11
Cool Links! / Uncensored!
« on: October 07, 2011, 04:35:01 AM »
censored

12
General UO Chat / Sallos
« on: October 06, 2011, 11:37:18 AM »
Does anyone know how to run Sallos on any other shard than hybrid?

13
Television/Movies / BBC Documentary - Stupidity "Full Movie"
« on: October 05, 2011, 03:14:04 PM »

14
Submit your Script / CAMOTbIK's Dirty miner
« on: October 02, 2011, 06:50:07 AM »
Code: [Select]
;======================================================================
; Script Name: Dirty Miner.
; Author: CAMOTbIK
; Version: 0.3 Beta
; Client Tested with: 7.0.10.4
; EUO version tested with: 1.5 235
; Shard OSI / FS:  FS WWW.UOMW.NET
; Revision Date: 2011/09/29
; Public Release: 2011/12/15
; Global Variables Used: None
; Purpose: To mine.
; --------------------------------------------------------------------
;========================== INFO =====================================
; --------------------------------------------------------------------
; You need atleast 35 Magery/Chivalry for traveling - please specify the
; travel method you will be using at %travelmethod. R - Magery, C - Chivalry
; e.g. set %travelmethod r  - will use recall.
; --------------------------------------------------------------------
; Script uses several runebooks so make sure you specify how many of
; them you will be using.
; e.g. set %miningbooks 7 - would use 7 runebooks.
; --------------------------------------------------------------------
; Script can make his own tools if needed, just keep some iron ingots
; in your %toolbag. The bag as well can contain shovels if you dont
; want/can't make your own tools.
; --------------------------------------------------------------------
;========================== CHANGELOG ================================
; --------------------------------------------------------------------
; v0.1b [ New Statistics menu, Tool making[if there are no tools in %toolbag]
;       minor bugfixes and overall code optimization.
; --------------------------------------------------------------------
;========================== EDITABLES ================================
; --------------------------------------------------------------------
set %travelmethod r       ; r - recall ; c - sacred journey
set %miningbooks 7        ; HOW MUCH MINING BOOKS WILL WE USE?
set %homebook YBTXMMD     ; RUNEBOOK WITH A RUNE TO HOME
set %homerune 1           ; RUNE NUMBER TO HOME IN HOMEBOOK
set %miningbook1 LZTXMMD  ; MINING BOOK 1
set %miningbook2 USSXMMD  ; MINING BOOK 2
set %miningbook3 QKNLKMD  ; MINING BOOK 3
set %miningbook4 IBNLKMD  ; MINING BOOK 4
set %miningbook5 MUNLKMD  ;
set %miningbook6 FOFAEND  ;
set %miningbook7 DZGAEND  ;
set %storage CHQWSMD      ; STORAGE BOX FOR ORE
set %toolbag YBQWSMD      ; BAG WITH SHOVELS

*Special thanks to Freddy for his recalling sub, which is found at http://www.scriptuo.com/index.php?topic=8427.0
*As well I would like to thank the author of all the minable tyles variable, but I have no idea who he's, as I have seen those variables in many scripts.
* Thanks to Neo for inspiration to make a new menu.


15
Scripting Chat / +/- lines on if/else
« on: September 26, 2011, 06:48:56 AM »
Code: [Select]
if #charghost = no + 3
event macro 1 1 i'm dead
wait 1s
event macro 1 1 I feel so alive, because
wait 1s
event macro 1 1 i'm not dead
wait 1s
if #charghost = no - 2
halt
Not documented? Well it is documented. But i've never seen this in use, till today.

Pages: [1] 2 3 4