Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Roulette System [Yommy]
- parseable_packet(0x0A19,2,clif_parse_roulette_open,0); // CZ_REQ_OPEN_ROULETTE
- packet(0x0A1A,23); // ZC_ACK_OPEN_ROULETTE
- parseable_packet(0x0A1B,2,clif_parse_roulette_info,0); // CZ_REQ_ROULETTE_INFO
- packet(0x0A1C,-1); // ZC_ACK_ROULETTE_INFO
- parseable_packet(0x0A1D,2,clif_parse_roulette_close,0); // CZ_REQ_CLOSE_ROULETTE
- packet(0x0A1E,3); // ZC_ACK_CLOSE_ROULETTE
- parseable_packet(0x0A1F,2,clif_parse_roulette_generate,0); // CZ_REQ_GENERATE_ROULETTE
- packet(0x0A20,21); // ZC_ACK_GENERATE_ROULETTE
- parseable_packet(0x0A21,3,clif_parse_roulette_item,2); // CZ_RECV_ROULETTE_ITEM
- packet(0x0A22,5); // ZC_RECV_ROULETTE_ITEM
- #RECV
- /// 0A1A <result>.B <serial>.L <stage>.B <price index>.B <additional item id>.W <gold>.L <silver>.L <bronze>.L (ZC_ACK_OPEN_ROULETTE)
- '0A1A' => ['roulette_open_result', 'C V C2 v V3', [qw(result serial stage price_index additional_itemID gold silver bronze)]],
- sub roulette_open_result {
- my ($self, $args) = @_;
- $roulette = {};
- $roulette->{price_index} = $args->{price_index};
- $roulette->{additional_itemID} = $args->{additional_itemID};
- $roulette->{gold} = $args->{gold};
- $roulette->{silver} = $args->{silver};
- $roulette->{bronze} = $args->{bronze};
- }
- /// 0A1C <length>.W <serial>.L { { <level>.W <column>.W <item>.W <amount>.W } * MAX_ROULETTE_COLUMNS } * MAX_ROULETTE_LEVEL (ZC_ACK_ROULEITTE_INFO)
- /// 0A1C <length>.W <serial>.L { { <level>.W <column>.W <item>.L <amount>.L } * MAX_ROULETTE_COLUMNS } * MAX_ROULETTE_LEVEL (ZC_ACK_ROULEITTE_INFO) >= 20180516
- '0A1A' => ['roulette_info', 'v V a*', [qw(len serial roulette_level_data)]],
- sub roulette_info {
- my ($self, $args) = @_;
- my $count = 0;
- $roulette->{info} = {}
- #todo
- for (my $i = 0; $i < length($args->{roulette_level_data}); $i += 14) {
- $roulette->{info}[$count]->{level} = unpack("v", substr($args->{roulette_level_data}, i+2,2));
- $roulette->{info}[$count]->{column} = unpack("v", substr($args->{roulette_level_data}, i+2,4));
- $roulette->{info}[$count]->{item} = unpack("v", substr($args->{roulette_level_data}, i+2,6));
- $roulette->{info}[$count]->{amount} = unpack("v", substr($args->{roulette_level_data}, i+2,8));
- $count++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement