• logo_cipsoft
    Nowe serwery zostały otwarte 27 Paź 2025:
    Idyllia (Optional PvP) Hostera (Open PvP) us_logo Dracobra (Open PvP)

- TibiaAuto [TA] Stanie na ukos od potwora-pro?ba

Status
Zamknięty.

Mixal0

User
Witam mam do was pro?b? m?g?by mi kto? zrobi? SKRYPTA(nie konfiguracje.xml)
do tibia auto ?eby sta? na ukos od potwora jest takie co? na forum tibia auto

?ci?gn??bym to sam ale nie chc? mi przys?a? potwierdzenia na e-mail wiec was o to prosz?

Link bepo?redni
 
Odp: [TA] Stanie na ukos od potwora-pro?ba

Sprawd? ten skrypt, my?l? ?e zadzia?a..

PHP:
class ModuleStandDiagonal:# MUST HAVE MAP RESEARCHED!!!!
    DiagOn = 1;
    itemId=0;
    itemX=0;
    itemY=0;
    itemPos=0;
    killTime=0;

    def getName(self):
        return "Stand Diagonal"

    def getVersion(self):
        return "1.00"

    def getFunDef(self,nr):
        if (nr==0): return (2,0,self.toggle);
        if (nr==1): return (0,300,self.diag);
        return ();

    def getConfigParam(self,nr):
        return ();

    def toggle(self,params,mess):
        selfCh = tareader.readSelfCharacter();
        if mess == "%ta diag":
            self.DiagOn = not(self.DiagOn);
            tasender.sendTAMessage('Stand Diagonal is '+ str(self.DiagOn));
        return();

    def facing(self,direction):
        return [-abs(direction%4-1)+1,-abs(direction%4-2)+1];

    def diag(self,params):
        if self.DiagOn:
            monsterID = tareader.getAttackedCreature();
            selfCh = tareader.readSelfCharacter();
            blockedPoints=[];
            for i in range(4):
                face = self.facing(i)
                for j in range(tareader.mapGetPointItemsCount(face[0],face[1],0)):
                    if tareader.mapGetPointItemId (face[0],face[1],0,j) == 99:
                        if monsterID == 0: monsterID = tareader.mapGetPointItemExtraInfo(face[0],face[1],0,j,1);
                        blockedPoints+=[(selfCh['x']+face[0],selfCh['y']+face[1],selfCh['z'])];
            if monsterID!=0 and monsterID > 0x40000000:
                if time.time()-self.killTime<2: return;
                monster = tareader.getCharacterByTibiaId(monsterID);
                face = self.facing(monster['lookDirection'])
                monToMe = [(selfCh['x']-monster['x']),(selfCh['y']-monster['y'])]
               
                if (face[0]*monToMe[0] + face[1]*monToMe[1]) >=0 and abs(monster['x'] - selfCh['x'])+abs(monster['y'] - selfCh['y'])==1:
                    possiblePoints=[];
                    for x in range(-1,2,2):
                        for y in range(-1,2,2):
                            pt=(selfCh['x']+x*(monster['y'] - selfCh['y']),selfCh['y']+y*(monster['x'] - selfCh['x']),selfCh['z']);
                            if possiblePoints.count(pt)==0 and blockedPoints.count(pt)==0 and tamap.isPointAvailableNoProh(pt[0],pt[1],pt[2]) and not tamap.getPointUpDownNoProh(pt[0],pt[1],pt[2]):
                                possiblePoints+=[pt];
                    if len(possiblePoints)==0: return;
                    ind=random.randint(0,len(possiblePoints)-1);
                    tasender.walkOnTAMap(possiblePoints[ind][0],possiblePoints[ind][1],possiblePoints[ind][2]);
            else: self.killTime=time.time();
        return;
tibiaauto.registerPlugin(ModuleStandDiagonal);
 
Status
Zamknięty.
Back
Do góry Bottom