Mercurial > eagle-eye
comparison flash.pl @ 371:0522468991c1
added flash attacking script.
author | "Rex Tsai <chihchun@kalug.linux.org.tw>" |
---|---|
date | Tue, 14 Apr 2009 16:59:14 +0800 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
370:ba1643654e6d | 371:0522468991c1 |
---|---|
1 #!/usr/bin/perl | |
2 | |
3 use strict; | |
4 use Ikariam; | |
5 use Ikariam::CitiesRules; | |
6 use Data::Dumper; | |
7 use Decision::ParseTree q{ParseTree}; | |
8 use YAML qw/LoadFile Dump DumpFile/; | |
9 | |
10 package main; | |
11 my $cityId = 95780; | |
12 my $cities = {}; | |
13 | |
14 our $i = new Ikariam($::server, $::user, $::pass); | |
15 $i->login; | |
16 $i->changeCity($cityId); | |
17 $cities->{$cityId} = $i->checkCity($cityId); | |
18 | |
19 # Genereic rules for both overall and city level arranagement. | |
20 my $rules = Ikariam::CitiesRules->new($i); | |
21 my $tree = LoadFile('flash-city.yaml'); | |
22 $cities->{$cityId}->{parse_path} = []; | |
23 $cities->{$cityId}->{parse_answer} = undef; | |
24 if (my $action = ParseTree($tree, $rules, $cities->{$cityId})) { | |
25 triggerAction($action, $cityId); | |
26 } | |
27 | |
28 $i->logout; | |
29 | |
30 sub triggerAction { | |
31 my ($action, $cityId) = @_; | |
32 | |
33 my ($func, $param) = split(/_/,$action); | |
34 printf('$i->%s("%s", %s);'. "\n", $func, $param, $cityId); | |
35 eval(sprintf('$i->%s("%s", %s);', $func, $param, $cityId)); | |
36 warn $@ if $@; | |
37 } |