Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] z drzwiami Tibiaauto 10.30 TA 10.30


thorgal102

Rekomendowane odpowiedzi

Opublikowano

witam wszystkich.mam problem ,ale raczej prawie kazdy ma go jesli uzywa wgl tego bota.chodzi poprostu o drzwi niewiem dokladnie jak je otwierac tzn jak ustawic na bocie zeby otwieral :) prosze o dokladniutki opis

Opublikowano

spróbuj skrypta:

xxx

 

wypakowujesz, wrzucasz do folderu tibiaaauto/tascripts w tibiaauto> python scripts szukasz door opener i dajesz enable

a co to wgl ten skrypt xxx a po drugie wchodze w te foldery i tam niema python scipts ...

Opublikowano

spróbuj skrypta:

 

 

import time;
class ModuleItemBreecher:
WAYS = 7;
BREAK = 0;#Pots, Coal Basins, Plants
UNLOCK = 1;#Doors
CHOP = 2;#Tall Grass, Wild Growth
OPEN = 3;#Doors and Well
ADITO = 4;#Fields
SKIN = 5;#Minotaurs, dargons, lizards
STAKE = 6;#Demnons and vampires

OBJECT = 0;
WITH = 1;


openSleepCount=0;

UNCOVER = dict.fromkeys([435,593,608,606,0xfab,0xfb9,0xfdd,4321,4324,4327,4047,4052,4057,3696,7200]); #sewer, closed sand hole, closed grass hole, closed ice hole, skinnable monsters

ITEMS=dict.fromkeys(range(WAYS));

for x in ITEMS.keys():
ITEMS[x] = dict.fromkeys([0,1]);

#Pot,Trough - Coal Basins, Plants, Webs,Bamboo Walls
ITEMS[bREAK][OBJECT] = dict.fromkeys([3465,2358,2359,2360,2361,2319,182,183,2295,2296,2025,2029,2030,2043,2044,2045,2046,2047,2048,2059,2060,
2061,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,
2465,2466,2467,2468,2524,2904,2959,2960,2961,2962,2963,
2964,2975,2976,2979,2982,2986,2997,2998,2999,3000,3484,
3485,3486,3487,3510,3511,3512,3513,5046,5055,5056,5102,5111,5120,5129,6109,
6110,6111,6112,6367,6368,6369,6370,2473,2471,2472,2315]);
#Knife, Dagger, Scythe, Disintegrate - weapons
ITEMS[bREAK][WITH] = dict.fromkeys([0xcdb,0xcc3,0xd7d,0xc7d,3286,3308,3273,3292,3268]);

#Locked Doors
ITEMS[uNLOCK][OBJECT] = dict.fromkeys([1631,1638,1640,1656,1658,1685,1694,5082,5084,5100,5109,5118,
5127,5283,5285,5514,5516,6197,6199,6248,6254,6256,6894,6903,
7036,7045,7054,7056,7717,7719,8255,8257,8357,8359]);
#Keys
ITEMS[uNLOCK][WITH] = dict.fromkeys([0xb97,0xb98,0xb99,0xb9a,0xb9b,0xb9c,0xb9d]);

#Tall Grass, Wild Growth
ITEMS[CHOP][OBJECT] = dict.fromkeys([3696,2130,183,182]);
#Machete,heavy machete
ITEMS[CHOP][WITH] = dict.fromkeys([0xcec,0xd02]);

#Closed Doors and Well
ITEMS[OPEN][OBJECT] = dict.fromkeys([1628,1629,1631,1632,1648,1650,1651,1653,1654,1668,1669,1671,
1672,1682,1683,1691,1692,4912,4913,5006,5007,5097,5098,5102,
5106,5107,5115,5116,5124,5125,5133,5134,5136,5137,5139,
5140,5142,5143,5277,5278,5280,5281,5732,5733,5735,5736,
6191,6192,6194,6195,6248,6249,6251,6252,6264,6891,6892,6900,
6901,7033,7034,7042,7043,7711,7712,7714,7715,8249,8250,
8252,8253,8351,8352,8354,8355,5291,6264,5293,8618,1931]);#well,1931
#Nothing
ITEMS[OPEN][WITH] = dict.fromkeys([]);

#All Harmful Fields
ITEMS[ADITO][OBJECT] = dict.fromkeys([2118,2119,2121,2122,2123,2124,2126,2127]);
#Adito Grav Rune
ITEMS[ADITO][WITH] = dict.fromkeys([0xc4c]);

#Dead skinable monsters
ITEMS[sKIN][OBJECT] = dict.fromkeys([4011,4025,4047,4052,4057,4062,4272,4286,4321,4324,4327,8106,4112,4212]);
#Obsidian Knife
ITEMS[sKIN][WITH] = dict.fromkeys([5908]);

#Dead stakable monsters
ITEMS[sTAKE][OBJECT] = dict.fromkeys([4097,4137]);
#Blessed Wooden Stake
ITEMS[sTAKE][WITH] = dict.fromkeys([0x1736]);

#Special: Contains pairs of items. For using only one unique item on one unique object
for x in [(0xd80,355),(3653,3453),(1944,3605),(12183,3460),(12184,3460),(12185,3460)]:#,(4173,3469)]:#(pick,mud),(Wheat,Scythe),(wheat,mill),(kitchen knife,rabbit)
ITEMS[WAYS]=dict.fromkeys([0,1]);
ITEMS[WAYS][OBJECT]=dict.fromkeys([x[0]]);
ITEMS[WAYS][WITH]=dict.fromkeys([x[1]]);
WAYS+=1;


def getName(self):
return "Item Breecher";

def getVersion(self):
return "1.0";

def getFunDef(self,nr):
if (nr==0): return (0,500,self.unbreech);
if (nr==1): return (0,3000,self.uncover);
return();

def getConfigParam(self,nr):
if (nr==0): return ('destroyFields','0-Def,1-On');
if (nr==1): return ('uncoverItemPiles','0-Def,1-On This uncovers tiles with more than 8 items on them');
if (nr==2): return ('shovePlayers','0-Def,1-On This will push people away from you and out of your way.');
return();

def destroy(self,itemType,itemID,x,y,i):
me=tareader.readSelfCharacter();
for contNr in range(taitem.getValueForConst('maxContainers')):
cont=tareader.readContainer(contNr);
if cont['flagOnOff'] :
for itemNr in range(cont['itemsInside']):
item=tareader.readContainerItem(contNr,itemNr);
if self.ITEMS[itemType][self.WITH].get(item['objectId'],0)!=0:
tasender.useWithObjectFromContainerOnFloor(item['objectId'], 0x40+contNr, itemNr, itemID,x,y,me['z'],2);

time.sleep(.3);
if itemType != self.UNLOCK:
return;
slotJump=taitem.getValueForConst("lengthItem")
slotStart=taitem.getValueForConst("addrSlotArrow");
for slotNr in range(1,10+1):
slotAddr=slotStart+(slotNr-1)*slotJump;
item=tareader.readItem(slotAddr);
if self.ITEMS[itemType][self.WITH].get(item['objectId'],0)!=0:
tasender.useWithObjectFromContainerOnFloor(item['objectId'], slotNr, 0, itemID,x,y,me['z'],2);
#print (item['objectId'], slotNr, 0, itemID,x,y,me['z'], 2)
time.sleep(.3);
if itemType != self.UNLOCK:
return;
return;

def unbreech(self,params):
self.openSleepCount+=1;
if self.openSleepCount>100000: self.openSleepCount=10;
me=tareader.readSelfCharacter();
for y in range(-1,2):
for x in range(-1,2):
topPos=tareader.mapGetPointTopPos(x,y,0);
itemID = tareader.mapGetPointItemId(x,y,0,topPos);
for means in range(self.WAYS):
#print self.ITEMS[means];
if self.ITEMS[means][self.OBJECT].get(itemID,0) != 0:
if means != self.OPEN and (means != self.ADITO or params['destroyFields'] == '1'):
self.destroy(means,itemID,me['x']+x,me['y']+y,topPos);
elif means == self.OPEN and self.openSleepCount>6:
face = [-abs(me['lookDirection']%4-1)+1,-abs(me['lookDirection']%4-2)+1];
if (face[0]*x + face[1]*y)>=0:
tasender.useItemOnFloor (itemID,me['x']+x,me['y']+y,me['z']);
self.openSleepCount=0;
return;

def findSpaces(self,rad,playerBlock=0):
me=tareader.readSelfCharacter();
ans=[];
for x in range(-rad,rad+1):
for y in range(-rad,rad+1):
if tamap.isPointAvailableNoProh(me['x']+x,me['y']+y,me['z']) and ((not playerBlock) or tareader.mapGetPointSeenOnTopPos(x,y,0)==tareader.mapGetPointTopPos(x,y,0)):#player not on top.
ans+=[(x,y)];
return ans;

def uncover(self,params):
me=tareader.readSelfCharacter();
for y in range(-1,2):
for x in range(-1,2):
stack = tareader.mapGetPointItemsCount(x,y,0);
topPos = tareader.mapGetPointTopPos(x,y,0);
items=[];
for i in range(topPos,stack):
items+=[(i,(tareader.mapGetPointItemId(x,y,0,i)))];
for i in range(topPos-1,-1,-1):
items+=[(i,tareader.mapGetPointItemId(x,y,0,i))];
for i in range(len(items)):
itemID = items[1];
if self.UNCOVER.get(itemID,0) != 0 or (itemID==99 and params['shovePlayers'] == '1' and not x==y==0) or (i==9 and params['uncoverItemPiles'] == '1') or (items[i-1][1]==99 and not(x==0 and y==0) and params['shovePlayers'] == '1' and 100<tareader.mapGetPointItemExtraInfo(x,y,0,items[i-1][0],1)<0x40000000):
for j in range(0,min(len(items)-topPos,i)):
itemID = items[j][1];
quant = tareader.mapGetPointItemExtraInfo(x,y,0,items[j][0],1);
if quant ==0 or quant > 100: quant = 1;
a1=a2=k=0;
spaces=self.findSpaces(2,itemID==99);
spaceFound=0;
for k in range(len(spaces)):
r=random.randint(0,len(spaces)-1);
a1=spaces[r][0];
a2=spaces[r][1];
spaces=spaces[:r]+spaces[r+1:];
if tamap.isPointAvailableNoProh(me['x']+a1,me['y']+a2,me['z']) and not(a1==x and a2==y):
if itemID!=99 or (abs(x-a1)<=1 and abs(y-a2)<=1) and (a1!=0 or a2!=0):
if params['shovePlayers']=='0' or abs(a1)>=2 or abs(a2)>=2:
spaceFound=1;
break;
if spaceFound:
tasender.moveObjectFromFloorToFloor(itemID,me['x']+x,me['y']+y,me['z'],me['x']+a1,me['y']+a2,me['z'],max(quant,1));
time.sleep(.4);
else:
print "failed to find a space to move item to ",spaces;

return;

tibiaauto.registerPlugin(ModuleItemBreecher);

 

 

 

kopiujesz, zapisujesz go jako door opener.py (rozszerzenie ma być .py) wrzcuasz do folderu tibiaauto/tascripts.

 

ewentualnie ściągasz stąd gotowy

http://speedy.sh/4prwf/Door-opener.py
skan: https://www.virustotal.com/pl/file/a75189113ca39f32c86efefa5128645249b4351b12b10f74bce8b548826a7f04/analysis/

i wrzucasz go do tibiaauto/tascripts

 

następnie w bocie tibiaauto w głównym menu szukasz python scripts i dajesz enable przy door opener.

52126142219396245817.jpeg

Opublikowano

wlaczylem tibiauato tam te python scripts i tam kliknalem load i pisze ,,loading scripts failed:there must be a call to tibiaauto.registerPlugin()(5/5)

juz nawet przy samym wlaczaniu taki blad jest tylko ze w nawiasie jest (2/2) ..

Opublikowano

nie ma łatwiejszego sposobu, jedynie przez ten skrypt.

ten błąd wyskakuj, ale skrypt się włącza czy nie?

 

i jak zainstalowałeś pythona 2.4.4 to z folderu tibii usuń plik python24.dll :)

 

możesz spróbować jeszcze to

skan: https://www.virustotal.com/pl/file/77549015a21d3877257f5e78d76d0b92c6ab3a8e396916128a2927f5733c8c21/analysis/1387212393/

wypakowujesz, klikasz prawym myszki> scal> ok

to jest fix (chyba) na ten błąd z tibiaauto.registerPlugin :P

52126142219396245817.jpeg

Opublikowano

tzn niby niema go tam w tych python scripts ale jak mam wlaczony tibiaauto to niemoge usunac tego skryptu (open.door) poniewaz pisze ze niemozna usunac uzywanego skryptu o.O?A ten program probowalem i nadal blad wyskakuje

czyli co brak pomyslow juz? :( moze jakies bede szukal te skrypty z waypointami i ktos moze poprostu bedzie mial to zrobione czy cos ..

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...