Tibia, NG Bot, Elf Bot, IBot, NeoBot, Redbot Waypointy, Skrypty, Tutoriale, Poradniki, Problemy Strona Główna


Poprzedni temat «» Następny temat
Ucieczka w wyznaczone miejsce
Autor Wiadomość
Semran 


Dołączył: 03 Sie 2009
Posty: 113
Skąd: Konin
Wysłany: 2009-08-07, 00:29   Ucieczka w wyznaczone miejsce

Ucieczka w wyznaczone miejsce gdy ktoś nas zaatakuje oraz powrót gdy ktoś nas przesunie. Na początku idziemy w miejsce gdzie ma uciekać i wpisujemy w dowolnym kanale "destpos" (wielkość liter ma znaczenie, no i oczywiście bez "") powinno nam wyświetlić jaki jest X,Y,Z miejsca ucieczki, a potem idziemy w miejsce które ma być startowa pozycją i wpisujemy "startpos". Od tej chwili jeżeli ktoś nas zaatakuje, bot ucieknie w miejsce w którym wpisaliśmy "destpos", a jeżeli się ruszymy, albo ktoś nas przesunie (oczywiście z wyłączeniem ucieczki) bot wróci na miejsce w którym wpisaliśmy "startpos"). Żeby skończyć, albo stopujemy skrypt w Scripterze (w dolnym prawym rogu sa pokazane uruchomione skrypty, klikamy prawym na nazwę i "stop script") albo piszemy "stop" tez w obojętnym kanale.


Kod:
var
    koniec,startPos,destPos:boolean;
    destX,destY,destZ:integer;
    startX,startY,startZ:integer;

function GoToPos(x,y,z:integer):boolean;
var
    i:integer;
begin
    return:=false;
    self.moveto(x,y,z);
    for i:=0 to 10 do
    begin
       if (self.x=x) and (self.y=y) and (self.z=z) then
       begin
          return := true;
          exit;
       end;
       sleep(500);   
    end; 
end;

procedure Event_Attacked(ID: integer);
var
    i:integer;
begin
    if (startpos=true) and (destpos=true) then
    begin
       for i:=1 to 5 do
       begin
          if GoToPos(destX,destY,destZ) then
          begin
             koniec:=true;
             exit;
          end;
       end;
    end;
end;

procedure getDestPos;
begin
    destX := self.x;
    destY := self.y;
    destZ := self.z;
    self.displaytext('DestX='+inttostr(destX)+'; destY='+inttostr(destY)+'; destZ='+inttostr(destZ));
    destPos:=true;
end;

procedure getStartPos;
begin
    startX := self.x;
    startY := self.y;
    startZ := self.z;
    self.displaytext('StartX='+inttostr(startX)+'; startY='+inttostr(startY)+'; startZ='+inttostr(startZ));
    startPos:=true;
end;

procedure Event_Message(Channel: integer; Name, Text: String);
begin
    if name=self.name then
    case text of
       'stop': koniec:=true;
       'destpos': getDestPos;
       'startpos': getStartPos;
    end;
end;

procedure checkpos;
var
    i:integer;
begin
    if ((self.x<>startX) or (self.y<>startY) or (self.z<>startZ)) then
    begin
       GoToPos(startX,startY,startZ) 
    end;
end;

begin
    koniec :=false;
    destpos := false;
    startpos:=false;
    while not koniec do
    begin
       updateworld;
       ProcessEvents;
       if (startpos=true) and (destpos=true) then
       begin
          updateworld;
          checkpos;
       end;
       sleep(1000);         
    end;
end;




DOWN: Spróbuj teraz coś musiało być nie tak, poprawiłem skrypta, jeśli nadal będzie szwankował to ja już nie wiem, mi działa. Nie pomagam na gg, tylko forum
_________________
jestem jak kot na pustyni...nie ogarniam tej kuwety

Ostatnio zmieniony przez Semran 2009-08-07, 21:15, w całości zmieniany 2 razy  
 
 
alexander
[Usunięty]

Wysłany: 2009-08-07, 20:54   

Czesc, bardzo ciekawy skrypcioszek
lecz jest jedno "ale" gdy stawiam postac ona po jakims czasie idzie do punktu destpos
czym jest to spowodowane?
Ostatnio zmieniony przez alexander 2009-08-08, 07:10, w całości zmieniany 1 raz  
 
 
Damik 
Administrator


Wiek: 26
Dołączył: 10 Lip 2009
Posty: 180
Skąd: Rzeszów
Wysłany: 2009-08-07, 21:17   

alexander napisał/a:
Czesc, bardzo ciekawy skrypcioszek
lecz jest jedno "ale" gdy stawiam postac ona po jakims czasie idzie do punktu destpos
czym jest to spowodowane?

Jak bys mogl odezwij sie do mnie na gg Semran :279176


alexander, forum jest po to aby na nim udzielać pomocy :)
 
 
Boski Mihau 

Dołączył: 21 Paź 2010
Posty: 1
Wysłany: 2010-10-22, 23:53   

Mam taki problem. Bo ten scrypt zrobiono dla MAGA a jak bym chcial kinem skilac to mnie musi bic Rat i w tedy bot ucieka do domku. Da sie jakos rata ominac? Albo zrobic zeby tylko na PK reagowalo. ??? PLZ HELP :( :( :(
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group - Mapa Forum
Style created by Kula & Gozda