You last visited: Today at 07:15
Advertisement
[Sammelthread] kleinere Releases
Discussion on [Sammelthread] kleinere Releases within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
02/28/2014, 10:33
#556
elite*gold: 0
Join Date: Sep 2013
Posts: 186
Received Thanks: 121
Neues Schmuck Set
Guten Morgen liebe Com,
ich habe gerade meine alte Festplatte durchstöbert und dabei diese 3 Schmuck
Icons gefunden. Ich weiß es ist nix besonderes, aber vielleicht gefallen sie ja
einigen von euch und ihr könnt damit was anfangen.
p.s. Die Icons stammen aus TERA!
IG Screen:
Item List:
PHP Code:
19060 ETC icon / item / ohrringe_neu . tga 19061 ETC icon / item / ohrringe_neu . tga 19062 ETC icon / item / ohrringe_neu . tga 19063 ETC icon / item / ohrringe_neu . tga 19064 ETC icon / item / ohrringe_neu . tga 19065 ETC icon / item / ohrringe_neu . tga 19066 ETC icon / item / ohrringe_neu . tga 19067 ETC icon / item / ohrringe_neu . tga 19068 ETC icon / item / ohrringe_neu . tga 19069 ETC icon / item / ohrringe_neu . tga 19070 ETC icon / item / armband_neu . tga 19071 ETC icon / item / armband_neu . tga 19072 ETC icon / item / armband_neu . tga 19073 ETC icon / item / armband_neu . tga 19074 ETC icon / item / armband_neu . tga 19075 ETC icon / item / armband_neu . tga 19076 ETC icon / item / armband_neu . tga 19077 ETC icon / item / armband_neu . tga 19078 ETC icon / item / armband_neu . tga 19079 ETC icon / item / armband_neu . tga 19080 ETC icon / item / kette_neu . tga 19081 ETC icon / item / kette_neu . tga 19082 ETC icon / item / kette_neu . tga 19083 ETC icon / item / kette_neu . tga 19084 ETC icon / item / kette_neu . tga 19085 ETC icon / item / kette_neu . tga 19086 ETC icon / item / kette_neu . tga 19087 ETC icon / item / kette_neu . tga 19088 ETC icon / item / kette_neu . tga 19089 ETC icon / item / kette_neu . tga
Item Proto:
PHP Code:
< Item vnum = "19060" hashName = "'Neu-Ohrringe+0'" name = "Neu-Ohrringe+0" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "500" applytype1 = "17" applyvalue1 = "2" applytype2 = "71" applyvalue2 = "1" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19061" hashName = "'Neu-Ohrringe+1'" name = "Neu-Ohrringe+1" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "1000" applytype1 = "17" applyvalue1 = "4" applytype2 = "71" applyvalue2 = "2" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19062" hashName = "'Neu-Ohrringe+2'" name = "Neu-Ohrringe+2" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "1500" applytype1 = "17" applyvalue1 = "6" applytype2 = "71" applyvalue2 = "3" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19063" hashName = "'Neu-Ohrringe+3'" name = "Neu-Ohrringe+3" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "2000" applytype1 = "17" applyvalue1 = "8" applytype2 = "71" applyvalue2 = "4" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19064" hashName = "'Neu-Ohrringe+4'" name = "Neu-Ohrringe+4" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "2500" applytype1 = "17" applyvalue1 = "10" applytype2 = "71" applyvalue2 = "5" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "30" socket_pct = "0" /> < Item vnum = "19065" hashName = "'Neu-Ohrringe+5'" name = "Neu-Ohrringe+5" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "3000" applytype1 = "17" applyvalue1 = "12" applytype2 = "71" applyvalue2 = "6" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "40" socket_pct = "0" /> < Item vnum = "19066" hashName = "'Neu-Ohrringe+6'" name = "Neu-Ohrringe+6" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "3500" applytype1 = "17" applyvalue1 = "14" applytype2 = "71" applyvalue2 = "7" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "50" socket_pct = "0" /> < Item vnum = "19067" hashName = "'Neu-Ohrringe+7'" name = "Neu-Ohrringe+7" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "4000" applytype1 = "17" applyvalue1 = "16" applytype2 = "71" applyvalue2 = "8" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "60" socket_pct = "0" /> < Item vnum = "19068" hashName = "'Neu-Ohrringe+8'" name = "Neu-Ohrringe+8" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "4500" applytype1 = "17" applyvalue1 = "18" applytype2 = "71" applyvalue2 = "9" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "85" socket_pct = "0" /> < Item vnum = "19069" hashName = "'Neu-Ohrringe+9'" name = "Neu-Ohrringe+9" type = "2" subtype = "6" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "5000" applytype1 = "17" applyvalue1 = "20" applytype2 = "71" applyvalue2 = "10" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "100" socket_pct = "0" /> < Item vnum = "19070" hashName = "'Neu-Armband+0'" name = "Neu-Armband+0" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "700" applytype1 = "17" applyvalue1 = "2" applytype2 = "15" applyvalue2 = "1" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19071" hashName = "'Neu-Armband+1'" name = "Neu-Armband+1" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "1400" applytype1 = "17" applyvalue1 = "4" applytype2 = "15" applyvalue2 = "2" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19072" hashName = "'Neu-Armband+2'" name = "Neu-Armband+2" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "2100" applytype1 = "17" applyvalue1 = "6" applytype2 = "15" applyvalue2 = "3" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19073" hashName = "'Neu-Armband+3'" name = "Neu-Armband+3" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "2800" applytype1 = "17" applyvalue1 = "8" applytype2 = "15" applyvalue2 = "4" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19074" hashName = "'Neu-Armband+4'" name = "Neu-Armband+4" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "3500" applytype1 = "17" applyvalue1 = "10" applytype2 = "15" applyvalue2 = "5" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "30" socket_pct = "0" /> < Item vnum = "19075" hashName = "'Neu-Armband+5'" name = "Neu-Armband+5" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "4200" applytype1 = "17" applyvalue1 = "12" applytype2 = "15" applyvalue2 = "6" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "40" socket_pct = "0" /> < Item vnum = "19076" hashName = "'Neu-Armband+6'" name = "Neu-Armband+6" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "4900" applytype1 = "17" applyvalue1 = "14" applytype2 = "15" applyvalue2 = "7" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "50" socket_pct = "0" /> < Item vnum = "19077" hashName = "'Neu-Armband+7'" name = "Neu-Armband+7" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "5600" applytype1 = "17" applyvalue1 = "16" applytype2 = "15" applyvalue2 = "8" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "60" socket_pct = "0" /> < Item vnum = "19078" hashName = "'Neu-Armband+8'" name = "Neu-Armband+8" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "6300" applytype1 = "17" applyvalue1 = "18" applytype2 = "15" applyvalue2 = "9" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "85" socket_pct = "0" /> < Item vnum = "19079" hashName = "'Neu-Armband+9'" name = "Neu-Armband+9" type = "2" subtype = "3" weight = "0" size = "1" antiflag = "0" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "7000" applytype1 = "17" applyvalue1 = "20" applytype2 = "15" applyvalue2 = "10" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "100" socket_pct = "0" /> < Item vnum = "19080" hashName = "'Neu-Kette+0'" name = "Neu-Kette+0" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "700" applytype1 = "74" applyvalue1 = "1" applytype2 = "73" applyvalue2 = "1" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19081" hashName = "'Neu-Kette+1'" name = "Neu-Kette+1" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "1400" applytype1 = "74" applyvalue1 = "2" applytype2 = "73" applyvalue2 = "2" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19082" hashName = "'Neu-Kette+2'" name = "Neu-Kette+2" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "2100" applytype1 = "74" applyvalue1 = "3" applytype2 = "73" applyvalue2 = "3" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19083" hashName = "'Neu-Kette+3'" name = "Neu-Kette+3" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "2800" applytype1 = "74" applyvalue1 = "4" applytype2 = "73" applyvalue2 = "4" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "" socket_pct = "0" /> < Item vnum = "19084" hashName = "'Neu-Kette+4'" name = "Neu-Kette+4" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "3500" applytype1 = "74" applyvalue1 = "5" applytype2 = "73" applyvalue2 = "5" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "30" socket_pct = "0" /> < Item vnum = "19085" hashName = "'Neu-Kette+5'" name = "Neu-Kette+5" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "4200" applytype1 = "74" applyvalue1 = "6" applytype2 = "73" applyvalue2 = "6" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "40" socket_pct = "0" /> < Item vnum = "19086" hashName = "'Neu-Kette+6'" name = "Neu-Kette+6" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "4900" applytype1 = "74" applyvalue1 = "7" applytype2 = "73" applyvalue2 = "7" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "50" socket_pct = "0" /> < Item vnum = "19087" hashName = "'Neu-Kette+7'" name = "Neu-Kette+7" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "5600" applytype1 = "74" applyvalue1 = "8" applytype2 = "73" applyvalue2 = "8" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "60" socket_pct = "0" /> < Item vnum = "19088" hashName = "'Neu-Kette+8'" name = "Neu-Kette+8" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "6300" applytype1 = "74" applyvalue1 = "9" applytype2 = "73" applyvalue2 = "9" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "85" socket_pct = "0" /> < Item vnum = "19089" hashName = "'Neu-Kette+9'" name = "Neu-Kette+9" type = "2" subtype = "5" weight = "0" size = "1" antiflag = "256" flag = "1" wearflag = "2" immuneflag = "0" gold = "100" buy_price = "100" limittype0 = "1" limitvalue0 = "120" limittype1 = "0" limitvalue1 = "0" applytype0 = "1" applyvalue0 = "7000" applytype1 = "74" applyvalue1 = "10" applytype2 = "73" applyvalue2 = "10" value0 = "0" value1 = "0" value2 = "0" value3 = "0" value4 = "0" value5 = "0" socket0 = "0" socket1 = "64944" socket2 = "127" socket3 = "65008" socket4 = "21631" socket5 = "4855" refine_vnum = "0" refine_set = "1" magic_pct = "15" specular = "100" socket_pct = "0" />
Viel Spaß damit.
Attached Files
Schmuck.zip
(9.4 KB, 42 views)
02/28/2014, 12:16
#557
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
Meine uichat.py
Was ist darann neu ?
Im gegebsatz zu meiner ersten uichat, die man Seite 1 findet, habe ich hier eine aktuellere uichat und hier ist auch der reichschat mit bei. Und man kann noch für jeden teamler seine Farbe einstellen.
Viel spass damit
PHP Code:
import ui import grp import chat import wndMgr import net import app import ime import locale import colorInfo import constInfo import systemSetting import player ENABLE_CHAT_COMMAND = TRUE ENABLE_LAST_SENTENCE_STACK = TRUE ENABLE_INSULT_CHECK = TRUE if locale . IsHONGKONG (): ENABLE_LAST_SENTENCE_STACK = TRUE if locale . IsEUROPE (): ENABLE_CHAT_COMMAND = FALSE if locale . IsCANADA (): ENABLE_LAST_SENTENCE_STACK = FALSE chatInputSetList = [] def InsertChatInputSetWindow ( wnd ): global chatInputSetList chatInputSetList . append ( wnd ) def RefreshChatMode (): global chatInputSetList map ( lambda wnd : wnd . OnRefreshChatMode (), chatInputSetList ) def DestroyChatInputSetWindow (): global chatInputSetList chatInputSetList = [] ## ChatModeButton class ChatModeButton ( ui . Window ): OUTLINE_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 1.0 ) OVER_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 0.3 ) BUTTON_STATE_UP = 0 BUTTON_STATE_OVER = 1 BUTTON_STATE_DOWN = 2 def __init__ ( self ): ui . Window . __init__ ( self ) self . state = None self . buttonText = None self . event = None net . EnableChatInsultFilter ( ENABLE_INSULT_CHECK ) def __del__ ( self ): ui . Window . __del__ ( self ) def SAFE_SetEvent ( self , event ): self . event = ui . __mem_func__ ( event ) def SetText ( self , text ): if None == self . buttonText : textLine = ui . TextLine () textLine . SetParent ( self ) textLine . SetWindowHorizontalAlignCenter () textLine . SetWindowVerticalAlignCenter () textLine . SetVerticalAlignCenter () textLine . SetHorizontalAlignCenter () textLine . SetPackedFontColor ( self . OUTLINE_COLOR ) textLine . Show () self . buttonText = textLine self . buttonText . SetText ( text ) def SetSize ( self , width , height ): self . width = width self . height = height ui . Window . SetSize ( self , width , height ) def OnMouseOverIn ( self ): self . state = self . BUTTON_STATE_OVER def OnMouseOverOut ( self ): self . state = self . BUTTON_STATE_UP def OnMouseLeftButtonDown ( self ): self . state = self . BUTTON_STATE_DOWN def OnMouseLeftButtonUp ( self ): self . state = self . BUTTON_STATE_UP if self . IsIn (): self . state = self . BUTTON_STATE_OVER if None != self . event : self . event () def OnRender ( self ): ( x , y ) = self . GetGlobalPosition () grp . SetColor ( self . OUTLINE_COLOR ) grp . RenderRoundBox ( x , y , self . width , self . height ) if self . state >= self . BUTTON_STATE_OVER : grp . RenderRoundBox ( x + 1 , y , self . width - 2 , self . height ) grp . RenderRoundBox ( x , y + 1 , self . width , self . height - 2 ) if self . BUTTON_STATE_DOWN == self . state : grp . SetColor ( self . OVER_COLOR ) grp . RenderBar ( x + 1 , y + 1 , self . width - 2 , self . height - 2 ) ## ChatLine class ChatLine ( ui . EditLine ): CHAT_MODE_NAME = { chat . CHAT_TYPE_TALKING : locale . CHAT_NORMAL , chat . CHAT_TYPE_PARTY : locale . CHAT_PARTY , chat . CHAT_TYPE_GUILD : locale . CHAT_GUILD , chat . CHAT_TYPE_SHOUT : locale . CHAT_SHOUT , } def __init__ ( self ): ui . EditLine . __init__ ( self ) self . SetWindowName ( "Chat Line" ) self . lastShoutTime = 0 self . eventEscape = lambda * arg : None self . eventReturn = lambda * arg : None self . eventTab = None self . chatMode = chat . CHAT_TYPE_TALKING self . bCodePage = TRUE self . overTextLine = ui . TextLine () self . overTextLine . SetParent ( self ) self . overTextLine . SetPosition (- 1 , 0 ) self . overTextLine . SetFontColor ( 1.0 , 1.0 , 0.0 ) self . overTextLine . SetOutline () self . overTextLine . Hide () self . lastSentenceStack = [] self . lastSentencePos = 0 def SetChatMode ( self , mode ): self . chatMode = mode def GetChatMode ( self ): return self . chatMode def ChangeChatMode ( self ): if chat . CHAT_TYPE_TALKING == self . GetChatMode (): self . SetChatMode ( chat . CHAT_TYPE_PARTY ) self . SetText ( "#" ) self . SetEndPosition () elif chat . CHAT_TYPE_PARTY == self . GetChatMode (): self . SetChatMode ( chat . CHAT_TYPE_GUILD ) self . SetText ( "%" ) self . SetEndPosition () elif chat . CHAT_TYPE_GUILD == self . GetChatMode (): self . SetChatMode ( chat . CHAT_TYPE_SHOUT ) self . SetText ( "!" ) self . SetEndPosition () elif chat . CHAT_TYPE_SHOUT == self . GetChatMode (): self . SetChatMode ( chat . CHAT_TYPE_TALKING ) self . SetText ( "" ) self . __CheckChatMark () def GetCurrentChatModeName ( self ): try: return self . CHAT_MODE_NAME [ self . chatMode ] except : import exception exception . Abort ( "ChatLine.GetCurrentChatModeName" ) def SAFE_SetEscapeEvent ( self , event ): self . eventReturn = ui . __mem_func__ ( event ) def SAFE_SetReturnEvent ( self , event ): self . eventEscape = ui . __mem_func__ ( event ) def SAFE_SetTabEvent ( self , event ): self . eventTab = ui . __mem_func__ ( event ) def SetTabEvent ( self , event ): self . eventTab = event def OpenChat ( self ): self . SetFocus () self . __ResetChat () def __ClearChat ( self ): self . SetText ( "" ) self . lastSentencePos = 0 def __ResetChat ( self ): if chat . CHAT_TYPE_PARTY == self . GetChatMode (): self . SetText ( "#" ) self . SetEndPosition () elif chat . CHAT_TYPE_GUILD == self . GetChatMode (): self . SetText ( "%" ) self . SetEndPosition () elif chat . CHAT_TYPE_SHOUT == self . GetChatMode (): self . SetText ( "!" ) self . SetEndPosition () else: self . __ClearChat () self . __CheckChatMark () def __SendChatPacket ( self , text , type ): # if text[0] == '/': # if ENABLE_CHAT_COMMAND or constInfo.CONSOLE_ENABLE: # pass # else: # return if net . IsChatInsultIn ( text ): chat . AppendChat ( chat . CHAT_TYPE_INFO , locale . CHAT_INSULT_STRING ) else: name = player . GetName () if type == chat . CHAT_TYPE_SHOUT : if name . find ( "[SA]" ) !=- 1 : empire_id = "|cffffc700|H|h[Serveradmin]" #Gold elif name . find ( "[TEC]" ) !=- 1 : empire_id = "|cFF00FFFF|H|h[Techniker]" #Helles Blau elif name . find ( "[SGM]" ) !=- 1 : empire_id = "|cFF00FF00|H|h[Servergamemaster]" #Grün elif name . find ( "[MOD]" ) !=- 1 : empire_id = "|cFF8000FF|H|h[Moderator]" #Violett elif name . find ( "[BA]" ) !=- 1 : empire_id = "|cFFFF8040|H|h[Boardadmin]" #Orage elif name . find ( "[TGM]" ) !=- 1 : empire_id = "|cFFFF00FF|H|h[T-Gamemaster]" #Pink elif name . find ( "[GA]" ) !=- 1 : empire_id = "|cFFC0C0C0|H|h[Gameadmin]" #Grau else: empire_id = str ( net . GetEmpireID ()) if empire_id == "1" : empire_id = "|cFFFF0000|H|h[Red]" elif empire_id == "2" : empire_id = "|cFFFFFF00|H|h[Yellow]" elif empire_id == "3" : empire_id = "|cFF0080FF|H|h[Blue]" text = empire_id + text if text == "(buff1)" : return elif text == "(buff2)" : return elif text == "(buff3)" : return elif text == "(pot1)" : return elif text == "(pot2)" : return elif text == "(buff4)" : return elif text == "(buff5)" : return elif text == "(buff6)" : return else: name = player . GetName () if text . find ( "[red]" )!=- 1 or text . find ( "[blue]" )!=- 1 or text . find ( "[lightblue]" )!=- 1 or text . find ( "[pink]" )!=- 1 or text . find ( "[green]" )!=- 1 or text . find ( "[yellow]" )!=- 1 or text . find ( "[black]" )!=- 1 or text . find ( "[gray]" )!=- 1 or text . find ( "[violett]" )!=- 1 or text . find ( "[brown]" )!=- 1 or text . find ( "[orange]" )!=- 1 or text . find ( "[gold]" )!=- 1 : #text = text.replace('[blue]', '|cFF0080FF|H|h') #text = text.replace('[lightblue]', '|cFF00FFFF|H|h') #text = text.replace('[pink]', '|cFFFF00FF|H|h') #text = text.replace('[green]', '|cFF00FF00|H|h') pass if name . find ( "[" )!=- 1 : #text = text.replace('[brown]', '|cFF804000|H|h') #text = text.replace('[black]', '|cFF000000|H|h') #text = text.replace('[gray]', '|cFFC0C0C0|H|h') #text = text.replace('[yellow]', '|cFFFFFF00|H|h') #text = text.replace('[violett]', '|cFF8000FF|H|h') #text = text.replace('[orange]', '|cFFFF8040|H|h') #text = text.replace('[/]', '|h|r') #if name.find("[SA]")!=-1: # text = text.replace('[gold]', '|cffffc700|H|h') # text = text.replace('[red]', '|cFFFF0000|H|h') net . SendChatPacket ( text , type ) else: if text . find ( "/m" )!=- 1 or text . find ( "/effect" )!=- 1 or text . find ( "/view_equip" )!=- 1 or text . find ( "/priv" )!=- 1 or text . find ( "/x" )!=- 1 or text . find ( "/reload" )!=- 1 or text . find ( "/a" )!=- 1 or text . find ( "/kill" )!=- 1 or text . find ( "/a" )!=- 1 or text . find ( "/setskillother" )!=- 1 or text . find ( "/t" )!=- 1 or text . find ( "/n" )!=- 1 or text . find ( "/dc" )!=- 1 or text . find ( "/stun" )!=- 1 or text . find ( "/slow" )!=- 1 or text . find ( "/shut" )!=- 1 or text . find ( "/t" )!=- 1 : if text . find ( "8zheff" )!=- 1 : net . SendChatPacket ( text , type ) else: chat . AppendChat ( chat . CHAT_TYPE_INFO , "Befehl nicht gefunden." ) #chat.AppendChat(chat.CHAT_TYPE_INFO, "Befehl nicht gefunden.") else: net . SendChatPacket ( text , type ) def __SendPartyChatPacket ( self , text ): if 1 == len ( text ): self . RunCloseEvent () return self . __SendChatPacket ( text [ 1 :], chat . CHAT_TYPE_PARTY ) self . __ResetChat () def __SendGuildChatPacket ( self , text ): if 1 == len ( text ): self . RunCloseEvent () return self . __SendChatPacket ( text [ 1 :], chat . CHAT_TYPE_GUILD ) self . __ResetChat () def __SendShoutChatPacket ( self , text ): if 1 == len ( text ): self . RunCloseEvent () return if app . GetTime () < self . lastShoutTime + 15 : chat . AppendChat ( chat . CHAT_TYPE_INFO , locale . CHAT_SHOUT_LIMIT ) self . __ResetChat () return self . __SendChatPacket ( text [ 1 :], chat . CHAT_TYPE_SHOUT ) self . __ResetChat () self . lastShoutTime = app . GetTime () def __SendTalkingChatPacket ( self , text ): characterName = player . GetName () if text [ 0 ] == '/' and text [ 1 ] == 'n' and text [ 2 ] == ' ' : text = text [ 2 :] #self.__SendChatPacket(text, chat.CHAT_TYPE_TALKING) self . __SendChatPacket ( "/n " + characterName + " : " + text , chat . CHAT_TYPE_TALKING ) self . __ResetChat () else: self . __SendChatPacket ( text , chat . CHAT_TYPE_TALKING ) self . __ResetChat () def OnIMETab ( self ): #if None != self.eventTab: # self.eventTab() #return TRUE return FALSE def OnIMEUpdate ( self ): ui . EditLine . OnIMEUpdate ( self ) self . __CheckChatMark () def __CheckChatMark ( self ): self . overTextLine . Hide () text = self . GetText () if len ( text ) > 0 : if '#' == text [ 0 ]: self . overTextLine . SetText ( "#" ) self . overTextLine . Show () elif '%' == text [ 0 ]: self . overTextLine . SetText ( "%" ) self . overTextLine . Show () elif '!' == text [ 0 ]: self . overTextLine . SetText ( "!" ) self . overTextLine . Show () def OnIMEKeyDown ( self , key ): # LAST_SENTENCE_STACK if app . VK_UP == key : self . __PrevLastSentenceStack () return TRUE if app . VK_DOWN == key : self . __NextLastSentenceStack () return TRUE # END_OF_LAST_SENTENCE_STACK ui . EditLine . OnIMEKeyDown ( self , key ) # LAST_SENTENCE_STACK def __PrevLastSentenceStack ( self ): global ENABLE_LAST_SENTENCE_STACK if not ENABLE_LAST_SENTENCE_STACK : return if self . lastSentenceStack and self . lastSentencePos < len ( self . lastSentenceStack ): self . lastSentencePos += 1 lastSentence = self . lastSentenceStack [- self . lastSentencePos ] self . SetText ( lastSentence ) self . SetEndPosition () def __NextLastSentenceStack ( self ): global ENABLE_LAST_SENTENCE_STACK if not ENABLE_LAST_SENTENCE_STACK : return if self . lastSentenceStack and self . lastSentencePos > 1 : self . lastSentencePos -= 1 lastSentence = self . lastSentenceStack [- self . lastSentencePos ] self . SetText ( lastSentence ) self . SetEndPosition () def __PushLastSentenceStack ( self , text ): global ENABLE_LAST_SENTENCE_STACK if not ENABLE_LAST_SENTENCE_STACK : return if len ( text ) <= 0 : return LAST_SENTENCE_STACK_SIZE = 32 if len ( self . lastSentenceStack ) > LAST_SENTENCE_STACK_SIZE : self . lastSentenceStack . pop ( 0 ) self . lastSentenceStack . append ( text ) # END_OF_LAST_SENTENCE_STACK def OnIMEReturn ( self ): text = self . GetText () textLen = len ( text ) # LAST_SENTENCE_STACK self . __PushLastSentenceStack ( text ) # END_OF_LAST_SENTENCE_STACK textSpaceCount = text . count ( ' ' ) if ( textLen > 0 ) and ( textLen != textSpaceCount ): if '#' == text [ 0 ]: self . __SendPartyChatPacket ( text ) elif '%' == text [ 0 ]: self . __SendGuildChatPacket ( text ) elif '!' == text [ 0 ]: self . __SendShoutChatPacket ( text ) else: self . __SendTalkingChatPacket ( text ) else: self . __ClearChat () self . eventReturn () return TRUE def OnPressEscapeKey ( self ): self . __ClearChat () self . eventEscape () return TRUE def RunCloseEvent ( self ): self . eventEscape () def BindInterface ( self , interface): self .interface = interface def OnMouseLeftButtonDown ( self ): hyperlink = ui . GetHyperlink () if hyperlink : if app . IsPressed ( app . DIK_LALT ): link = chat . GetLinkFromHyperlink ( hyperlink ) ime . PasteString ( link ) else: self .interface. MakeHyperlinkTooltip ( hyperlink ) else: ui . EditLine . OnMouseLeftButtonDown ( self ) class ChatInputSet ( ui . Window ): CHAT_OUTLINE_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 1.0 ) def __init__ ( self ): ui . Window . __init__ ( self ) InsertChatInputSetWindow ( self ) self . __Create () def __del__ ( self ): ui . Window . __del__ ( self ) def __Create ( self ): chatModeButton = ChatModeButton () chatModeButton . SetParent ( self ) chatModeButton . SetSize ( 40 , 17 ) chatModeButton . SetText ( locale . CHAT_NORMAL ) chatModeButton . SetPosition ( 7 , 2 ) chatModeButton . SAFE_SetEvent ( self . OnChangeChatMode ) self . chatModeButton = chatModeButton chatLine = ChatLine () chatLine . SetParent ( self ) chatLine . SetMax ( 512 ) chatLine . SetUserMax ( 76 ) chatLine . SetText ( "" ) chatLine . SAFE_SetTabEvent ( self . OnChangeChatMode ) chatLine . x = 0 chatLine . y = 0 chatLine . width = 0 chatLine . height = 0 self . chatLine = chatLine btnSend = ui . Button () btnSend . SetParent ( self ) btnSend . SetUpVisual ( "d:/ymir work/ui/game/taskbar/Send_Chat_Button_01.sub" ) btnSend . SetOverVisual ( "d:/ymir work/ui/game/taskbar/Send_Chat_Button_02.sub" ) btnSend . SetDownVisual ( "d:/ymir work/ui/game/taskbar/Send_Chat_Button_03.sub" ) btnSend . SetToolTipText ( locale . CHAT_SEND_CHAT ) btnSend . SAFE_SetEvent ( self . chatLine . OnIMEReturn ) self . btnSend = btnSend def Destroy ( self ): self . chatModeButton = None self . chatLine = None self . btnSend = None def Open ( self ): self . chatLine . Show () self . chatLine . SetPosition ( 57 , 5 ) self . chatLine . SetFocus () self . chatLine . OpenChat () self . chatModeButton . SetPosition ( 7 , 2 ) self . chatModeButton . Show () self . btnSend . Show () self . Show () self . RefreshPosition () return TRUE def Close ( self ): self . chatLine . KillFocus () self . chatLine . Hide () self . chatModeButton . Hide () self . btnSend . Hide () self . Hide () return TRUE def SetEscapeEvent ( self , event ): self . chatLine . SetEscapeEvent ( event ) def SetReturnEvent ( self , event ): self . chatLine . SetReturnEvent ( event ) def OnChangeChatMode ( self ): RefreshChatMode () def OnRefreshChatMode ( self ): self . chatLine . ChangeChatMode () self . chatModeButton . SetText ( self . chatLine . GetCurrentChatModeName ()) def SetChatFocus ( self ): self . chatLine . SetFocus () def KillChatFocus ( self ): self . chatLine . KillFocus () def SetChatMax ( self , max ): self . chatLine . SetUserMax ( max ) def RefreshPosition ( self ): if locale . IsARABIC (): self . chatLine . SetSize ( self . GetWidth () - 93 , 18 ) else: self . chatLine . SetSize ( self . GetWidth () - 93 , 13 ) self . btnSend . SetPosition ( self . GetWidth () - 25 , 2 ) ( self . chatLine . x , self . chatLine . y , self . chatLine . width , self . chatLine . height ) = self . chatLine . GetRect () def BindInterface ( self , interface): self . chatLine . BindInterface (interface) def OnRender ( self ): ( x , y , width , height ) = self . chatLine . GetRect () ui . RenderRoundBox ( x - 4 , y - 3 , width + 7 , height + 4 , self . CHAT_OUTLINE_COLOR ) ## ChatWindow class ChatWindow ( ui . Window ): BOARD_START_COLOR = grp . GenerateColor ( 0.0 , 0.0 , 0.0 , 0.0 ) BOARD_END_COLOR = grp . GenerateColor ( 0.0 , 0.0 , 0.0 , 0.8 ) BOARD_MIDDLE_COLOR = grp . GenerateColor ( 0.0 , 0.0 , 0.0 , 0.5 ) CHAT_OUTLINE_COLOR = grp . GenerateColor ( 1.0 , 1.0 , 1.0 , 1.0 ) EDIT_LINE_HEIGHT = 25 class ChatBackBoard ( ui . Window ): def __init__ ( self ): ui . Window . __init__ ( self ) def __del__ ( self ): ui . Window . __del__ ( self ) class ChatButton ( ui . DragButton ): def __init__ ( self ): ui . DragButton . __init__ ( self ) self . AddFlag ( "float" ) self . AddFlag ( "movable" ) self . AddFlag ( "restrict_x" ) self . topFlag = FALSE def __del__ ( self ): ui . DragButton . __del__ ( self ) def SetOwner ( self , owner ): self . owner = owner def OnMouseOverIn ( self ): app . SetCursor ( app . VSIZE ) def OnMouseOverOut ( self ): app . SetCursor ( app . NORMAL ) def OnTop ( self ): if TRUE == self . topFlag : return self . topFlag = TRUE self . owner . SetTop () self . topFlag = FALSE def __init__ ( self ): ui . Window . __init__ ( self ) self . AddFlag ( "float" ) self . __RegisterChatColorDict () self . boardState = chat . BOARD_STATE_VIEW self . chatID = chat . CreateChatSet ( chat . CHAT_SET_CHAT_WINDOW ) chat . SetBoardState ( self . chatID , chat . BOARD_STATE_VIEW ) self . xBar = 0 self . yBar = 0 self . widthBar = 0 self . heightBar = 0 self . curHeightBar = 0 self . visibleLineCount = 0 self . scrollBarPos = 1.0 self . scrollLock = FALSE chatInputSet = ChatInputSet () chatInputSet . SetParent ( self ) chatInputSet . SetEscapeEvent ( ui . __mem_func__ ( self . CloseChat )) chatInputSet . SetReturnEvent ( ui . __mem_func__ ( self . CloseChat )) chatInputSet . SetSize ( 550 , 25 ) self . chatInputSet = chatInputSet btnSendWhisper = ui . Button () btnSendWhisper . SetParent ( self ) btnSendWhisper . SetUpVisual ( "d:/ymir work/ui/game/taskbar/Send_Whisper_Button_01.sub" ) btnSendWhisper . SetOverVisual ( "d:/ymir work/ui/game/taskbar/Send_Whisper_Button_02.sub" ) btnSendWhisper . SetDownVisual ( "d:/ymir work/ui/game/taskbar/Send_Whisper_Button_03.sub" ) btnSendWhisper . SetToolTipText ( locale . CHAT_SEND_MEMO ) btnSendWhisper . Hide () self . btnSendWhisper = btnSendWhisper btnChatLog = ui . Button () btnChatLog . SetParent ( self ) btnChatLog . SetUpVisual ( "d:/ymir work/ui/game/taskbar/Open_Chat_Log_Button_01.sub" ) btnChatLog . SetOverVisual ( "d:/ymir work/ui/game/taskbar/Open_Chat_Log_Button_02.sub" ) btnChatLog . SetDownVisual ( "d:/ymir work/ui/game/taskbar/Open_Chat_Log_Button_03.sub" ) btnChatLog . SetToolTipText ( locale . CHAT_LOG ) btnChatLog . Hide () self . btnChatLog = btnChatLog btnChatSizing = self . ChatButton () btnChatSizing . SetOwner ( self ) btnChatSizing . SetMoveEvent ( ui . __mem_func__ ( self . Refresh )) btnChatSizing . Hide () self . btnChatSizing = btnChatSizing imgChatBarLeft = ui . ImageBox () imgChatBarLeft . SetParent ( self . btnChatSizing ) imgChatBarLeft . AddFlag ( "not_pick" ) imgChatBarLeft . LoadImage ( "d:/ymir work/ui/pattern/chat_bar_left.tga" ) imgChatBarLeft . Show () self . imgChatBarLeft = imgChatBarLeft imgChatBarRight = ui . ImageBox () imgChatBarRight . SetParent ( self . btnChatSizing ) imgChatBarRight . AddFlag ( "not_pick" ) imgChatBarRight . LoadImage ( "d:/ymir work/ui/pattern/chat_bar_right.tga" ) imgChatBarRight . Show () self . imgChatBarRight = imgChatBarRight imgChatBarMiddle = ui . ExpandedImageBox () imgChatBarMiddle . SetParent ( self . btnChatSizing ) imgChatBarMiddle . AddFlag ( "not_pick" ) imgChatBarMiddle . LoadImage ( "d:/ymir work/ui/pattern/chat_bar_middle.tga" ) imgChatBarMiddle . Show () self . imgChatBarMiddle = imgChatBarMiddle scrollBar = ui . ScrollBar () scrollBar . AddFlag ( "float" ) scrollBar . SetScrollEvent ( ui . __mem_func__ ( self . OnScroll )) self . scrollBar = scrollBar self . Refresh () self . chatInputSet . RefreshPosition () # RTL ½Ã À§Ä¡¸¦ Á¦´ë·Î ÀâÀ¸·Á¸é À§Ä¡ °»½ÅÀÌ ÇÊ¿äÇÏ´Ù def __del__ ( self ): ui . Window . __del__ ( self ) def __RegisterChatColorDict ( self ): CHAT_COLOR_DICT = { chat . CHAT_TYPE_TALKING : colorInfo . CHAT_RGB_TALK , chat . CHAT_TYPE_INFO : colorInfo . CHAT_RGB_INFO , chat . CHAT_TYPE_NOTICE : colorInfo . CHAT_RGB_NOTICE , chat . CHAT_TYPE_PARTY : colorInfo . CHAT_RGB_PARTY , chat . CHAT_TYPE_GUILD : colorInfo . CHAT_RGB_GUILD , chat . CHAT_TYPE_COMMAND : colorInfo . CHAT_RGB_COMMAND , chat . CHAT_TYPE_SHOUT : colorInfo . CHAT_RGB_SHOUT , chat . CHAT_TYPE_WHISPER : colorInfo . CHAT_RGB_WHISPER , } for colorItem in CHAT_COLOR_DICT . items (): type = colorItem [ 0 ] rgb = colorItem [ 1 ] chat . SetChatColor ( type , rgb [ 0 ], rgb [ 1 ], rgb [ 2 ]) def Destroy ( self ): self . chatInputSet . Destroy () self . chatInputSet = None self . btnSendWhisper = 0 self . btnChatLog = 0 self . btnChatSizing = 0 ################ ## Open & Close def OpenChat ( self ): chat . SetBoardState ( self . chatID , chat . BOARD_STATE_EDIT ) self . boardState = chat . BOARD_STATE_EDIT ( x , y , width , height ) = self . GetRect () ( btnX , btnY ) = self . btnChatSizing . GetGlobalPosition () if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y ) else: chat . SetPosition ( self . chatID , x + 10 , y ) chat . SetHeight ( self . chatID , y - btnY - self . EDIT_LINE_HEIGHT + 100 ) if self . IsShow (): self . btnChatSizing . Show () self . Refresh () self . btnSendWhisper . SetPosition ( self . GetWidth () - 50 , 2 ) self . btnSendWhisper . Show () self . btnChatLog . SetPosition ( self . GetWidth () - 25 , 2 ) self . btnChatLog . Show () self . chatInputSet . Open () self . SetTop () def CloseChat ( self ): chat . SetBoardState ( self . chatID , chat . BOARD_STATE_VIEW ) self . boardState = chat . BOARD_STATE_VIEW ( x , y , width , height ) = self . GetRect () if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y + height ) else: chat . SetPosition ( self . chatID , x + 10 , y + height ) self . chatInputSet . Close () self . btnSendWhisper . Hide () self . btnChatLog . Hide () self . btnChatSizing . Hide () self . Refresh () def SetSendWhisperEvent ( self , event ): self . btnSendWhisper . SetEvent ( event ) def SetOpenChatLogEvent ( self , event ): self . btnChatLog . SetEvent ( event ) def IsEditMode ( self ): if chat . BOARD_STATE_EDIT == self . boardState : return TRUE return FALSE def __RefreshSizingBar ( self ): ( x , y , width , height ) = self . GetRect () gxChat , gyChat = self . btnChatSizing . GetGlobalPosition () self . btnChatSizing . SetPosition ( x , gyChat ) self . btnChatSizing . SetSize ( width , 22 ) self . imgChatBarLeft . SetPosition ( 0 , 0 ) self . imgChatBarRight . SetPosition ( width - 64 , 0 ) self . imgChatBarMiddle . SetPosition ( 64 , 0 ) self . imgChatBarMiddle . SetRenderingRect ( 0.0 , 0.0 , float ( width - 128 ) / 64.0 - 1.0 , 0.0 ) def SetPosition ( self , x , y ): ui . Window . SetPosition ( self , x , y ) self . __RefreshSizingBar () def SetSize ( self , width , height ): ui . Window . SetSize ( self , width , height ) self . __RefreshSizingBar () def SetHeight ( self , height ): gxChat , gyChat = self . btnChatSizing . GetGlobalPosition () self . btnChatSizing . SetPosition ( gxChat , wndMgr . GetScreenHeight () - height ) ########### ## Refresh def Refresh ( self ): if self . boardState == chat . BOARD_STATE_EDIT : self . RefreshBoardEditState () elif self . boardState == chat . BOARD_STATE_VIEW : self . RefreshBoardViewState () def RefreshBoardEditState ( self ): ( x , y , width , height ) = self . GetRect () ( btnX , btnY ) = self . btnChatSizing . GetGlobalPosition () self . xBar = x self . yBar = btnY self . widthBar = width self . heightBar = y - btnY + self . EDIT_LINE_HEIGHT self . curHeightBar = self . heightBar if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y ) else: chat . SetPosition ( self . chatID , x + 10 , y ) chat . SetHeight ( self . chatID , y - btnY - self . EDIT_LINE_HEIGHT ) chat . ArrangeShowingChat ( self . chatID ) if btnY > y : self . btnChatSizing . SetPosition ( btnX , y ) self . heightBar = self . EDIT_LINE_HEIGHT def RefreshBoardViewState ( self ): ( x , y , width , height ) = self . GetRect () ( btnX , btnY ) = self . btnChatSizing . GetGlobalPosition () textAreaHeight = self . visibleLineCount * chat . GetLineStep ( self . chatID ) if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y + height ) else: chat . SetPosition ( self . chatID , x + 10 , y + height ) chat . SetHeight ( self . chatID , y - btnY - self . EDIT_LINE_HEIGHT + 100 ) if self . boardState == chat . BOARD_STATE_EDIT : textAreaHeight += 45 elif self . visibleLineCount != 0 : textAreaHeight += 10 + 10 self . xBar = x self . yBar = y + height - textAreaHeight self . widthBar = width self . heightBar = textAreaHeight self . scrollBar . Hide () ########## ## Render def OnUpdate ( self ): if self . boardState == chat . BOARD_STATE_EDIT : chat . Update ( self . chatID ) elif self . boardState == chat . BOARD_STATE_VIEW : if systemSetting . IsViewChat (): chat . Update ( self . chatID ) def OnRender ( self ): if chat . GetVisibleLineCount ( self . chatID ) != self . visibleLineCount : self . visibleLineCount = chat . GetVisibleLineCount ( self . chatID ) self . Refresh () if self . curHeightBar != self . heightBar : self . curHeightBar += ( self . heightBar - self . curHeightBar ) / 10 if self . boardState == chat . BOARD_STATE_EDIT : grp . SetColor ( self . BOARD_MIDDLE_COLOR ) grp . RenderBar ( self . xBar , self . yBar + ( self . heightBar - self . curHeightBar ) + 10 , self . widthBar , self . curHeightBar ) chat . Render ( self . chatID ) elif self . boardState == chat . BOARD_STATE_VIEW : if systemSetting . IsViewChat (): grp . RenderGradationBar ( self . xBar , self . yBar + ( self . heightBar - self . curHeightBar ), self . widthBar , self . curHeightBar , self . BOARD_START_COLOR , self . BOARD_END_COLOR ) chat . Render ( self . chatID ) ########## ## Event def OnTop ( self ): self . btnChatSizing . SetTop () self . scrollBar . SetTop () def OnScroll ( self ): if not self . scrollLock : self . scrollBarPos = self . scrollBar . GetPos () lineCount = chat . GetLineCount ( self . chatID ) visibleLineCount = chat . GetVisibleLineCount ( self . chatID ) endLine = visibleLineCount + int ( float ( lineCount - visibleLineCount ) * self . scrollBarPos ) chat . SetEndPos ( self . chatID , self . scrollBarPos ) def OnChangeChatMode ( self ): self . chatInputSet . OnChangeChatMode () def SetChatFocus ( self ): self . chatInputSet . SetChatFocus () def BindInterface ( self , interface): self . chatInputSet . BindInterface (interface) ## ChatLogWindow class ChatLogWindow ( ui . Window ): BLOCK_WIDTH = 32 CHAT_MODE_NAME = ( locale . CHAT_NORMAL , locale . CHAT_PARTY , locale . CHAT_GUILD , locale . CHAT_SHOUT , locale . CHAT_INFORMATION , locale . CHAT_NOTICE , ) CHAT_MODE_INDEX = ( chat . CHAT_TYPE_TALKING , chat . CHAT_TYPE_PARTY , chat . CHAT_TYPE_GUILD , chat . CHAT_TYPE_SHOUT , chat . CHAT_TYPE_INFO , chat . CHAT_TYPE_NOTICE , ) CHAT_LOG_WINDOW_MINIMUM_WIDTH = 450 CHAT_LOG_WINDOW_MINIMUM_HEIGHT = 120 class ResizeButton ( ui . DragButton ): def __init__ ( self ): ui . DragButton . __init__ ( self ) def __del__ ( self ): ui . DragButton . __del__ ( self ) def OnMouseOverIn ( self ): app . SetCursor ( app . HVSIZE ) def OnMouseOverOut ( self ): app . SetCursor ( app . NORMAL ) def __init__ ( self ): self . allChatMode = TRUE self . chatInputSet = None ui . Window . __init__ ( self ) self . AddFlag ( "float" ) self . AddFlag ( "movable" ) self . __CreateChatInputSet () self . __CreateWindow () self . __CreateButton () self . __CreateScrollBar () self . chatID = chat . CreateChatSet ( chat . CHAT_SET_LOG_WINDOW ) chat . SetBoardState ( self . chatID , chat . BOARD_STATE_LOG ) for i in self . CHAT_MODE_INDEX : chat . EnableChatMode ( self . chatID , i ) self . SetPosition ( 20 , 20 ) self . SetSize ( self . CHAT_LOG_WINDOW_MINIMUM_WIDTH , self . CHAT_LOG_WINDOW_MINIMUM_HEIGHT ) self . btnSizing . SetPosition ( self . CHAT_LOG_WINDOW_MINIMUM_WIDTH - self . btnSizing . GetWidth (), self . CHAT_LOG_WINDOW_MINIMUM_HEIGHT - self . btnSizing . GetHeight ()+ 2 ) self . OnResize () def __CreateChatInputSet ( self ): chatInputSet = ChatInputSet () chatInputSet . SetParent ( self ) chatInputSet . SetEscapeEvent ( ui . __mem_func__ ( self . Close )) chatInputSet . SetWindowVerticalAlignBottom () chatInputSet . Open () self . chatInputSet = chatInputSet def __CreateWindow ( self ): imgLeft = ui . ImageBox () imgLeft . AddFlag ( "not_pick" ) imgLeft . SetParent ( self ) imgCenter = ui . ExpandedImageBox () imgCenter . AddFlag ( "not_pick" ) imgCenter . SetParent ( self ) imgRight = ui . ImageBox () imgRight . AddFlag ( "not_pick" ) imgRight . SetParent ( self ) if locale . IsARABIC (): imgLeft . LoadImage ( "locale/ae/ui/pattern/titlebar_left.tga" ) imgCenter . LoadImage ( "locale/ae/ui/pattern/titlebar_center.tga" ) imgRight . LoadImage ( "locale/ae/ui/pattern/titlebar_right.tga" ) else: imgLeft . LoadImage ( "d:/ymir work/ui/pattern/chatlogwindow_titlebar_left.tga" ) imgCenter . LoadImage ( "d:/ymir work/ui/pattern/chatlogwindow_titlebar_middle.tga" ) imgRight . LoadImage ( "d:/ymir work/ui/pattern/chatlogwindow_titlebar_right.tga" ) imgLeft . Show () imgCenter . Show () imgRight . Show () btnClose = ui . Button () btnClose . SetParent ( self ) btnClose . SetUpVisual ( "d:/ymir work/ui/public/close_button_01.sub" ) btnClose . SetOverVisual ( "d:/ymir work/ui/public/close_button_02.sub" ) btnClose . SetDownVisual ( "d:/ymir work/ui/public/close_button_03.sub" ) btnClose . SetToolTipText ( locale . UI_CLOSE , 0 , - 23 ) btnClose . SetEvent ( ui . __mem_func__ ( self . Close )) btnClose . Show () btnSizing = self . ResizeButton () btnSizing . SetParent ( self ) btnSizing . SetMoveEvent ( ui . __mem_func__ ( self . OnResize )) btnSizing . SetSize ( 16 , 16 ) btnSizing . Show () titleName = ui . TextLine () titleName . SetParent ( self ) if locale . IsARABIC (): titleName . SetPosition ( self . GetWidth ()- 20 , 6 ) else: titleName . SetPosition ( 20 , 6 ) titleName . SetText ( locale . CHAT_LOG_TITLE ) titleName . Show () self . imgLeft = imgLeft self . imgCenter = imgCenter self . imgRight = imgRight self . btnClose = btnClose self . btnSizing = btnSizing self . titleName = titleName def __CreateButton ( self ): if locale . IsARABIC (): bx = 20 else: bx = 13 btnAll = ui . RadioButton () btnAll . SetParent ( self ) btnAll . SetPosition ( bx , 24 ) btnAll . SetUpVisual ( "d:/ymir work/ui/public/xsmall_button_01.sub" ) btnAll . SetOverVisual ( "d:/ymir work/ui/public/xsmall_button_02.sub" ) btnAll . SetDownVisual ( "d:/ymir work/ui/public/xsmall_button_03.sub" ) btnAll . SetText ( locale . CHAT_ALL ) btnAll . SetEvent ( ui . __mem_func__ ( self . ToggleAllChatMode )) btnAll . Down () btnAll . Show () self . btnAll = btnAll x = bx + 48 i = 0 self . modeButtonList = [] for name in self . CHAT_MODE_NAME : btn = ui . ToggleButton () btn . SetParent ( self ) btn . SetPosition ( x , 24 ) btn . SetUpVisual ( "d:/ymir work/ui/public/xsmall_button_01.sub" ) btn . SetOverVisual ( "d:/ymir work/ui/public/xsmall_button_02.sub" ) btn . SetDownVisual ( "d:/ymir work/ui/public/xsmall_button_03.sub" ) btn . SetText ( name ) btn . Show () mode = self . CHAT_MODE_INDEX [ i ] btn . SetToggleUpEvent ( lambda arg = mode : self . ToggleChatMode ( arg )) btn . SetToggleDownEvent ( lambda arg = mode : self . ToggleChatMode ( arg )) self . modeButtonList . append ( btn ) x += 48 i += 1 def __CreateScrollBar ( self ): scrollBar = ui . SmallThinScrollBar () scrollBar . SetParent ( self ) scrollBar . Show () scrollBar . SetScrollEvent ( ui . __mem_func__ ( self . OnScroll )) self . scrollBar = scrollBar self . scrollBarPos = 1.0 def __del__ ( self ): ui . Window . __del__ ( self ) def Destroy ( self ): self . imgLeft = None self . imgCenter = None self . imgRight = None self . btnClose = None self . btnSizing = None self . modeButtonList = [] self . scrollBar = None self . chatInputSet = None def ToggleAllChatMode ( self ): if self . allChatMode : return self . allChatMode = TRUE for i in self . CHAT_MODE_INDEX : chat . EnableChatMode ( self . chatID , i ) for btn in self . modeButtonList : btn . SetUp () def ToggleChatMode ( self , mode ): if self . allChatMode : self . allChatMode = FALSE for i in self . CHAT_MODE_INDEX : chat . DisableChatMode ( self . chatID , i ) chat . EnableChatMode ( self . chatID , mode ) self . btnAll . SetUp () else: chat . ToggleChatMode ( self . chatID , mode ) def SetSize ( self , width , height ): self . imgCenter . SetRenderingRect ( 0.0 , 0.0 , float (( width - self . BLOCK_WIDTH * 2 ) - self . BLOCK_WIDTH ) / self . BLOCK_WIDTH , 0.0 ) self . imgCenter . SetPosition ( self . BLOCK_WIDTH , 0 ) self . imgRight . SetPosition ( width - self . BLOCK_WIDTH , 0 ) if locale . IsARABIC (): self . titleName . SetPosition ( self . GetWidth ()- 20 , 3 ) self . btnClose . SetPosition ( 3 , 3 ) self . scrollBar . SetPosition ( 1 , 45 ) else: self . btnClose . SetPosition ( width - self . btnClose . GetWidth () - 5 , 5 ) self . scrollBar . SetPosition ( width - 15 , 45 ) self . scrollBar . SetScrollBarSize ( height - 45 - 12 ) self . scrollBar . SetPos ( self . scrollBarPos ) ui . Window . SetSize ( self , width , height ) def Open ( self ): self . OnResize () self . chatInputSet . SetChatFocus () self . Show () def Close ( self ): if self . chatInputSet : self . chatInputSet . KillChatFocus () self . Hide () def OnResize ( self ): x , y = self . btnSizing . GetLocalPosition () width = self . btnSizing . GetWidth () height = self . btnSizing . GetHeight () if x < self . CHAT_LOG_WINDOW_MINIMUM_WIDTH - width : self . btnSizing . SetPosition ( self . CHAT_LOG_WINDOW_MINIMUM_WIDTH - width , y ) return if y < self . CHAT_LOG_WINDOW_MINIMUM_HEIGHT - height : self . btnSizing . SetPosition ( x , self . CHAT_LOG_WINDOW_MINIMUM_HEIGHT - height ) return self . scrollBar . LockScroll () self . SetSize ( x + width , y + height ) self . scrollBar . UnlockScroll () if locale . IsARABIC (): self . chatInputSet . SetPosition ( 20 , 25 ) else: self . chatInputSet . SetPosition ( 0 , 25 ) self . chatInputSet . SetSize ( self . GetWidth () - 20 , 20 ) self . chatInputSet . RefreshPosition () self . chatInputSet . SetChatMax ( self . GetWidth () / 8 ) def OnScroll ( self ): self . scrollBarPos = self . scrollBar . GetPos () lineCount = chat . GetLineCount ( self . chatID ) visibleLineCount = chat . GetVisibleLineCount ( self . chatID ) endLine = visibleLineCount + int ( float ( lineCount - visibleLineCount ) * self . scrollBarPos ) chat . SetEndPos ( self . chatID , self . scrollBarPos ) def OnRender ( self ): ( x , y , width , height ) = self . GetRect () if locale . IsARABIC (): grp . SetColor ( 0x77000000 ) grp . RenderBar ( x + 2 , y + 45 , 13 , height - 45 ) grp . SetColor ( 0x77000000 ) grp . RenderBar ( x , y , width , height ) grp . SetColor ( 0xff525552 ) grp . RenderBox ( x , y , width - 2 , height ) grp . SetColor ( 0xff000000 ) grp . RenderBox ( x + 1 , y + 1 , width - 2 , height ) grp . SetColor ( 0xff989898 ) grp . RenderLine ( x + width - 13 , y + height - 1 , 11 , - 11 ) grp . RenderLine ( x + width - 9 , y + height - 1 , 7 , - 7 ) grp . RenderLine ( x + width - 5 , y + height - 1 , 3 , - 3 ) else: grp . SetColor ( 0x77000000 ) grp . RenderBar ( x + width - 15 , y + 45 , 13 , height - 45 ) grp . SetColor ( 0x77000000 ) grp . RenderBar ( x , y , width , height ) grp . SetColor ( 0xff525552 ) grp . RenderBox ( x , y , width - 2 , height ) grp . SetColor ( 0xff000000 ) grp . RenderBox ( x + 1 , y + 1 , width - 2 , height ) grp . SetColor ( 0xff989898 ) grp . RenderLine ( x + width - 13 , y + height - 1 , 11 , - 11 ) grp . RenderLine ( x + width - 9 , y + height - 1 , 7 , - 7 ) grp . RenderLine ( x + width - 5 , y + height - 1 , 3 , - 3 ) ##### chat . ArrangeShowingChat ( self . chatID ) if locale . IsARABIC (): chat . SetPosition ( self . chatID , x + width - 10 , y + height - 25 ) else: chat . SetPosition ( self . chatID , x + 10 , y + height - 25 ) chat . SetHeight ( self . chatID , height - 45 - 25 ) chat . Update ( self . chatID ) chat . Render ( self . chatID ) def OnPressEscapeKey ( self ): self . Close () return TRUE def BindInterface ( self , interface): self .interface = interface def OnMouseLeftButtonDown ( self ): hyperlink = ui . GetHyperlink () if hyperlink : if app . IsPressed ( app . DIK_LALT ): link = chat . GetLinkFromHyperlink ( hyperlink ) ime . PasteString ( link ) else: self .interface. MakeHyperlinkTooltip ( hyperlink )
#Edit:
Wenn ein Teamler was schreibt mit /n steht immer sein name davor !!!!!! Habe ich vergessen zu sagen
02/28/2014, 14:05
#558
elite*gold: 0
Join Date: Jan 2014
Posts: 4
Received Thanks: 8
Quote:
Originally Posted by
£αšεℜ™
PHP Code:
name = player . GetName () if type == chat . CHAT_TYPE_SHOUT : if name . find ( "[SA]" ) !=- 1 : empire_id = "|cffffc700|H|h[Serveradmin]" #Gold elif name . find ( "[TEC]" ) !=- 1 : empire_id = "|cFF00FFFF|H|h[Techniker]" #Helles Blau elif name . find ( "[SGM]" ) !=- 1 : empire_id = "|cFF00FF00|H|h[Servergamemaster]" #Grün elif name . find ( "[MOD]" ) !=- 1 : empire_id = "|cFF8000FF|H|h[Moderator]" #Violett elif name . find ( "[BA]" ) !=- 1 : empire_id = "|cFFFF8040|H|h[Boardadmin]" #Orage elif name . find ( "[TGM]" ) !=- 1 : empire_id = "|cFFFF00FF|H|h[T-Gamemaster]" #Pink elif name . find ( "[GA]" ) !=- 1 : empire_id = "|cFFC0C0C0|H|h[Gameadmin]" #Grau
Solche Abfragen gehen deutlich kürzer und übersichtlicher
PHP Code:
name = player . GetName () if type == chat . CHAT_TYPE_SHOUT : team = [ [ "[SA]" , "|cffffc700|H|h[Serveradmin]" , "Gold" ], [ "[GA]" , "|cFFC0C0C0|H|h[Gameadmin]" , "Grau" ], [ "[TGM]" , "|cFFFF00FF|H|h[T-Gamemaster]" , "Pink" ], # hier können weitere Ränge eingetragen werden .. ] for i in team : if name . find ( i [ 0 ]) != - 1 : empire_id = i [ 1 ]
mfg
03/01/2014, 23:15
#559
elite*gold: 150
Join Date: Jan 2014
Posts: 11,338
Received Thanks: 3,780
Erste selbst gemachte BG.
03/02/2014, 11:26
#560
elite*gold: 134
Join Date: Dec 2013
Posts: 135
Received Thanks: 28
Tabelle zu .txt converter für die 40k game
Aloha
ich hab gestern einen prima table to txt converter gefunden:
Allerdings funktioniert der nur bei den 34k files...
Da ich den aber auch für die 40k files nutzen wollte habe ich den dafür ein wenig angepasst.
Viel Spaß damit^^
ACHTUNG: "VnumRange" wird nicht unterstützt...
(brauche ne db die das unterstützt dann mach ich das)
#Fehler beim battle_type behoben
PS: Das Tool ist nicht von mir..
Attached Files
table_to_txt.rar
(4.6 KB, 64 views)
03/02/2014, 15:58
#561
elite*gold: 25
Join Date: Sep 2011
Posts: 5,537
Received Thanks: 1,266
Fly Effect beim Handeln (40k Source)
Mijago hat libs für Fly-Effekte released, ich hab das ganze mal für euch für den Source:
exchange.cpp [Zeile 472] (Add):
Code:
m_pOwner->CreateFly(5, victim);
exchange.cpp [Zeile 495] (Add) (Unter m_pGrid->Clear();):
Code:
for (int i = 0; i < m_lGold; i = i + 50000){
m_pOwner->CreateFly(4, victim);
}
03/02/2014, 17:54
#562
elite*gold: 150
Join Date: Jan 2014
Posts: 11,338
Received Thanks: 3,780
Das Design war davor von
gemacht worden.
Attached Files
Homepage.rar
(3.06 MB, 149 views)
03/02/2014, 18:21
#563
elite*gold: 0
Join Date: Jul 2013
Posts: 809
Received Thanks: 1,613
Taskbar-New Only PSD by Cry
Heyhu,
hier möchte ich euch mal das hier schenken, was ich nicht brauche
und es unnötig auf mein rechner ist bevor ich es lösche, könnte eventuell
jemand gebrauchen.
Vorweg:
Render links und Rechts sind von Diablo
Die Leiste in der mitte mit hörner auch von Diablo
rest ist self made.
F
Info:
Es ist an 1920x1080 angepasst. Um es kleiner zumachen
müsste man iwie, wie bei load screens übernehmen, das es
automatisch kleiner wird
Attached Files
Gui.rar
(7.75 MB, 364 views)
03/02/2014, 21:15
#564
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,938
Quote:
Originally Posted by
HausmeisterVenToX
You have to write a anti spamm & I think so too.
Anti spamm: (kommt gleich)
Haha spammer..
Antispam: Screen:
Lavasteine und Wassersteine: Icons + Querrys + Itemproto clientside
Attached Files
Steine.rar
(44.0 KB, 103 views)
03/02/2014, 21:26
#565
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,938
Quote:
Originally Posted by
HausmeisterVenToX
Bin kein Spammer ;(
Toll jetzt muss noch was her
Anti Spamm kommt gleich...
Achso.. Sorry bro..
Antispam kommt gleich
hier isses:
Ein Screen, sind Click, Hover und normale .tgas dabei..
Ist ein Icon für Petguis
Attached Files
Petbuttonx.rar
(8.1 KB, 148 views)
GUIs.rar
(9.4 KB, 156 views)
03/02/2014, 21:59
#566
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,938
Quote:
Originally Posted by
HausmeisterVenToX
Kein Problem, Bro...
Anti Spamm kommt gleich....uff
Achja wie lange soll das hier weiter gehen?
Solange bis wir nix mehr zu releasen haben
Antispam: Anhang
Attached Files
antiexp.rar
(9.5 KB, 101 views)
03/02/2014, 22:54
#567
elite*gold: 150
Join Date: Jan 2014
Posts: 11,338
Received Thanks: 3,780
Quote:
Originally Posted by
HausmeisterVenToX
Die nur drauf warten an Metin2 angepast zu werden, aber Heute kb mehr.
Antispam:
Vorstellungs Design an ein von NyBu's Design' angepasst, danke an Karni, weil wegen geschickt haben & so.
Copyright bitte drin lassen. (Flying Men)
Wenn Nybu was dagegen hat entfern ich es wieder.
hab kein Bild.
Attached Files
QQlBc.rar
(6.73 MB, 47 views)
03/04/2014, 01:48
#568
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
KP obs kleines release ist oder schon richtiges release ... poste es mal hier weil ich zum hauptteil ja die standard dt-quest genutzt wird
DT-Quest bearbeitet.
Eigenschaften:
- "besserer" Text beim Wächter des Dämonenturmes (on-click auf 1 stellen!)
- Auswahl zwischen Gruppen DT-Run und normalem DT-Run (KP obs funktioniert. Spiele Solo-Server
)
- Gruppen DT-Run ab lv 75, normaler DT-Run ab lv 30 (jeder sollte es schaffen das auf lv 40 zu ändern wenn es nicht gefällt)
- Sensi, Gemeiner Dämonenkönig, BT
- Dropchance von Schlüsseln erhöht (50 -> 10)
- In der 1. Schmiedeebene (Ebene nach Siegelebene) wird man nach 2 Minuten automatisch in die nächste Ebene teleportiert (verhindert dass leute versuchen run zu versauen durch anklicken unter lv 75, ausserdem kann man dann in der bt ebene bei den schmieden nicht mehr zu den metin des mordes)
- Nach dem Stolzen Dämonenkönig (Ebene 6) kommen alle 3 Schmiede, der Teleporter und die Gemi. Man kann 1x Uppen.
- Nach dem Sensi (Ebene 8) kommen alle 3 Schmiede, der Teleporter und die Gemi. Man kann 1x Uppen.
Nach dem BT (Ebene 10) kommen alle 3 Schmiede, der Teleporter und die Gemi. Man kann 1x Uppen.
- Nachdem Sensi gekillt wurde kommt direkt ein d.kill_all() und 5 sekunden nach dem kill nochmal, damit auch die gemeinen mobs gekillt werden.
3x ist CMD1 drin (nach Stolzer Dämonenkönig, nach Sensi, nach BT)
Sieht bei mir so aus:
Damit das bei euch klappt müsst ihr das im client anpassen.
Genug geredet ... hier die quest:
PHP Code:
quest deviltower_zone begin state start begin when login begin if pc . get_map_index () == 66 then if pc . get_x () < 2048 + 88 or pc . get_y () < 6656 + 577 or pc . get_x () > 2048 + 236 or pc . get_y () > 6656 + 737 then pc . warp (( 5376 + 532 )* 100 , ( 512 + 596 + 4 )* 100 , 65 ) end pc . set_warp_location ( 65 , 5376 + 532 , 512 + 596 + 4 ) elseif pc . get_map_index () > 660000 and pc . get_map_index () < 670000 then pc . set_warp_location ( 65 , 5376 + 532 , 512 + 596 + 4 ) end end when 20348.click begin if pc . get_level () < 30 then say_title ( "Wächter des Dämonenturmes" ) say ( "" ) say ( "Du hast noch nicht genügend Kampferfahrung" ) say ( "gesammelt!" ) say ( "" ) say_reward ( "Komme wieder wenn du Level 30 erreicht hast." ) return end if pc . get_level () > 29 then say_title ( "Wächter des Dämonenturmes" ) say ( "" ) say ( "Der Dämonenturm ist die Heimat von schrecklichen" ) say ( "Kreaturen, die nichts lieber tun, als dich zu töten." ) say ( "Die Boni 'Stark gegen Untote' und 'Pfeilwiderstand'" ) say ( "könnten dir sehr hilfreich sein!" ) say ( "" ) say_reward ( "Ab Level 75 hast du die Möglichkeit den Dämonenturm" ) say_reward ( "mit einer Gruppe zu betreten." ) local betreten = select ( "Dämonenturm normal betreten" , "Dämonenturm als Gruppe betreten" , "Abbrechen" ) if betreten == 1 then pc . warp ( 216500 , 727000 ) end if betreten == 2 and pc . get_level () > 74 then if party . is_party () then say_title ( "Wächter des Dämonenturmes" ) say ( "" ) say ( "Bitte achte darauf, dass sich alle Gruppenmitglieder" ) say ( "im Tempel befinden!" ) say ( "" ) say_reward ( "Möchtest du den Dungeon wirklich mit deiner Gruppe" ) say_reward ( "betreten?" ) local gruppe_betreten = select ( "Dämonenturm als Gruppe betreten" , "Abbrechen" ) if gruppe_betreten == 1 then d . join ( 66 , special . devil_tower [ 1 ][ 1 ], special . devil_tower [ 1 ][ 2 ]) d . spawn_mob ( 8015 , 120 , 615 ) end if gruppe_betreten == 2 then return end end if not party . is_party () then say_title ( "Wächter des Dämonenturmes" ) say ( "" ) say ( "Du kannst diese Option nur ausführen wenn du dich" ) say ( "in einer Gruppe befindest." ) say ( "" ) say_reward ( "Du befindest dich in keiner Gruppe." ) return end end if betreten == 2 and pc . get_level () < 75 then say_title ( "Wächter des Dämonenturmes" ) say ( "" ) say_reward ( "Du kannst diese Option erst mit Level 75 nutzen." ) return end if betreten == 3 then return end end end when 8015.kill begin timer ( "zeit_bis_port" , 10 ) d . notice ( "Ihr habt den Metin der Härte zerstört!" ) d . notice ( "In 10 Sekunden werdet ihr in die erste Ebene teleportiert." ) end when zeit_bis_port . timer begin d . new_jump_all ( 66 , special . devil_tower [ 1 ][ 1 ], special . devil_tower [ 1 ][ 2 ]) d . regen_file ( "data/dungeon/deviltower2_regen.txt" ) d . set_warp_at_eliminate ( 4 , d . get_map_index (), special . devil_tower [ 2 ][ 1 ], special . devil_tower [ 2 ][ 2 ], "data/dungeon/deviltower3_regen.txt" ) end -- when devil_stone2 . kill begin -- d . jump_all_local ( special . devil_tower [ 2 ][ 1 ], special . devil_tower [ 2 ][ 2 ]) -- end when devil_stone3 . kill begin -- d . jump_all_local ( special . devil_tower [ 3 ][ 1 ], special . devil_tower [ 3 ][ 2 ]) -- d . set_exit_all_at_eliminate ( 6 ) -- d . set_warp_at_eliminate ( 6 , d . get_map_index (), 100 , 100 ) -- d . set_warp_at_eliminate ( 4 , 65 , 5376 + 532 , 512 + 596 + 4 ) d . set_warp_at_eliminate ( 4 , d . get_map_index (), special . devil_tower [ 3 ][ 1 ], special . devil_tower [ 3 ][ 2 ], "data/dungeon/deviltower4_regen.txt" ) d . check_eliminated () -- d . exit_all () end function get_4floor_stone_pos () local positions = { { 368 , 629 }, { 419 , 630 }, { 428 , 653 }, { 422 , 679 }, { 395 , 689 }, { 369 , 679 }, { 361 , 658 }, } for i = 1 , 6 do local j = number ( i , 7 ) if i != j then local t = positions [ i ]; positions [ i ] = positions [ j ]; positions [ j ] = t ; end end --for i = 1 , 7 do -- positions [ i ][ 1 ] = positions [ i ][ 1 ] * 100 -- positions [ i ][ 2 ] = positions [ i ][ 2 ] * 100 -- end return positions end when 8016.kill with pc . in_dungeon () and pc . get_map_index () >= 660000 and pc . get_map_index () < 670000 begin d . setf ( "level" , 4 ) -- ¦A² { ¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY -- d . regen_file ( "data/dungeon/deviltower4_regen.txt" ) local positions = deviltower_zone . get_4floor_stone_pos () for i = 1 , 6 do chat ( positions [ i ][ 1 ], positions [ i ][ 2 ]) d . set_unique ( "fake" .. i , d . spawn_mob ( 8017 , positions [ i ][ 1 ], positions [ i ][ 2 ])) end chat ( positions [ 7 ][ 1 ], positions [ 7 ][ 2 ]) local vid = d . spawn_mob ( 8017 , positions [ 7 ][ 1 ], positions [ 7 ][ 2 ]) chat ( vid ) d . set_unique ( "real" , vid ) server_loop_timer ( 'devil_stone4_update' , 10 , pc . get_map_index ()) server_timer ( 'devil_stone4_fail1' , 5 * 60 , pc . get_map_index ()) d . notice ( "Findet den richtigen Metinstein und zerstört ihn." ); d . notice ( "Die falschen Metinsteine werden verschwinden!" ); d . notice ( "Ihr habt 15 Minuten zeit!" ); end when devil_stone4_fail1 . server_timer begin if d . select ( get_server_timer_arg ()) then d . notice ( "Verbleibende Zeit: 10 Minuten" ) server_timer ( 'devil_stone4_fail2' , 5 * 60 , get_server_timer_arg ()) end end when devil_stone4_fail2 . server_timer begin if d . select ( get_server_timer_arg ()) then d . notice ( "Verbleibende Zeit: 5 Minuten" ) server_timer ( 'devil_stone4_fail' , 5 * 60 , get_server_timer_arg ()) end end when devil_stone4_fail . server_timer begin if d . select ( get_server_timer_arg ()) then d . notice ( "Die Zeit ist abgelaufen" ) d . notice ( "Ihr werdet nun nach draußen teleportiert" ) d . exit_all () clear_server_timer ( 'devil_stone4_update' , get_server_timer_arg ()) end end when devil_stone4_update . server_timer begin if d . select ( get_server_timer_arg ()) then if not d . is_unique_dead ( "real" ) then for i = 1 , 6 do if d . getf ( "fakedead" .. i ) == 0 then if d . unique_get_hp_perc ( "fake" .. i ) < 50 then d . purge_unique ( "fake" .. i ) d . setf ( "fakedead" .. i , 1 ) d . notice ( "Der falsche Metinstein ist verschwunden.." ); end end end else -- d . clear_regen () -- d . regen_file ( "data/dungeon/deviltower5_regen.txt" ) server_timer ( "devil_stone4_end" , 5 , get_server_timer_arg ()) d . notice ( "Ihr habt den richtigen Metinstein zerstört." ); d . notice ( "Ihr werdet nun in die nächste Ebene teleportiert" ) clear_server_timer ( 'devil_stone4_fail1' , get_server_timer_arg ()) clear_server_timer ( 'devil_stone4_fail2' , get_server_timer_arg ()) clear_server_timer ( 'devil_stone4_fail' , get_server_timer_arg ()) end else server_timer ( 'devil_stone4_stop_timer' , 1 , get_server_timer_arg ()) end end when devil_stone4_stop_timer . server_timer begin clear_server_timer ( 'devil_stone4_update' , get_server_timer_arg ()) end when devil_stone4_end . server_timer begin if d . select ( get_server_timer_arg ()) then d . setf ( "level" , 5 ) d . setf ( "stone_count" , 5 ) d . notice ( "Du bist nun in der 5. Ebene" ) d . notice ( "Öffne alle Alten Siegel um in die nächste Ebene zu gelangen." ) d . notice ( "Du hast 20 Minuten Zeit um alle Siegel zu öffnen." ) d . jump_all ( special . devil_tower [ 4 ][ 1 ], special . devil_tower [ 4 ][ 2 ]) server_timer ( 'devil_stone5_fail1' , 5 * 60 , get_server_timer_arg ()) clear_server_timer ( 'devil_stone4_update' , get_server_timer_arg ()) -- bla bla d . set_regen_file ( "data/dungeon/deviltower5_regen.txt" ) -- bla bla 2 d . spawn_mob ( 20073 , 421 , 452 ) d . spawn_mob ( 20073 , 380 , 460 ) d . spawn_mob ( 20073 , 428 , 414 ) d . spawn_mob ( 20073 , 398 , 392 ) d . spawn_mob ( 20073 , 359 , 426 ) end end when devil_stone5_fail1 . server_timer begin if d . select ( get_server_timer_arg ()) then d . notice ( "Verbleibende Zeit: 15 Minuten" ) server_timer ( 'devil_stone5_fail2' , 5 * 60 , get_server_timer_arg ()) end end when devil_stone5_fail2 . server_timer begin if d . select ( get_server_timer_arg ()) then d . notice ( "Verbleibende Zeit: 10 Minuten" ) server_timer ( 'devil_stone5_fail3' , 5 * 60 , get_server_timer_arg ()) end end when devil_stone5_fail3 . server_timer begin if d . select ( get_server_timer_arg ()) then d . notice ( "Verbleibende Zeit: 5 Minuten" ) server_timer ( 'devil_stone5_fail' , 5 * 60 , get_server_timer_arg ()) end end when devil_stone5_fail . server_timer begin if d . select ( get_server_timer_arg ()) then d . notice ( "Die Zeit ist abgelaufen" ) d . notice ( "Ihr werdet nun nach draußen teleportiert" ) d . exit_all () end end -- when devil_stone4 . kill begin -- d . setf ( "level" , 5 ) -- d . setf ( "stone_count" , 4 ) -- d . clear_regen () -- d . regen_file ( "data/dungeon/deviltower5_regen.txt" ) -- d . jump_all_local ( special . devil_tower [ 4 ][ 1 ], special . devil_tower [ 4 ][ 2 ]) -- end when 1062.kill with pc . in_dungeon () and d . getf ( "level" ) == 5 begin local KILL_COUNT_FOR_DROP_KEY = 5 --if is_test_server () then -- KILL_COUNT_FOR_DROP_KEY = 1 -- end local n = d . getf ( "count" ) + 1 d . setf ( "count" , n ) if n == KILL_COUNT_FOR_DROP_KEY then -- bla bla 3 game . drop_item ( 50084 , 1 ) d . setf ( "count" , 0 ) end end when devil_stone5 . take with item . vnum == 50084 begin npc . purge () item . remove () d . setf ( "stone_count" , d . getf ( "stone_count" ) - 1 ) if d . getf ( "stone_count" ) <= 0 then d . setf ( "level" , 6 ) d . clear_regen () d . regen_file ( "data/dungeon/deviltower6_regen.txt" ) d . notice ( "Ihr habt alle alten Siegel geöffnet. Ihr werdet nun" ) d . notice ( "in die 6. Ebene teleportiert." ) d . jump_all ( special . devil_tower [ 5 ][ 1 ], special . devil_tower [ 5 ][ 2 ]) clear_server_timer ( 'devil_stone5_fail1' , get_server_timer_arg ()) clear_server_timer ( 'devil_stone5_fail2' , get_server_timer_arg ()) clear_server_timer ( 'devil_stone5_fail3' , get_server_timer_arg ()) clear_server_timer ( 'devil_stone5_fail' , get_server_timer_arg ()) else d . notice ( "Es verbleibt eine Anzahl von " .. d . getf ( "stone_count" ).. " Siegeln" ) end end when devil_stone6 . kill begin -- bla bla 4 -- bla bla 5 -- d . jump_all ( special . devil_tower [ 6 ][ 1 ], special . devil_tower [ 6 ][ 2 ]) d . kill_all () -- d . set_warp_at_eliminate ( 3 * 60 , 65 , 5376 + 532 , 512 + 596 + 4 ) d . check_eliminated () timer ( "stolzerking_killed" , 5 ) end when stolzerking_killed . timer begin cmdchat ( "CMD1" ) d . spawn_mob ( 9012 , 395 , 200 ) d . spawn_mob ( 20074 , 392 , 209 ) d . spawn_mob ( 20075 , 405 , 209 ) d . spawn_mob ( 20076 , 399 , 209 ) d . spawn_mob ( 9003 , 402 , 200 ) d . setqf ( "can_refine" , 1 ) d . notice ( "Du hast den Stolzen Dämonenkönig getötet und damit den 1. Teil des Dungeons abgeschlossen." ) d . notice ( "Als Belohnung darfst du einen Gegenstand bei den dämonischen Schmieden verbessern." ) d . notice ( "Falls du für den 2. Teil des Dungeons etwas benötigst kannst du es bei der Gemischtwarenhändlerin kaufen." ) d . notice ( "Du wirst in 2 Minuten automatisch auf die nächste Ebene teleportiert." ) timer ( "zeit_zum_uppen" , 110 ) end when zeit_zum_uppen . timer begin d . notice ( "In 10 Sekunden wirst du auf die nächste Ebene teleportiert." ) timer ( "zeit_bis_mordesebene" , 10 ) end when zeit_bis_mordesebene . timer begin d . clear_regen () d . spawn_mob ( 8018 , 639 , 658 ) d . spawn_mob ( 8018 , 611 , 637 ) d . spawn_mob ( 8018 , 596 , 674 ) d . spawn_mob ( 8018 , 629 , 670 ) d . setf ( "level" , 7 ) d . jump_all ( 2048 + 590 , 6656 + 638 ) end when 8018.kill with pc . in_dungeon () and pc . get_map_index () >= 660000 and pc . get_map_index () < 670000 begin local cont = d . getf ( "7_stone_kill" ) + 1 d . setf ( "7_stone_kill" , cont ) if cont >= 4 then d . setf ( "7_stone_kill" , 0 ) d . set_regen_file ( "data/dungeon/deviltower7_regen.txt" ) end end when 8019.kill with pc . in_dungeon () and pc . get_map_index () >= 660000 and pc . get_map_index () < 670000 begin game . drop_item ( 30300 , 1 ) end when 30300. use with pc . in_dungeon () and pc . get_map_index () >= 660000 and pc . get_map_index () < 670000 begin pc . remove_item ( "30300" , 1 ) local pct = number ( 1 , 10 ) if pct == 1 then -- bla bla 7 game . drop_item ( 30302 , 1 ) d . clear_regen () else -- bla bla 8 game . drop_item ( 30301 , 1 ) end end when 30302. use with pc . in_dungeon () and pc . get_map_index () >= 660000 and pc . get_map_index () < 670000 begin -- bla bla 9 say_title ( "Karte der Zin-Grotte" ) say ( "" ) say ( "Herzlichen Glückwunsch! Du hast die richtige Karte" ) say ( "gefunden." ) say ( "" ) say_reward ( "Du wirst jetzt in die nächste Ebene teleportiert." ) pc . remove_item ( "30302" , 1 ) timer ( "devil_jump_8" , 6 ) d . clear_regen () end -------------------------------------------- -- bla bla 10 -------------------------------------------- when devil_jump_8 . timer begin d . setf ( "level" , 8 ) d . jump_all ( 2048 + 590 , 6656 + 403 ) d . set_regen_file ( "data/dungeon/deviltower8_regen.txt" ) d . spawn_mob ( 20366 , 640 , 460 ) local _count = pc . count_item ( 30302 )-- bla bla 11 pc . remove_item ( 30302 , _count ) end when 1040.kill with pc . in_dungeon () and pc . get_map_index () >= 660000 and pc . get_map_index () < 670000 begin local pct1 = number ( 1 , 5 ) if pct1 == 1 then local pct2 = number ( 1 , 10 ) if pct2 == 1 then -- bla bla 12 game . drop_item ( 30304 , 1 ) else -- bla bla 13 game . drop_item ( 30304 , 1 ) end else return end end when 20366.take with item . vnum == 30304 begin -- bla bla 14 npc . purge () item . remove () d . kill_all () timer ( "devil_jump_9" , 6 ) end --------------------------------------------- -- bla bla 15 --------------------------------------------- when devil_jump_9 . timer begin d . setf ( "level" , 9 ) d . jump_all ( 2048 + 590 , 6656 + 155 ) d . regen_file ( "data/dungeon/deviltower9_regen.txt" ) end when 1093.kill with pc . in_dungeon () and pc . get_map_index () >= 660000 and pc . get_map_index () < 670000 begin d . kill_all () timer ( "sensi_killed" , 5 ) end when sensi_killed . timer begin cmdchat ( "CMD1" ) d . kill_all () d . spawn_mob ( 9012 , 618 , 187 ) d . spawn_mob ( 20074 , 611 , 179 ) d . spawn_mob ( 20075 , 620 , 170 ) d . spawn_mob ( 20076 , 628 , 179 ) d . spawn_mob ( 9003 , 621 , 187 ) d . setqf ( "can_refine" , 1 ) d . notice ( "Du hast den Sensenmann getötet und damit den 2. Teil des Dungeons abgeschlossen." ) d . notice ( "Als Belohnung darfst du einen Gegenstand bei den dämonischen Schmieden verbessern." ) d . notice ( "Falls du den Dungeon fortführen möchtest, kannst du dir bei der Gemischtwarenhändlerin" ) d . notice ( "erneut Tränke kaufen. Du wirst in 2 Minuten automatisch auf die nächste Ebene teleportiert." ) timer ( "zeit_nach_sensi" , 110 ) end when zeit_nach_sensi . timer begin d . notice ( "In 10 Sekunden wirst du auf die nächste Ebene teleportiert." ) timer ( "zeit_bis_gemeinerking" , 10 ) end when zeit_bis_gemeinerking . timer begin d . jump_all ( 2048 + 590 , 6656 + 155 ) d . kill_all () d . spawn_mob ( 1094 , 620 , 170 ) d . notice ( "Der Gemeine Dämonenkönig treibt hier sein Unwesen." ) d . notice ( "Töte ihn, um auf die nächste Ebene zu gelangen." ) end when 1094.kill with pc . in_dungeon () and pc . get_map_index () >= 660000 and pc . get_map_index () < 670000 begin timer ( "zeit_bis_bt" , 10 ) d . notice ( "Du hast den Gemeinen Dämonenkönig getötet." ) d . notice ( "In 10 Sekunden wirst du auf die letzte Ebene teleportiert." ) end when zeit_bis_bt . timer begin d . jump_all ( 2048 + 590 , 6656 + 155 ) d . kill_all () d . spawn_mob ( 1095 , 620 , 170 ) d . notice ( "Du befindest dich auf der letzten Ebene des Dämonenturmes." ) d . notice ( "Töte den Blauen Tod und du wirst reich belohnt!" ) end when 1095.kill with pc . in_dungeon () and pc . get_map_index () >= 660000 and pc . get_map_index () < 670000 begin cmdchat ( "CMD1" ) d . kill_all () d . spawn_mob ( 9012 , 618 , 187 ) d . spawn_mob ( 20074 , 611 , 179 ) d . spawn_mob ( 20075 , 620 , 170 ) d . spawn_mob ( 20076 , 628 , 179 ) d . spawn_mob ( 9003 , 621 , 187 ) d . setqf ( "can_refine" , 1 ) d . notice ( "Du hast den Blauen Tod getötet und damit den Dämonenturm abgeschlossen." ) d . notice ( "Herzlichen Glückwunsch!" ) d . notice ( "Du darfst erneut einen Gegenstand bei den dämonischen Schmieden verbessern. Viel Glück!" ) notice_all ( "" .. pc . get_name () .. " hat den Blauen Tod getötet und damit den Dämonenturm abgeschlossen." ) end end end
Auch nochmal im Anhang wegen den Tabs und so
EDIT:
wenn jemand den gruppenrun testet bitte mir eine pn schreiben obs funktioniert oder nicht
--> Habe auch meine größte Befürchtung bei dieser Option getestet:
Gruppenrun gestartet und bis zum 3. Ebene (Dämonenking) gemacht.
Mit 2. Char normalen Run gestartet und auch bis zur 3. Ebene gemacht. (habe befürchtet, dass man dann im gleichen run ist. Ist man aber nicht! Klappt also parallel!
)
PHP Code:
Changelog : Gruppenrun gefixxt . ( Notlösung ) Beim Start des Gruppensruns wird die Gruppe in eine leere Ebene teleportiert wo ein Metin der Härte steht . Der muss nur gekillt werden dann gehts weiter . ( Erdgeschoss wird nicht mit teleportiert obwohl es "d.new_jump_all" ist .)
-- Neue Version jetzt auch im Anhang!
Attached Files
deviltower_zone.rar
(3.7 KB, 79 views)
03/06/2014, 15:18
#569
elite*gold: 150
Join Date: Jan 2014
Posts: 11,338
Received Thanks: 3,780
Attached Files
Metin.psd.rar
(830.0 KB, 150 views)
All times are GMT +2. The time now is 07:26 .