Skocz do zawartości

Skrypty TibiaBot NG

Od ostatniej odpowiedzi w tym temacie minęło 205 dni. Pamiętaj, że odkopywanie takich tematów jest niewskazane, chyba że chcesz wnieść coś nowego do dyskusji.

Polecane posty

Witam, dzisiaj przedstawiam Wam zbiór skryptów do Tibi NG.Wraz z upływem czasu będę dodawał kolejne. Można tutaj także o takowy skrypcik poprosić ^_^.Do rzeczy :

 

 

Mana Potion :

Const

MinMana = 500

NumberOfVialsToDrink = 1

Delay = 2

while not terminated do

begin

UpdateWorld;

if Self.Mana <= MinMana then

begin

for i := 1 to NumberOfVialsToDrink do

begin

if (i >= NumberOfVialsToDrink + 1) or (terminated = true) then break;

Self.Containers.UseItemWithSelf(268);

Sleep(Delay*1000);

 

end;

end;

Sleep(500);

end;

500 - mana przy ilu użyje potionka.

268 - id potka (sprawdzamy przez klikniecie prawym i show item number).

 

 

Health Potion :

const

MinHealth = 200;

ID_Potion = 236;

NumberOfVialsToDrink = 1;

Delay = 2;

 

var

I: Integer;

 

begin

while not Terminated do

begin

UpdateWorld;

if Self.Health <= MinHealth then

for I:=1 to NumberOfVialsToDrink do

begin

if (Terminated) then break;

Self.Containers.UseItemWithSelf(ID_Potion);

Sleep(Delay*1000);

end;

Sleep(500);

end;

end;

200 - HP przy którym użyje potka.

236 - id potka (sprawdzamy przez klikniecie prawym i show item number).

 

 

Slime Training (uproszczony) :

function Attacking: boolean;

begin

UpdateWorld;

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if Creatures.Creature[x].Attacking then

begin

Result := True;

Exit;

end;

end;

Result := False;

Exit;

end;

 

function GetFollowedCreatureID: integer;

begin

UpdateWorld;

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if Creatures.Creature[x].Following then

begin

Result := Creatures.Creature[x].ID;

Exit;

end;

end;

end;

 

var

MotherSlime, X1, Y1: integer;

begin

MotherSlime := GetFollowedCreatureID;

while not Terminated do

begin

UpdateWorld;

if not Attacking then

begin

UpdateWorld;

for x := 0 to Creatures.Count - 1 do

begin

UpdateWorld;

if Creatures.Creature[x].ID <> MotherSlime then

begin

if (Creatures.Creature[x].Name <> Self.Name) and Creatures.Creature[x].NPC then

begin

UpdateWorld;

X1 := Creatures.Creature[x].X;

Y1 := Creatures.Creature[x].Y;

if (X1 - Self.X = 1) or (X1 - Self.X = 0) or (X1 - Self.X = -1) then

begin

UpdateWorld;

if (Y1 - Self.Y = 1) or (Y1 - Self.Y = 0) or (Y1 - Self.Y = -1) then

begin

Creatures.Creature[x].Attacking := true;

Break;

end;

end;

end;

end;

end;

end;

Sleep(1000);

end;

end;

Zanim odpalimy skrypcik dajemy follow na matkę ;>

 

 

Ciągłe atakowanie potworka :

while not terminated do

begin

UpdateWorld;

for i := 0 to creatures.Count -1 do

begin

if Creatures.Creature.Z = Self.Z then

if (Creatures.Creature.Visible) and (Creatures.Creature.NPC) then

if not Self.Attacking then Creatures.Creature.Attacking:=true;

end;

sleep(200);

end;

 

 

Używanie Obsidian Knife'a :

const

obsidian_knife = 5908;

skin_body = [4011, 4047, 4052, 4057];

 

function searchIntArray(id:integer): boolean;

var

i: integer;

begin

result := false;

for i := low(skin_body) to high(skin_body) do begin

if skin_body = id then result := true;

end;

end;

 

function GetItemFromOpenBackpack(ID: integer): TItem;

var

y: integer;

begin

Result := nil;

for x := 0 to Self.Containers.Count - 1 do

begin

if x >= Self.Containers.Count then Break;

for y := 0 to Self.Containers.Container[x].Count - 1 do

begin

if y >= Self.Containers.Container[x].Count then Break;

if Self.Containers.Container[x].Item[y].ID = ID then

begin

Result := Self.Containers.Container[x].Item[y];

Exit;

end;

end;

end;

end;

 

function SkinBodies(id:integer): Boolean;

var

x, y: integer;

knife: TItem;

t: integer;

begin

UpdateWorld;

knife := GetItemFromOpenBackpack(obsidian_knife);

if knife = nil then

begin

Self.DisplayText('Obsidian Knife nie znaleziony, prosze otworzyc bp z nim.');

exit;

end;

t := -1;

for x := -1 to 1 do begin

for y := -1 to 1 do begin

// if Screen.Tile[7+x, 5+y].Count >= 3 then begin

// t := -2

// end else t := -1;

if searchIntArray(Screen.Tile[7+x, 5+y].Item[screen.Tile[7+x, 5+y].Count+t].ID) = true then begin

UpdateWorld;

knife := GetItemFromOpenBackpack(obsidian_knife);

if knife <> nil then begin

knife.UseWithGround(Self.X+X, Self.Y+Y, Self.Z);

Self.DisplayText('Attempted to skin a creature with the ID ' + IntToStr(Screen.Tile[7+x, 5+y].Item[screen.Tile[7+x, 5+y].Count-1].ID) + '.');

Sleep(100);

UpdateWorld;

end;

end;

end;

end;

end;

 

begin

while not terminated do begin

UpdateWorld;

SkinBodies(skin_body);

Sleep(100);

end;

end;

5908 - ID OB Knife'a.

4011, 4047, 4052, 4057 - ID ciał na których ma być używany skrypt.

 

Skinowanie Vampow :

const
obsidian_knife = 5942;
skin_body = [4137];

function searchIntArray(id:integer): boolean;
var
i: integer;
begin
result := false;
for i := low(skin_body) to high(skin_body) do begin
if skin_body[i] = id then result := true;
end;
end;

function GetItemFromOpenBackpack(ID: integer): TItem;
var
y: integer;
begin
Result := nil;
for x := 0 to Self.Containers.Count - 1 do
begin
if x >= Self.Containers.Count then Break;
for y := 0 to Self.Containers.Container[x].Count - 1 do
begin
if y >= Self.Containers.Container[x].Count then Break;
if Self.Containers.Container[x].Item[y].ID = ID then
begin
Result := Self.Containers.Container[x].Item[y];
Exit;
end;
end;
end;
end;

function SkinBodies(id:integer): Boolean;
var
x, y: integer;
knife: TItem;
t: integer;
begin
UpdateWorld;
knife := GetItemFromOpenBackpack(obsidian_knife);
if knife = nil then
begin
Self.DisplayText('An Obsidian Knife could not be found, please open a container with it.');
exit;
end;
t := -1;
for x := -1 to 1 do begin
for y := -1 to 1 do begin
// if Screen.Tile[7+x, 5+y].Count >= 3 then begin
// t := -2
// end else t := -1;
if searchIntArray(Screen.Tile[7+x, 5+y].Item[Screen.Tile[7+x, 5+y].Count+t].ID) = true then begin
UpdateWorld;
knife := GetItemFromOpenBackpack(obsidian_knife);
if knife <> nil then begin
knife.UseWithGround(Self.X+X, Self.Y+Y, Self.Z);
Self.DisplayText('Attempted to skin a creature with the ID ' + IntToStr(Screen.Tile[7+x, 5+y].Item[Screen.Tile[7+x, 5+y].Count-1].ID) + '.');
Sleep(100);
UpdateWorld;
end;
end;
end;
end;
end;

begin
while not terminated do begin
UpdateWorld;
SkinBodies(skin_body);
Sleep(100);
end;
end;

 

Utamka, potek i exit gdy ktoś nas zaatakuje :

const

Potion_Id= 268;

procedure Event_Attacked(ID:integer);

begin

UpdateWorld;

for i := 0 to Creatures.Count -1 do

begin

if Creatures.Creature.ID=ID then

if Creatures.Creature.name <> self.name then

if Creatures.Creature.npc = false then

if Creatures.Creature.Z = Self.Z then

begin

if not Self.MagicShield then Self.say('Utamo Vita');

Sleep(200);

Self.Containers.UseItemWithSelf(Potion_Id);

Sleep(1500);

Self.Logout(true);

end;

 

while not terminated do

begin

ProcessEvents;

Sleep(200);

end;

end;

268 - ID potka na MP.

 

Używanie Utani hur/Utani gran hur gdy się kończy :

Const

Spell = 'utani gran hur'

MinMana = 100

 

while not terminated do

begin

UpdateWorld;

if not self.hasting then

if self.mana >= MinMana then

Self.Say(Spell);

sleep(1000);

end;

Spell = 'utani gran hur' - Tutaj wpisujemy czy ma używać utani hur czy gran hur.

MinMana = 100 - Ile MP potrzeba.

 

Anty paraliż :

const

minMana = 250;

 

while not Terminated do

begin

UpdateWorld;

if Self.Mana > minMana then

begin

if Self.Slowed then

Self.Say('utani gran hur')

end;

Sleep(300);

end;

minMana = 250 ; utani gran hur - Możemy zmienić mp na 60 i wpisać utani hur.

 

 

Zmiana BoH'ow na Softy kiedy mało HP :

Const

Soft = 6529;

Boh = 3079;

Hp = 600

 

function GetItemFromOpenBackpack(ID: integer): TItem;

var

x: integer;

y: integer;

begin

Result := nil;

for x := 0 to Self.Containers.Count - 1 do

begin

if x >= Self.Containers.Count then Break;

for y := 0 to Self.Containers.Container[x].Count - 1 do

begin

if y >= Self.Containers.Container[x].Count then Break;

if Self.Containers.Container[x].Item[y].ID = ID then

begin

Result := Self.Containers.Container[x].Item[y];

Exit;

end;

end;

end;

end;

 

while not terminated do

begin

updateworld;

SoftBoots := GetItemFromOpenBackpack(Soft);

if self.health <= Hp then

if SoftBoots <> nil then

SoftBoots.MoveToBody(Self.Feet, 0);

sleep(2000);

if SoftBoots = nil then

self.displaytext('A gdzie Softy');

sleep(2000);

end;

 

while not terminated do

begin

updateworld;

BootsHaste := GetItemFromOpenBackpack(BoH);

if BootsHaste <> nil then

if self.health > Hp then

BootsHaste.MoveToBody(Self.Feet, 0);

sleep(2000);

if BootsHaste = nil then

Self.DisplayText('A gdzie BoHy');

sleep(2000);

end;

6529 - ID Softów.

3079 - ID Bohów.

600 - Przy jakiej ilości HP ma zmienić BoH'y na Softy.

 

 

 

Zmiana BoH'ow na Softy kiedy mało MP :

Const

Soft = 6529;

Boh = 3079;

Mana = 600

 

function GetItemFromOpenBackpack(ID: integer): TItem;

var

x: integer;

y: integer;

begin

Result := nil;

for x := 0 to Self.Containers.Count - 1 do

begin

if x >= Self.Containers.Count then Break;

for y := 0 to Self.Containers.Container[x].Count - 1 do

begin

if y >= Self.Containers.Container[x].Count then Break;

if Self.Containers.Container[x].Item[y].ID = ID then

begin

Result := Self.Containers.Container[x].Item[y];

Exit;

end;

end;

end;

end;

 

while not terminated do

begin

updateworld;

SoftBoots := GetItemFromOpenBackpack(Soft);

if self.mana <= Mana then

if SoftBoots <> nil then

SoftBoots.MoveToBody(Self.Feet, 0);

sleep(2000);

if SoftBoots = nil then

self.displaytext('A gdzie Softy');

sleep(2000);

end;

 

while not terminated do

begin

updateworld;

BootsHaste := GetItemFromOpenBackpack(BoH);

if BootsHaste <> nil then

if self.mana > Mana then

BootsHaste.MoveToBody(Self.Feet, 0);

sleep(2000);

if BootsHaste = nil then

Self.DisplayText('A gdzie BoHy');

sleep(2000);

end;

6529 - ID Softów.

3079 - ID Bohów.

600 - Przy jakiej ilości MP ma zmienić BoH'y na Softy.

 

 

Udostępnij ten post


Link to postu
Pani Kasia

Pani Kasia

Kolejna część skryptów ;)

 

 

Blood Hit Control :

Const

MaxCreatures=100

StrongID=3271

WeakID=3283

Wait=10

function CreatureScreen : integer;

var

x:integer;

begin

Result:=0;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if (Creatures.Creature[x].Z=Self.Z) then

if (Creatures.Creature[x].NPC=true) then

if (ABS(Creatures.Creature[x].X-Self.X)=1) or ((Creatures.Creature[x].X-Self.X)=0) then

Result:=Result+1;

end;

end;

 

function Attacking : boolean;

var x : integer;

begin

Result := False;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if Creatures.Creature[x].Attacking then

begin

Result := True;

Exit;

end;

end;

end;

function GetCreatureByID(ID: integer): TCreature;

var

x: integer;

begin

Result := nil;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if Creatures.Creature[x].ID = ID then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

function GetAttackedCreature: TCreature;

var

x: integer;

begin

Result := nil;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if Creatures.Creature[x].Attacking = True then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

function GetItemFromOpenBackpack(ID: integer): TItem;

var

x: integer;

y: integer;

begin

Result := nil;

for x := 0 to Self.Containers.Count - 1 do

begin

if x >= Self.Containers.Count then Break;

for y := 0 to Self.Containers.Container[x].Count - 1 do

begin

if y >= Self.Containers.Container[x].Count then Break;

if Self.Containers.Container[x].Item[y].ID = ID then

begin

Result := Self.Containers.Container[x].Item[y];

Exit;

end;

end;

end;

end;

Procedure PutWeaponInHand(ID:Integer);

var

Weapon:TItem;

begin

Weapon:=GetItemFromOpenBackpack(ID);

if Weapon <> nil then

begin

Weapon.MoveToBody(self.LeftHand, 0);

sleep(1000);

end;

end;

var

Creature:TCreature;

TempHP:integer;

Attacked:boolean;

begin

Attacked:=false;

TempHP:=0;

while not Terminated do

begin

Updateworld;

if (CreatureScreen<=MaxCreatures) and (self.LeftHand.ID<>WeakID) then begin PutWeaponInHand(WeakID); Self.DisplayText('Weak ON'); sleep(1000); end;

If Attacking and (CreatureScreen<MaxCreatures) then

begin

Creature:=GetAttackedCreature;

if Creature.Health>=TempHP then

begin

TempHP:=Creature.Health;

sleep(1000);

While Creature.Health>=TempHP do

begin

Creature:=GetAttackedCreature;

if Creature= nil then break;

if self.lefthand.ID <> strongID then PutWeaponInHand(StrongID);

sleep(1000);

updateworld;

Self.DisplayText('No blood-Strong ON');

end;

Self.DisplayText('Blood detected-Weak ON');

PutWeaponInHand(WeakID);

end

else

TempHP:=Creature.Health;

end else

if not (CreatureScreen<=MaxCreatures) then begin Self.DisplayText('Many Creatures on screen-Strong On');

PutWeaponInHand(StrongID); end;

Sleep(Wait*1000);

end;

 

end;

100 -Jeżeli będziesz mieć więcej potworków na klacie niż tu pisze, zmieni broń na lepszą.

3271 - ID lepszej broni.

3283 - ID słabszej broni.

10 - Po jakim czasie ma sprawdzić czy nie było krwi.

 

 

Monk Trainer :

Const

StopAt=50;//Stop attacking monk/Player at that hp %.

AttackAt=80;// attack a monk/Player if the monk/player has more than 50% hp.

TrainName=['Monk','FrinedName1','FriendName2'];//you can change it to a player name.

var

creature:tcreature;

 

function GetCreatureByNameHPHIGH(Name: string): TCreature;

var

x: integer;

begin

Result := nil;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if Creatures.Creature[x].Name = Name then

if Creatures.Creature[x].z=Self.Z then

if Creatures.Creature[x].Health>AttackAt then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

function Attacking: boolean;

var

x: integer;

begin

Result := False;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if Creatures.Creature[x].Attacking then

begin

Result := True;

Exit;

end;

end;

end;

function GetAttackedCreature:TCreature;

var

x: integer;

begin

Result := nil;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if Creatures.Creature[x].Attacking=true then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

 

 

begin

 

while not Terminated do

begin

UpdateWorld;

if not attacking then

begin

For x:=low(TrainName) to high(trainName) do

begin

If self.attacking<>0 then break;

Creature:=GetCreatureByNameHPHIGH(TrainName[x]);

if Creature <> nil then

creature.attacking:=true;

sleep(100); updateworld;

end;

end;

if attacking then

begin

Creature:=GetAttackedCreature;

if Creature <> nil then

if creature.Health < StopAt then creature.attacking:=false;

end;

sleep(1000);

end;

end;

50 - Przestaje atakować monka/gracza przy tym % HP.

80 - Zaczynaatakować monka/gracza przy tym % HP.

['Monk','FrinedName1','FriendName2'] - można ustawic także graczy do skillowania (w miejsca Friendname1 ;Friendname2.

 

 

Exori/exori gran caster :

Const

NumberOfMonsters = 8

MinHealth = 600

MinMana = 400

 

function CountMonstersBesideYou:Integer;

begin

Result := 0;

UpdateWorld;

for i := 0 to creatures.Count -1 do

begin

if i >= Creatures.Count then break

for x := -1 to 1 do

begin

if x >= 2 then break

for y := -1 to 1 do

begin

if y > 1 then break;

if Creatures.Creature.NPC then

if (Creatures.Creature.x = Self.X +x) and (Creatures.Creature.y = Self.y + y) and (Creatures.Creature.Z = Self.Z) then

Result := Result + 1;

end;

end;

end;

end;

 

while not terminated do

begin

UpdateWorld;

if CountMonstersBesideYou >= NumberOfMonsters then

if Self.Mana >= MinMana then

if Self.Health > MinHealth then

Self.Say('exori gran');

sleep(100);

end;

8 - ilość potworów przy której rzucimy spell.

600 - przy jakiej ilości HP ma rzucić spell.

400 przy jakiej ilości MP ma rzucić spell.

Self.Say('exori gran'); - Tu wpisujemy exori gran/exori.

 

 

Log off jak będzie player na ekranie :

Const

Account = 1234567;

Password = 'thisisyourpassword';

World = 'YourWorld';

Character = 'Darkmystery';

SafeList = ['Player1', 'Player2', 'Player3'] // The safelist, add/remove players. :P

RelogTime = 30; // After how many minutes are you going to relog?

 

 

var

Logged: boolean;

 

function GetCreature: byte;

var

x: integer;

begin

updateworld;

result := 0;

for x := 0 to Creatures.Count - 1 do

begin

if Creatures.Creature[x].NPC = False then begin

if(Creatures.Creature[x].Name <> Self.Name) then begin

if(Creatures.Creature[x].Z = Self.Z) then begin

for y := Low(SafeList) to High(SafeList) do

begin

if AnsiLowerCase(Creatures.Creature[x].Name) = AnsiLowerCase(SafeList[y]) then

exit;

end;

result := 1;

exit;

end;

end;

end;

end;

end;

 

begin

while not Terminated do

begin

UpdateWorld;

 

if GetCreature = 1 then begin

Logged := True;

end

 

if Logged = True then begin

Self.Logout(False);

Sleep(RelogTime * 60000);

Self.Login(Account, Password, Character, World);

Sleep(3500)

Self.Backpack.Open

Logged := False

end;

 

Sleep(500)

end;

end;

1234567 - Account Number.

thisisyourpassword - Password.

YourWorld - Świat.

Yournick - Twój nick.

['Player1', 'Player2', 'Player3'] - Safe Lista.

30 - Po jakim czasie ma się zalogować (w minutach)

Uwagi: Jeżeli robicie runki tą metodą to pamiętajcie o włączeniu Anti-Idle oraz o tym że skrypt otwiera tylko główny BP.

 

 

Podnoszenie Fri Itenz xD:

var

integer : cnt;

begin

while not terminated do begin

UpdateWorld;

cnt := Screen.Tile[6, 4].Count;

if ((cnt > 1) and (Screen.Tile[6, 4].Item[cnt - 1].Properties.Carryable)) then

Screen.Tile[6, 4].Item[cnt - 1].MoveToContainer(Self.Containers.Container[0], 0, 0);

cnt := Screen.Tile[6, 5].Count;

if ((cnt > 1) and (Screen.Tile[6, 5].Item[cnt - 1].Properties.Carryable)) then

Screen.Tile[6, 5].Item[cnt - 1].MoveToContainer(Self.Containers.Container[0], 0, 0);

cnt := Screen.Tile[6, 6].Count;

if ((cnt > 1) and (Screen.Tile[6, 6].Item[cnt - 1].Properties.Carryable)) then

Screen.Tile[6, 6].Item[cnt - 1].MoveToContainer(Self.Containers.Container[0], 0, 0);

cnt := Screen.Tile[7, 4].Count;

if ((cnt > 1) and (Screen.Tile[7, 4].Item[cnt - 1].Properties.Carryable)) then

Screen.Tile[7, 4].Item[cnt - 1].MoveToContainer(Self.Containers.Container[0], 0, 0);

cnt := Screen.Tile[7, 5].Count;

if ((cnt > 2) and (Screen.Tile[7, 5].Item[cnt - 1].Properties.Carryable)) then

Screen.Tile[7, 5].Item[cnt - 1].MoveToContainer(Self.Containers.Container[0], 0, 0);

cnt := Screen.Tile[7, 6].Count;

if ((cnt > 1) and (Screen.Tile[7, 6].Item[cnt - 1].Properties.Carryable)) then

Screen.Tile[7, 6].Item[cnt - 1].MoveToContainer(Self.Containers.Container[0], 0, 0);

cnt := Screen.Tile[8, 4].Count;

if ((cnt > 1) and (Screen.Tile[8, 4].Item[cnt - 1].Properties.Carryable)) then

Screen.Tile[8, 4].Item[cnt - 1].MoveToContainer(Self.Containers.Container[0], 0, 0);

cnt := Screen.Tile[8, 5].Count;

if ((cnt > 1) and (Screen.Tile[8, 5].Item[cnt - 1].Properties.Carryable)) then

Screen.Tile[8, 5].Item[cnt - 1].MoveToContainer(Self.Containers.Container[0], 0, 0);

cnt := Screen.Tile[8, 6].Count;

if ((cnt > 1) and (Screen.Tile[8, 6].Item[cnt - 1].Properties.Carryable)) then

Screen.Tile[8, 6].Item[cnt - 1].MoveToContainer(Self.Containers.Container[0], 0, 0);

Sleep(50);

end;

end;

 

 

 

Kolejność atakowania potworów :

Const

Name=['Minotaur Mage','Minotaur Archer','Minotaur Guard];

SwitchAt=10

function GetPlace(st:string):integer;

var

x:integer;

begin

Result:=1000;

for x:=Low(Name) To High(Name) do

begin

if Name[x]=st then

Result:=x;

end;

end;

 

function GetCreatureByID(ID: integer): TCreature;

var

x: integer;

begin

Result := nil;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if Creatures.Creature[x].ID = ID then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

 

function IsCreatureBesideYou(c: TCreature): boolean;

begin

UpdateWorld;

Result := False;

if (abs(c.X-self.X) <= 6) and (abs(c.Y-self.Y) <= 6) then begin

if c.Z = self.Z then begin

Result := True;

end;

end;

end;

 

var

x:integer;

b:boolean;

begin

while not terminated do

begin

b:=false;

updateworld;

If (Self.Attacking<>0) then

begin

Creature:=GetCreatureByID(Self.Attacking);

if Creature<>nil then

if SwitchAt<Creature.Health then

begin

for x := 0 to Creatures.Count - 1 do

begin

updateworld;

if b then break;

if x >= Creatures.Count then Break;

if Creatures.Creature[x].NPC then

if Creatures.Creature[x].z=self.z then

if Creatures.Creature[x].Name<>self.name then

if Creatures.Creature[x].Attacking = false then

if IsCreatureBesideYou(Creatures.Creature[x]) then

if GetPlace(Creature.Name)>GetPlace(Creatures.Creature[x].Name) then

begin

sleep(100);

updateworld;

Creatures.Creature[x].attacking:=true;

B:=true;

end;

end;

end;

end;

Sleep(100);

end;

end;

'Minotaur Mage','Minotaur Archer','Minotaur Guard' - Kolejność potworów ( zmieniamy dowolnie, na dowlone potwory)

10 - % HP potwora przy którym ma zmienić ( nie warto zmieniać, mogą wystąpić komplikacje ;>)

Udostępnij ten post


Link to postu

@up wchodzisz w ng bota/skrypter i wprowadzasz kod


JH

Jebać Hydraulików! JH Na 300% Tylko Bóg może mi naprawiać rury! Only God can repair my pipes...

Dziś jest JP , jutro będzie JSP , a pojutrze JH!

Udostępnij ten post


Link to postu
Pani Kasia

Const

SQM = 3 // jaki odstep

 

function GetCreatureByID(ID: integer): TCreature;

var

x: integer;

begin

Result := nil;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if Creatures.Creature[x].ID = ID then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

 

UpdateWorld;

KnightID := Self.Following;

while not terminated do

begin

UpdateWorld;

Knight := GetCreatureByID(KnightID);

if Knight <> nil then

if Knight.Z = self.z then

begin

if self.following then

if (abs(Self.X-Knight.X) < SQM + 1) and (abs(Self.Y-Knight.Y) < SQM + 1) then

begin

Knight.Following := false;

UpdateWorld;

Self.MoveTo(Self.X,Self.Y,Self.Z);

end;

if not self.following then

begin

if (abs(Self.X-Knight.X) > SQM) or (abs(Self.Y-Knight.Y) > SQM) then

Knight.Following := true;

end;

if (not self.following) and (abs(Self.X - Knight.X) < 2) and (ABS(Self.Y - Knight.Y) < 2) then

begin

Knight.Following := true;

sleep(100);

Knight.Following := false;

sleep(1000);

end;

end;

else self.displaytext('Target is not on the same floor!');

else self.displaytext('Target losed!!!');

sleep(100);

end;

 

function GetCreatureByID(ID: integer): TCreature;

var

x: integer;

begin

Result := nil;

for x := 0 to Creatures.Count - 1 do

begin

if x >= Creatures.Count then Break;

if Creatures.Creature[x].ID = ID then

begin

Result := Creatures.Creature[x];

Exit;

end;

end;

end;

 

UpdateWorld;

KnightID := Self.Following;

while not terminated do

begin

UpdateWorld;

Knight := GetCreatureByID(KnightID);

if Knight <> nil then

if Knight.Z = self.z then

begin

if self.following then

if (abs(Self.X-Knight.X) < SQM + 1) and (abs(Self.Y-Knight.Y) < SQM + 1) then

begin

Knight.Following := false;

UpdateWorld;

Self.MoveTo(Self.X,Self.Y,Self.Z);

end;

if not self.following then

begin

if (abs(Self.X-Knight.X) > SQM) or (abs(Self.Y-Knight.Y) > SQM) then

Knight.Following := true;

end;

if (not self.following) and (abs(Self.X - Knight.X) < 2) and (ABS(Self.Y - Knight.Y) < 2) then

begin

Knight.Following := true;

sleep(100);

Knight.Following := false;

sleep(1000);

end;

end;

else self.displaytext('Target is not on the same floor!');

else self.displaytext('Target losed!!!');

sleep(100);

end;

Powiedz czy działa czy nie bo teraz nie jestem na swoim kompie ^^

 

 

Z tym skryptem jest coś nie tak ;/

Udostępnij ten post


Link to postu

Źle robisz musisz zrobić tak:

Tools;

Scripter;

(wklejasz kod);

i w pasku narzedzi masz "Execute Script"

klikasz i teraz jest włączony, wtedy możesz zamknąć


Sho%20Yer.png

Udostępnij ten post


Link to postu
Pani Kasia

Daloby sie znalezc skrypta, ktory zbiera kamienie np. do 40. Gdy je uzbiera, idzie do dp i mi je tam zostawia i idzie dalej zbierac?

 

Nie lepiej by bylo, gdybys edytowal pierwszego posta i tam wszystkie zamieszczal? Potem, gdy sie zrobi kilka stron, niektore noobki, zamiast je przejrzec, beda prosic cie o te ktore juz umiescieles, ale byly np. na stornie...

Udostępnij ten post


Link to postu

Nie mógłbym wszystkiego dawać ww 1 temacie, bo jest ograniczenie cytatów.

Small stone depositer when x stones :

const

BackpackToEmpty = 2 // z ktorego bp ma wrzucac kamyczki do depo

CaveToDepotWaypoints = 'C:\Program Files\TibiaBot NG\waypoints\[Femor hills] From goblins to depot.wpt' // Goblins to DP

DepotToCaveWaypoints = 'C:\Program Files\TibiaBot NG\waypoints\[Femor hills] From depot to goblins.wpt' // DP to Goblins

 

StonesAmount = 40; // Ile kamyczkow ma zebrac

WaitTime = 10;

 

var

Stones: integer;

 

Function GetTileFromXYZ(X, Y, Z: integer): TTile;

begin

Result := nil;

if abs((Self.X - 7) - X) > 14 then Exit;

if abs((Self.Y - 5) - Y) > 11 then Exit;

if Self.Z <> Z then Exit;

Result := Screen.Tile[abs((Self.X - 7) - X), abs((Self.Y - 5) - Y)];

end;

 

Procedure UseTile(X,Y,Z: Integer);

Var

Tile: TTile;

begin

if Z = Self.Z then

begin

Tile := GetTileFromXYZ(X, Y, Z);

Tile.Item[1].Use;

end;

else Unreachable := True;

end;

 

Procedure UseRope(X,Y,Z: Integer);

begin

if Z = Self.Z then

begin

Self.Containers.UseItemWithGround(3003, X, Y, Z);

end;

else Unreachable := True;

end;

 

Procedure MoveTo(X,Y,Z: Integer);

begin

if Z = Self.Z then

begin

Self.MoveTo(X,Y,Z);

end;

else Unreachable := True;

end;

 

Procedure UseShovel(X,Y,Z: Integer);

var Tile: TTile

begin

if Z = Self.Z then

begin

repeat

Self.Containers.UseItemWithGround(5710, X, Y, Z);

Self.Containers.UseItemWithGround(3457, X, Y, Z);

Sleep(1000);

UpdateWorld;

Tile := GetTileFromXYZ(X, Y, Z);

until Tile.Item[0].Properties.Hole or Terminated

Self.MoveTo(X, Y, Z);

end;

else Unreachable := True;

end;

 

Procedure WaypointToAction(X,Y,Z,Action :Integer);

begin

UpdateWorld;

Case Action of

1: UseRope(X,Y,Z);

2: UseTile(X,Y,Z);

3: MoveTo(X, Y+1, Z+1);

4: MoveTo(X, Y-1, Z-1);

5: MoveTo(X, Y, Z-1);

6: MoveTo(X, Y, Z);

7: UseShovel(X,Y,Z-1);

8: MoveTo(X, Y, Z);

9: Sleep(X*1000);

else

MoveTo(X,Y,Z);

end;

end;

 

Function WaypointReached(X,Y,Z,Action :Integer): Boolean;

begin

UpdateWorld;

Result := False;

Case Action of

1: if (Z = Self.Z + 1) then Result := True;

2: if (Z = Self.Z + 1) then Result := True;

3: if (Z = Self.Z) then Result := True;

4: if (Z = Self.Z) then Result := True;

5: if (Z = Self.Z) then Result := True;

6: if ((X = Self.X) and (Y = Self.Y) and (Z = Self.Z)) then Result := True;

7: if (Z = Self.Z) then Result := True;

8: if (abs(Z - Self.Z) = 1) then Result := True;

9: Result := True;

else

if ((X = Self.X) and (Y = Self.Y) and (Z = Self.Z)) then Result := True;

end;

end;

 

Function CountWaypoints(FilePath: String): Integre;

Var

i: Integer

WaypointFile: TextFile

begin

i := 0

AssignFile(WaypointFile, FilePath);

ReSet(WaypointFile);

while not EoF(WaypointFile) do

begin

temp:= ReadLn(WaypointFile);

i := i+1;

end;

Result:= (i/4);

end;

 

Function ExtractWaypointsFromFile(FilePath: String; Count: Integer): Integre;

Var

i: Integr

WaypointsArray: Integer

WaypointFile: TextFile

begin

WaypointsArray := VarArrayCreate([0, Count - 1, 0, 3], $C);

AssignFile(WaypointFile, FilePath);

ReSet(WaypointFile);

for i:=0 to Count-1 do

begin

WaypointsArray[i,0] := StrToInt(ReadLn(WaypointFile));

WaypointsArray[i,1] := StrToInt(ReadLn(WaypointFile));

WaypointsArray[i,2] := StrToInt(ReadLn(WaypointFile));

WaypointsArray[i,3] := StrToInt(ReadLn(WaypointFile));

end;

CloseFile(WaypointFile);

Result := WaypointsArray;

end;

 

procedure DepositeStones;

begin

UpdateWorld;

A := nil;

for x := 6 to 8 do

begin

if x > 8 then break;

for y := 4 to 6 do

begin

if y > 6 then break;

for i := 0 to Screen.Tile[x,y].Count - 1 do

begin

if i >= Screen.Tile[x,y].Count then break;

if Screen.Tile[x,y].Item.properties.depot then

begin

A := Screen.Tile[x,y].Item;

break;

end;

SLEEP(50);

end;

end;

end;

if A <> nil then

if BackpackToEmpty > 0 then

begin

A.Open;

C := Self.Containers.Count;

Sleep(1500);

UpdateWorld;

if C <> Self.Containers.Count then

begin

for G := Self.Containers.Container[backpackToEmpty - 1].Count - 1 downto 0 do

begin

if G >= Self.Containers.Container[backpackToEmpty - 1].Count then break;

Self.Containers.Container[backpackToEmpty - 1].Item[G].MoveToContainer(Self.Containers.Container[self.Containers.Count - 1],20,0);

sleep(100);

end;

end;

end;

else if BackpackToEmpty = 0 then

begin

A.Open;

C := Self.Containers.Count;

Sleep(1500);

UpdateWorld;

if C <> Self.Containers.Count then

begin

for ok := 0 to self.containers.Count - 2 do

begin

if ok >= Self.Containers.Count - 1 then break;

for G := Self.Containers.Container[ok].Count - 1 downto 0 do

begin

if G >= Self.Containers.Container[ok].Count then break;

Self.Containers.Container[ok].Item[G].MoveToContainer(Self.Containers.Container[

elf.Containers.Count - 1],100,0);

sleep(100);

end;

end;

end;

end;

end;

 

function CountItemAmountFromOpenBackpack(ID: integer): integer;

var

x: integer;

y: integer;

begin

Result := 0;

for x := 0 to Self.Containers.Count - 1 do

begin

if x >= Self.Containers.Count then Break;

for y := 0 to Self.Containers.Container[x].Count - 1 do begin

if y >= Self.Containers.Container[x].Count then Break;

if Self.Containers.Container[x].Item[y].ID = ID then begin

Result := Result + Self.Containers.Container[x].Item[y].Amount;

end;

end;

end;

end;

 

Procedure FollowWaypoint(FilePath: String)

begin

Index := 0

Unreachable := False

WaypointsCount := CountWaypoints(FilePath);

WP := ExtractWaypointsFromFile(FilePath, WaypointsCount);

 

while (Index <> (WaypointsCount-1)) and (not Terminated) do

begin

if Unreachable then

begin

Index := Index+1;

Unreachable := False;

end;

 

if Index = (WaypointsCount-1) then Index := 0;

if WaypointReached(WP[index,0],WP[index,1],WP[index,2],WP[index,3]) then

Index := Index +1;

 

WaypointToAction(WP[index,0],WP[index,1],WP[index,2],WP[index,3]);

 

Sleep(1000);

end;

end;

 

begin

updateworld

Stones := CountItemAmountFromOpenBackpack(1781);

if Stones < StonesAmount then Exit;

 

FollowWaypoint(CaveToDepotWaypoints);

 

While (Stones > 0) and (not terminated) do

begin

DepositeStones;

Sleep(WaitTime*1000);

updateworld;

Stones := CountItemAmountFromOpenBackpack(3031);

end;

if Terminated then Exit;

 

FollowWaypoint(DepotToCaveWaypoints);

 

Sleep(1000);

end;

C:\Program Files\TibiaBot NG\waypoints\[Femor hills] From goblins to depot.wpt' -tutaj daj swoje wp z goblinów do dp.

C:\Program Files\TibiaBot NG\waypoints\[Femor hills] From depot to goblins.wpt' - a tutaj z dp do goblinów.

Udostępnij ten post


Link to postu

Takie pytanko czy sam robisz te skrypty? Jak tak to gdybyś mogł przerobić ten na kamyczki żeby wracał gdy ma X capa a nie gdy X kamyczków. ;)

Udostępnij ten post


Link to postu

Proszę

Small Stone Depositor when x cap :

const

BackpackToEmpty = 1 // ID backpacka z kamyczkami

CaveToDepotWaypoints = 'tutaj z goblinow do dp'

DepotToCaveWaypoints = 'tutaj z dp do goblinow'

 

CapacityAmount = 100;

WaitTime = 5;

 

Function GetTileFromXYZ(X, Y, Z: integer): TTile;

begin

Result := nil;

if abs((Self.X - 7) - X) > 14 then Exit;

if abs((Self.Y - 5) - Y) > 11 then Exit;

if Self.Z <> Z then Exit;

Result := Screen.Tile[abs((Self.X - 7) - X), abs((Self.Y - 5) - Y)];

end;

 

Procedure UseTile(X,Y,Z: Integer);

Var

Tile: TTile;

begin

if Z = Self.Z then

begin

Tile := GetTileFromXYZ(X, Y, Z);

Tile.Item[1].Use;

end;

else Unreachable := True;

end;

 

Procedure UseRope(X,Y,Z: Integer);

begin

if Z = Self.Z then

begin

Self.Containers.UseItemWithGround(3003, X, Y, Z);

end;

else Unreachable := True;

end;

 

Procedure MoveTo(X,Y,Z: Integer);

begin

if Z = Self.Z then

begin

Self.MoveTo(X,Y,Z);

end;

else Unreachable := True;

end;

 

Procedure UseShovel(X,Y,Z: Integer);

var Tile: TTile

begin

if Z = Self.Z then

begin

repeat

Self.Containers.UseItemWithGround(5710, X, Y, Z);

Self.Containers.UseItemWithGround(3457, X, Y, Z);

Sleep(1000);

UpdateWorld;

Tile := GetTileFromXYZ(X, Y, Z);

until Tile.Item[0].Properties.Hole or Terminated

Self.MoveTo(X, Y, Z);

end;

else Unreachable := True;

end;

 

Procedure WaypointToAction(X,Y,Z,Action :Integer);

begin

UpdateWorld;

Case Action of

1: UseRope(X,Y,Z);

2: UseTile(X,Y,Z);

3: MoveTo(X, Y+1, Z+1);

4: MoveTo(X, Y-1, Z-1);

5: MoveTo(X, Y, Z-1);

6: MoveTo(X, Y, Z);

7: UseShovel(X,Y,Z-1);

8: MoveTo(X, Y, Z);

9: Sleep(X*1000);

else

MoveTo(X,Y,Z);

end;

end;

 

Function WaypointReached(X,Y,Z,Action :Integer): Boolean;

begin

UpdateWorld;

Result := False;

Case Action of

1: if (Z = Self.Z + 1) then Result := True;

2: if (Z = Self.Z + 1) then Result := True;

3: if (Z = Self.Z) then Result := True;

4: if (Z = Self.Z) then Result := True;

5: if (Z = Self.Z) then Result := True;

6: if ((X = Self.X) and (Y = Self.Y) and (Z = Self.Z)) then Result := True;

7: if (Z = Self.Z) then Result := True;

8: if (abs(Z - Self.Z) = 1) then Result := True;

9: Result := True;

else

if ((X = Self.X) and (Y = Self.Y) and (Z = Self.Z)) then Result := True;

end;

end;

 

Function CountWaypoints(FilePath: String): Integre;

Var

i: Integer

WaypointFile: TextFile

begin

i := 0

AssignFile(WaypointFile, FilePath);

ReSet(WaypointFile);

while not EoF(WaypointFile) do

begin

temp:= ReadLn(WaypointFile);

i := i+1;

end;

Result:= (i/4);

end;

 

Function ExtractWaypointsFromFile(FilePath: String; Count: Integer): Integre;

Var

i: Integr

WaypointsArray: Integer

WaypointFile: TextFile

begin

WaypointsArray := VarArrayCreate([0, Count - 1, 0, 3], $C);

AssignFile(WaypointFile, FilePath);

ReSet(WaypointFile);

for i:=0 to Count-1 do

begin

WaypointsArray[i,0] := StrToInt(ReadLn(WaypointFile));

WaypointsArray[i,1] := StrToInt(ReadLn(WaypointFile));

WaypointsArray[i,2] := StrToInt(ReadLn(WaypointFile));

WaypointsArray[i,3] := StrToInt(ReadLn(WaypointFile));

end;

CloseFile(WaypointFile);

Result := WaypointsArray;

end;

 

procedure DepositeStones;

begin

UpdateWorld;

A := nil;

for x := 6 to 8 do

begin

if x > 8 then break;

for y := 4 to 6 do

begin

if y > 6 then break;

for i := 0 to Screen.Tile[x,y].Count - 1 do

begin

if i >= Screen.Tile[x,y].Count then break;

if Screen.Tile[x,y].Item.properties.depot then

begin

A := Screen.Tile[x,y].Item;

break;

end;

SLEEP(50);

end;

end;

end;

if A <> nil then

if BackpackToEmpty > 0 then

begin

A.Open;

C := Self.Containers.Count;

Sleep(1500);

UpdateWorld;

if C <> Self.Containers.Count then

begin

for G := Self.Containers.Container[backpackToEmpty - 1].Count - 1 downto 0 do

begin

if G >= Self.Containers.Container[backpackToEmpty - 1].Count then break;

Self.Containers.Container[backpackToEmpty - 1].Item[G].MoveToContainer(Self.Containers.Container[self.Containers.Count - 1],20,0);

sleep(100);

end;

end;

end;

else if BackpackToEmpty = 0 then

begin

A.Open;

C := Self.Containers.Count;

Sleep(1500);

UpdateWorld;

if C <> Self.Containers.Count then

begin

for ok := 0 to self.containers.Count - 2 do

begin

if ok >= Self.Containers.Count - 1 then break;

for G := Self.Containers.Container[ok].Count - 1 downto 0 do

begin

if G >= Self.Containers.Container[ok].Count then break;

Self.Containers.Container[ok].Item[G].MoveToContainer(Self.Containers.Container[

elf.Containers.Count - 1],100,0);

sleep(100);

end;

end;

end;

end;

end;

 

function CountItemAmountFromOpenBackpack(ID: integer): integer;

var

x: integer;

y: integer;

begin

Result := 0;

for x := 0 to Self.Containers.Count - 1 do

begin

if x >= Self.Containers.Count then Break;

for y := 0 to Self.Containers.Container[x].Count - 1 do begin

if y >= Self.Containers.Container[x].Count then Break;

if Self.Containers.Container[x].Item[y].ID = ID then begin

Result := Result + Self.Containers.Container[x].Item[y].Amount;

end;

end;

end;

end;

 

Procedure FollowWaypoint(FilePath: String)

var block: integer;

begin

Index := 0

Unreachable := False

WaypointsCount := CountWaypoints(FilePath);

WP := ExtractWaypointsFromFile(FilePath, WaypointsCount);

 

while (Index <> (WaypointsCount-1)) and (not Terminated) do

begin

if Unreachable then

begin

Index := Index+1;

Unreachable := False;

end;

 

if Index = (WaypointsCount-1) then

begin

Index := 0;

end;

 

if WaypointReached(WP[index,0],WP[index,1],WP[index,2],WP[index,3]) then

Index := Index +1;

WaypointToAction(WP[index,0],WP[index,1],WP[index,2],WP[index,3]);

Sleep(1000);

 

end;

end;

 

begin

updateworld

if Self.Capacity > CapacityAmount then Exit;

 

FollowWaypoint(CaveToDepotWaypoints);

Stones:=CountItemAmountFromOpenBackpack(1781);

While (not terminated) and (Stones > 0) do

begin

DepositeStones;

Sleep(WaitTime*1000);

updateworld;

Stones:=CountItemAmountFromOpenBackpack(1781);

end;

 

FollowWaypoint(DepotToCaveWaypoints);

 

Sleep(1000);

end;

100 - przy jakiej ilości capa ma iść do dp.

Udostępnij ten post


Link to postu

co to ejst to wpt?? U mnei nei ma czegoś takiego :<


Szukam laski do 'napinania' w dupke... =]

Jak są chętne to pisać haha xD

Udostępnij ten post


Link to postu

WPT-Waypoint(s)


<!-- BEGIN COPY HERE --> <a title="Gewinnspiel Mafia" href="http://www.mafia1930.com/index.es?action=index&memberID=4548239" target="_blank"><img alt=" Online Game" src="http://www.mafia1930.com/img/pl/banner/themafia_468x60.gif?__cv=42bb9a9fa03a8868d82cf8726694c800" border="0"></a> <!-- END COPY HERE -->>

Udostępnij ten post


Link to postu

A jak mam je dodać ;/


Szukam laski do 'napinania' w dupke... =]

Jak są chętne to pisać haha xD

Udostępnij ten post


Link to postu

A mógłbyś mi napisać taki scrypt, że

 

Gdy ma X capa idzie do Thais do banku i mówi

"hi"

"deposit all"

"yes"

 

I niech mi ktoś to wpt wytłumaczy jak sie dodaje... :]

 

Z fibuli


Szukam laski do 'napinania' w dupke... =]

Jak są chętne to pisać haha xD

Udostępnij ten post


Link to postu

Menfis mam prosbe :)) Mogłbys zrobic skrypta na Auto login? :) Bo mam kicki 1minutowe i mnie wywala wtedy z tibi do panelu logowania ;p z gory dzieki ;)

@EDIT :) Juz znalazlem i dziala ;]

const

Account = 'NUMERkonta';

Password= 'Haslo';

Character = 'Nick';

World= 'Swiat';

Ip = ''; //don't write anything here

NumberOfBackpacks = 1;

 

var

x: integer;

 

procedure Login;

begin

repeat

Self.Login(Account, Password, Character, World, Ip);

for x := 0 to 200 do

begin

if Self.Connected then Break;

Sleep(100);

end;

Sleep(2000);

until Self.Connected;

end;

 

begin

while not Terminated do

begin

if not Self.Connected then

begin

Login;

UpdateWorld;

Self.Backpack.OpenInNewWindow;

for x := 0 to NumberOfBackpacks - 1 do

begin

if x >= NumberOfBackpacks then Break;

Sleep(2000);

UpdateWorld;

Self.Containers.Container[0].Item[x].OpenInNewWindow;

end;

end;

Sleep(1000);

end;

end;


TIBIA TO ZŁO i O!

Udostępnij ten post


Link to postu

No to ja mam problem

 

potrzeba mi skryptu że rybki będa na ziemi a skrypt je będzie zjadać

 

@potrzebuje mniej więcej coś takiego

wybieram jakiś sqm i jak jest przy tym sqm to zjada ryby z tego sqma NEED PLEAS :D


53bf9.png

Udostępnij ten post


Link to postu

Nie jestem pewien ale przelogowac bez wpisywania pasow nie da rady bo z tego co mi widaomo save server trwa okolo 10-15 min a jak jestes wylogowany to ta ramka znika po paru min (mniej niz 10 chyba). Ale to tylko Domysł. A swoja drogo potrzebuje skryptu na przechodzenie bramki lvl bo na expie jest i nie moze przejsc bot ;/

Udostępnij ten post


Link to postu

Menfis ;D Mam nadzieje ze postarasz sie mi pomoc :)) bo otoz mam taki problem ;] Posiadam Laptopa ;] no i jak kazdy wie ;p laptop nie ma klawiatury numerycznej a jest mi ona bardzo potrzebna;d pozniewaz xD w Ng po wcisnieciu klawiszy +/- na klawiaturze numerycznej mamy podglad tego poziomu ktory jest nad/pod nami ;D i chcialbym zebys zrobil mi jakiegos skrypta czy cos ;d z takim hotkeyem zebym mogl te klawisze +/- umiescic np na PgUp i PgDn ;)

z gory dzieki xD za pomoc dam oczywsice 5 ;>


TIBIA TO ZŁO i O!

Udostępnij ten post


Link to postu

No niby nie ma klawiatury numerycznej. Ale masz taki przcisk jak "FN" i gdy go trzymasz mozesz poslugiwac sie klawiatura numeryczna , która znajduje sie gdzie pod literkami. Prawdopodobnie sa tam normalne numerki tylko ze mniejsza i inna czcionką nadrukowane. xD (Mi na laptopie all ladnie chodzi ;p). Pozdro...

Udostępnij ten post


Link to postu
Od ostatniej odpowiedzi w tym temacie minęło 205 dni. Pamiętaj, że odkopywanie takich tematów jest niewskazane, chyba że chcesz wnieść coś nowego do dyskusji.

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
Okienko zamknie się za 5 sekund...