collapse collapse
* User Info
 
 
Welcome, Guest. Please login or register.
* Search

* Board Stats
  • stats Total Members: 989
  • stats Total Posts: 18363
  • stats Total Topics: 2500
  • stats Total Categories: 7
  • stats Total Boards: 35
  • stats Most Online: 1144

Author Topic: Refuge of Apostate Request.  (Read 4059 times)

0 Members and 1 Guest are viewing this topic.

Offline Rufussondheim

  • BeBot Rookie
  • *
  • Posts: 2
  • Karma: +0/-0
Refuge of Apostate Request.
« on: April 12, 2011, 07:06:33 pm »
I am dumb or I would do it.  But is it possible for someone to redo the timeraa module so one could keep track of one's lockout on the refuge of the apostate solo instance.

Offline Zeephonz

  • BeBot User
  • **
  • Posts: 43
  • Karma: +0/-0
Re: Refuge of Apostate Request.
« Reply #1 on: April 13, 2011, 03:02:51 am »
It's probably not the right module.

Would be better to add Apostate to the !bound plugin, and should be easy to change yourself when you look at it.

Offline keirou

  • BeBot Apprentice
  • ***
  • Posts: 90
  • Karma: +0/-0
Re: Refuge of Apostate Request.
« Reply #2 on: April 13, 2011, 11:18:11 am »
iirc !bound is set to auto clear when raids reset -- refgue is 20hrs from when you kill the last boss and leave the instance.

Offline Rufussondheim

  • BeBot Rookie
  • *
  • Posts: 2
  • Karma: +0/-0
Re: Refuge of Apostate Request.
« Reply #3 on: April 14, 2011, 06:56:45 pm »
the !timeraa module would be better, although it would be too complex.

I know nothing about programming.  Can't even tell what language the code is in.  So even if I did have the confidence to do it, I doubt I could.

It's ok if it's not done, it's just a request, a few of us in a pug raid thought it would be useful to a  lot of people.

Offline Patromonus

  • BeBot Rookie
  • *
  • Posts: 12
  • Karma: +0/-0
Re: Refuge of Apostate Request.
« Reply #4 on: April 14, 2011, 08:44:36 pm »
i called mine Locked and it is the timeraa module indeed ( i had the same idea )

Code: [Select]
<?php
/*
* locked.php - locked.
* <Copyright Getrix @ Fury AoC>
* <Credits>
*   [email protected]
*   [email protected]/Crom
*   [email protected]
* </Credits>
*/
$version "b1.0.5 - 2010-10-09";
// b1.0.5 Added optional name of AA being trained (Thanks to [email protected])
// b1.0.4 Rewrote "showall" to sort the timers by when they run out. Also cleaned it up a bit so it now does all the work in a single query instead of doing one per toon. (Credits: [email protected]/Crom)
// b1.0.3 Added "timeraa showall <nick>" to include alts of a chars. (Thanks to [email protected])
// b1.0.2 Recoded diff calculation and some minor text changes
// b1.0.1 Command access fixed and change in database. Clean of old structur needed (DROP #__timer_aa)
// b1.0.0 First release.
/*
* BeBot - An Anarchy Online & Age of Conan Chat Automaton
* Copyright (C) 2004 Jonas Jax
* Copyright (C) 2005-2007 Thomas Juberg StensÃ¥s, ShadowRealm Creations and the BeBot development team.
*
*/

$locked = new locked($bot);
$locked -> version $version;

class 
locked extends BaseActiveModule
{
    var 
$version;

    function 
__construct (&$bot)
    {
        
/* Constructor: Hands over a referance to the "Bot" class. */
        //Initialize the base module
        
parent::__construct(&$botget_class($this));

        
$this -> bot -> db -> query("CREATE TABLE IF NOT EXISTS " $this -> bot -> db -> define_tablename("locked_refuge""true") . " (
            `Locked_id` int(11) NOT NULL AUTO_INCREMENT,
            `Locked_username` varchar(255) DEFAULT NULL,
            `Locked_start` varchar(255) DEFAULT NULL,
            `Locked_end` varchar(255) DEFAULT NULL,
            `Locked_cooldown` int(11) DEFAULT NULL,
            PRIMARY KEY (`Locked_id`))"
);

        
$this -> update_table();

        
$this -> register_command('all''locked''MEMBER');
        
$this -> help['description'] = "This module helps you keep track the instance locked time of refuge.";
        
$this -> help['command']['locked show <nick>'] = "Show how long time left on refuge.";
        
$this -> help['command']['locked showall <nick>'] = "Show how long time left on refuge on all chars for user.";
        
$this -> help['command']['locked set 18'] = "Set the time for current refuge. Only use hours.";
        
$this -> help['command']['locked set 18 <name of zone>'] = "Set the training time for current refuge. Only use hours, with optional name of zone.";
        
$this -> help['notes'] = "(C) Module By Pat\n";
    }

    function 
update_table()
    {
        Switch(
$this -> bot -> db -> get_version("locked_refuge"))
        {
            case 
1:
                
$this -> bot -> db -> update_table("locked_refuge""locked_name""add",
                    
"ALTER IGNORE TABLE #___locked_refuge ADD locked_name varchar(100)");
            Default:
        }
        
$this -> bot -> db -> set_version("locked_refuge"2);

    }

    function 
command_handler($name$msg$origin)
    {
        
/*
            Unified message handler
            $source: The originating player
            $msg: The actual message, including command prefix and all
            $type: The channel the message arrived from. This can be either "tell", "pgmsg" or "gc"
        */
        
$com $this->parse_com($msg);
        switch(
$com['com'])
        {
            case 
'locked':
                return(
$this -> sub_handler($name$com1));
            break;
            default:
                return 
"Error 1";
            break;
        }
    }

    function 
sub_handler($name$com$type)
    {
        switch(
$com['sub'])
        {
            case 
'set':
                return(
$this -> timer_set($name$com['args']));
            break;
            case 
'show':
                return(
$this -> timer_show($name$com['args']));
            break;
            case 
'showall':
                return(
$this -> timer_show_all($name$com['args']));
            break;
            default:
                
//return($this -> donate($name, $com['sub']));
                
return("Not added");
            break;
        }
    }

    function 
timer_set($name$args) {
        
$arr  =  explode(" "$args);
        
$firstspace strpos($args' ');

        
$locked_username mysql_real_escape_string($name);
        
$locked_cooldown mysql_real_escape_string($arr[0]);
        
$locked_start    time();
        
$locked_end      $this->utime_add($locked_start$locked_cooldown);
        
$locked_name     "";
        if (
$firstspace != 0)
            
$locked_name substr($args$firstspace 1);

        if (!
is_numeric($locked_cooldown)) { return $locked_cooldown." is not a number"; }

        
$chk_time $this -> bot -> db -> select("SELECT * FROM #___locked_refuge WHERE locked_username='$name'");
        if (empty(
$chk_time)) {
           
$sql "INSERT INTO #___locked_refuge (locked_username, locked_cooldown, locked_start, locked_end, locked_name) VALUES ('$locked_username', '$locked_cooldown', '$locked_start', '$locked_end', '$locked_name')";
        }
        else {
           
$sql "UPDATE #___locked_refuge  SET locked_username='$locked_username', locked_cooldown='$locked_cooldown', locked_start='$locked_start', locked_end='$locked_end', locked_name='$locked_name' WHERE locked_username='$name'";
        }

        
$this -> bot -> db -> query($sql);
        return 
"refuge time set for ##lime##$locked_username##end## with Cooldown ##fuchsia##$locked_cooldown##end## ##aqua##$locked_name##end##";
    }


    function 
timer_show($name$args) {
        if (!empty(
$args)) {
          
$name mysql_real_escape_string($args);
        }

        
$chk_time $this -> bot -> db -> select("SELECT * FROM #___locked_refuge WHERE locked_username='$name'");
        if (!empty(
$chk_time)) {
            foreach (
$chk_time as $refuge) {
                
$locked_start      $refuge[2];
                
$locked_end        $refuge[3];
                
$locked_ends       date("M d H:i:s",$locked_end);
                
$locked_cooldown   $refuge[4];
                
$locked_name       $refuge[5];
                
$today  time();
                
$diff $this->get_time_difference($today$locked_end);

                return 
"Offline Instance Timer ##lime##$name##end## ends $locked_ends (##fuchsia##$diff left of $locked_cooldown hrs##end##) ##aqua##$locked_name##end##";
            }
        }
        else { return 
"No timer set"; }
    }

    function 
timer_show_all($name$args) {
        if (!empty(
$args)) {
          
$name mysql_real_escape_string($args);
        }

        
$findmain $this -> bot -> db -> select("SELECT main FROM alts WHERE alts.alt='$name'");
        if (empty(
$findmain)) {$main=$name;}
        else {
$main current($findmain[0]);}
        
$output "<Center>##ao_infoheadline##:::: Offline timer info for $main and alts ::::##end##</Center>".$this->brfix(2);

      
$notsetoutput $this->brfix()."<Center>##ao_infoheadline##:::: No timers ::::##end##</Center>".$this->brfix(2);
      
$chk_time $this -> bot -> db -> select("SELECT #___locked_refuge.*, alts.alt FROM alts LEFT OUTER JOIN #___locked_refuge ON alts.alt = locked_username WHERE alts.main = '$main' UNION SELECT #___locked_refuge.*, '$main' AS alt FROM #___locked_refuge WHERE locked_username = '$main' ORDER BY locked_end ASC");
      if (!empty(
$chk_time)) {
         foreach (
$chk_time as $refuge) {
           
$locked_start      $refuge[2];
           
$locked_end        $refuge[3];
           
$locked_ends       date("M d H:i:s",$locked_end);
           
$locked_cooldown   $refuge[4];
           
$locked_name        $refuge[5];
           
$today  time();
           
$diff $this->get_time_difference($today$locked_end);
           if (!empty(
$refuge[1])) $output .= "##lime##".$refuge[6]."##end## ends $locked_ends (##fuchsia##$diff left of ".$locked_cooldown."hrs##end##) ##aqua##$locked_name##end##".$this->brfix();
           else 
$notsetoutput .= $refuge[6].$this->brfix();
         }
      }

        
$output $this -> bot -> core("tools") -> make_blob("refuge timers for ##lime##$main##end##"$output.$notsetoutput);
        return 
$output;
    }

    function 
utime_add($unixtime$hr=0$min=0$sec=0$mon=0$day=0$yr=0) {
        
$dt localtime($unixtimetrue);
        
$unixnewtime mktime(
        
$dt['tm_hour']+$hr$dt['tm_min']+$min$dt['tm_sec']+$sec,
        
$dt['tm_mon']+1+$mon$dt['tm_mday']+$day$dt['tm_year']+1900+$yr
        
);
        return 
$unixnewtime;
    }

    function 
get_time_difference$start$end ) {
    
$uts['start']      =    $start ;
    
$uts['end']        =    $end ;
        if( 
$uts['start']!==-&& $uts['end']!==-) {
            if( 
$uts['end'] >= $uts['start'] ) {
                
$diff    =    $uts['end'] - $uts['start'];
                if( 
$days=intval((floor($diff/86400))) )
                    
$diff $diff 86400;
                if( 
$hours=intval((floor($diff/3600))) )
                    
$diff $diff 3600;
                if( 
$minutes=intval((floor($diff/60))) )
                    
$diff $diff 60;
                
$diff    =    intval$diff );
                
$diffs = array();
                if (
$days    != "0") { $diffs['days']    = $days; }
                if (
$hours   != "0") { $diffs['hours']   = $hours; }
                if (
$minutes != "0") { $diffs['minutes'] = $minutes; }
                if (
$seconds != "0") { $diffs['seconds'] = $diff; }
                foreach (
$diffs as $key=>$df) {
                    
$diff_text .= $df." ".$key." ";
                }
                return 
$diff_text;

            }
        else { return 
"0"; }
        }
        else { return 
"Invalid date/time data detected"; }
        return( 
false );
    }

    function 
brfix($count=1) {
        if (
$count == 2) { $br "<b></b><br><b></b><br>";}
        elseif (
$count == 3) { $br "<b></b><br><b></b><br><b></b><br>"; }
        else { 
$br "<b></b><br>"; }
        return 
$br;
    }
}
?>
Cotsbot/Crimsonbot/Doomsbot/Hotbot/Crubot

Offline SalmonSeller

  • BeBot User
  • **
  • Posts: 23
  • Karma: +0/-0
Re: Refuge of Apostate Request.
« Reply #5 on: April 19, 2011, 08:29:17 am »
I just use the !timer module on my main to keep track of the lockout. It can have multiple timers running. The only issue is I have to log on to my main after my alt runs to set it, and you can't check it from any toon like the AA one.

Offline Kentarii

  • BeBot Apprentice
  • ***
  • Posts: 153
  • Karma: +0/-0
    • AoC>TV
Re: Refuge of Apostate Request.
« Reply #6 on: April 20, 2011, 02:49:06 am »
Another useful application I used for tracking AA before I made AAMon was Swizztool.
It lets you add timers and sits neatly in the tray until the timer runs out.
http://www.specop.se/index.php?action=swizztool

Offline Getrix

  • Contributor
  • *******
  • Posts: 509
  • Karma: +0/-0
Re: Refuge of Apostate Request.
« Reply #7 on: May 02, 2011, 11:09:40 am »
Success is not final, failure is not fatal: it is the courage to continue that counts.
- Sorry, i dont have time to reply question on PM. Make a topic.

 

* Recent Posts
[AoC] special char for items module by bitnykk
[February 09, 2024, 09:41:18 pm]


0.8.x updates for AoC by bitnykk
[January 30, 2024, 11:16:08 pm]


0.8.x updates for AO by bitnykk
[January 30, 2024, 11:15:37 pm]


BeBot still alive & kicking ! by bitnykk
[December 17, 2023, 12:58:44 am]


Bebot and Rasberry by bitnykk
[November 29, 2023, 11:04:14 pm]

* Who's Online
  • Dot Guests: 320
  • Dot Hidden: 0
  • Dot Users: 0

There aren't any users online.
* Forum Staff
bitnykk admin bitnykk
Administrator
Khalem admin Khalem
Administrator
WeZoN gmod WeZoN
Global Moderator
SimplePortal 2.3.7 © 2008-2024, SimplePortal