|
You last visited: Today at 14:48
Advertisement
[RELEASE] Switcher+ 100% DE LIKE (PY & LUA)
Discussion on [RELEASE] Switcher+ 100% DE LIKE (PY & LUA) within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
02/28/2016, 18:14
|
#16
|
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
|
Quote:
Originally Posted by RealReznov
item.set_attribute and item.get_attribute c++ side pls?
|
search for it here or on m2d*v you will definitly find it any where
|
|
|
02/28/2016, 20:57
|
#17
|
elite*gold: 0
Join Date: May 2015
Posts: 16
Received Thanks: 8
|
Quote:
Originally Posted by RealReznov
item.set_attribute and item.get_attribute c++ side pls?
|
If you really want this switcher you can easy do it in source like normal swtiching item.
|
|
|
02/29/2016, 01:41
|
#18
|
elite*gold: 0
Join Date: Apr 2010
Posts: 2,037
Received Thanks: 736
|
Nicht schlecht
Deine Systeme die du zurzeit machst sind einfach genial
Naja zum Thema Bugs.. klar muss man des ganze System erstmal ausprobieren.
Bei jedem System gab es mal welche aber jemand musste erstmal den ganzen Kram testen bevor man überhaupt was finden kann Leider mangelt es mir an Zeit des System mal zu testen
Gruß
|
|
|
02/29/2016, 20:47
|
#19
|
elite*gold: 50
Join Date: May 2011
Posts: 269
Received Thanks: 990
|
This version of this system is far away from the official version.
Works, it's okay. (Maybe, I did not test it, I'm ignoring pylua systems)
- But, where is the slot locking method(not the whole inventory lock)?
- And where is the slot mark from the locked slot(the red glow)?
- Official window is not closable .
- Unknown: When you get disconnect by the server, what happens while you are used the item already but did not accept it(On GF).
Do you know what does it mean 100% GF Like?
I do not think so. This is only a LITE, an alternative, or a similar version, but not 100% GF Like.
Sorry for my rough style, but these are the real 100% GF Like systems which are not complete yet:
|
|
|
03/01/2016, 17:38
|
#20
|
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
|
Quote:
Originally Posted by xP3NG3Rx
This version of this system is far away from the official version.
Works, it's okay. (Maybe, I did not test it, I'm ignoring pylua systems)
- But, where is the slot locking method(not the whole inventory lock)?
- And where is the slot mark from the locked slot(the red glow)?
- Official window is not closable .
- Unknown: When you get disconnect by the server, what happens while you are used the item already but did not accept it(On GF).
Do you know what does it mean 100% GF Like?
I do not think so. This is only a LITE, an alternative, or a similar version, but not 100% GF Like.
Sorry for my rough style, but these are the real 100% GF Like systems which are not complete yet:
|
i watched a video on how this system is on official and its the same.
and the window isnt closable the button just exist and has no function.
when you get disconnected the window ist still opend when you login again
even if the gui is not the same the function of the system is 100% de like
|
|
|
03/01/2016, 17:42
|
#21
|
elite*gold: 0
Join Date: Jan 2012
Posts: 120
Received Thanks: 17
|
Quote:
Originally Posted by xP3NG3Rx
This version of this system is far away from the official version.
Works, it's okay. (Maybe, I did not test it, I'm ignoring pylua systems)
- But, where is the slot locking method(not the whole inventory lock)?
- And where is the slot mark from the locked slot(the red glow)?
- Official window is not closable .
- Unknown: When you get disconnect by the server, what happens while you are used the item already but did not accept it(On GF).
Do you know what does it mean 100% GF Like?
I do not think so. This is only a LITE, an alternative, or a similar version, but not 100% GF Like.
Sorry for my rough style, but these are the real 100% GF Like systems which are not complete yet:
|
You want rls this ?
|
|
|
03/03/2016, 17:03
|
#22
|
elite*gold: 21
Join Date: Mar 2016
Posts: 31
Received Thanks: 2
|
Sehr schön , Danke!
|
|
|
03/11/2016, 17:30
|
#23
|
elite*gold: 0
Join Date: Aug 2009
Posts: 220
Received Thanks: 25
|
N1ce Release,
hab aber ein Problem damit...
Hab alles genau so eingefügt; Clientside habe ich keinen Fehler!
Serverside habe ich das:
Compilte Quest:
notarget/button
Code:
local cmd = new_switcher . client_command ( new_switcher . getinput ( "NEWSWITCHER QUESTCMD" ) )
if cmd [ 1 ] == "USE_SWITCHER" then
if cmd [ 2 ] == "76026" then
if pc . getqf ( "login" ) >= get_time ( ) then syschat ( "Du kannst erst 5 Seckunden nach dem einloggen Gegenstand verzaubern+ verwenden" ) return end
if not pc . can_warp ( ) then syschat ( "Bitte warte 10 Seckunden" ) return end
if pc . is_dead ( ) then syschat ( "du musst erst auf stehen bevor du Gegenstand verzaubern+ verwenden kannst." ) return end
if pc . is_polymorphed ( ) then syschat ( "Du kannst Gegenstand verzaubern+ nicht verwenden so lange du verwandelt bist" ) return end
cmdchat ( "NEWSWITCHER CLEAR_BONUS" )
new_switcher . check_actual_bonis ( tonumber ( cmd [ 3 ] ) , tonumber ( cmd [ 4 ] ) , tonumber ( cmd [ 5 ] ) )
end
elseif cmd [ 1 ] == "SWITCH" then
item . select_cell ( tonumber ( cmd [ 3 ] ) )
local itemVnum = item . get_vnum ( )
if itemVnum ~= tonumber ( cmd [ 2 ] ) then syschat ( "Ein Fehler ist aufgetreten!" ) return end
new_switcher . switch_boni ( cmd , itemVnum )
end
notarget/info
Code:
local cmd = new_switcher . client_command ( new_switcher . getinput ( "NEWSWITCHER QUESTCMD" ) )
if cmd [ 1 ] == "USE_SWITCHER" then
if cmd [ 2 ] == "76026" then
if pc . getqf ( "login" ) >= get_time ( ) then syschat ( "Du kannst erst 5 Seckunden nach dem einloggen Gegenstand verzaubern+ verwenden" ) return end
if not pc . can_warp ( ) then syschat ( "Bitte warte 10 Seckunden" ) return end
if pc . is_dead ( ) then syschat ( "du musst erst auf stehen bevor du Gegenstand verzaubern+ verwenden kannst." ) return end
if pc . is_polymorphed ( ) then syschat ( "Du kannst Gegenstand verzaubern+ nicht verwenden so lange du verwandelt bist" ) return end
cmdchat ( "NEWSWITCHER CLEAR_BONUS" )
new_switcher . check_actual_bonis ( tonumber ( cmd [ 3 ] ) , tonumber ( cmd [ 4 ] ) , tonumber ( cmd [ 5 ] ) )
end
elseif cmd [ 1 ] == "SWITCH" then
item . select_cell ( tonumber ( cmd [ 3 ] ) )
local itemVnum = item . get_vnum ( )
if itemVnum ~= tonumber ( cmd [ 2 ] ) then syschat ( "Ein Fehler ist aufgetreten!" ) return end
new_switcher . switch_boni ( cmd , itemVnum )
end
notarget/login
Code:
cmdchat ( "NEWSWITCHER QID/" .. q . getcurrentquestindex ( ) )
pc . setqf ( "login" , get_time ( ) + 5 )
state
Code:
new_switcher={["start"]=0,getinput= function (par)cmdchat ( "getinputbegin" )
local ret = input ( cmdchat ( par ) )
cmdchat ( "getinputend" )
return ret
end ,client_command= function (command_)return new_switcher . split_ ( command_ , "#" )
end ,item_get_wearflag= function (itemVnum)return tonumber ( mysql_query ( "SELECT wearflag FROM player.item_proto WHERE vnum='" .. itemVnum .. "';" ) . wearflag [ 1 ] )
end ,get_bonis= function ()local result = { }
local bonis = io . open ( "/usr/home/game/share/locale/germany/quest/item_attr.txt" , "r" )
for boni in bonis : lines ( ) begin
local value = new_switcher . split_ ( boni , "#" )
table . insert ( result , { value [ 1 ] , value [ 2 ] , value [ 3 ] , value [ 4 ] , value [ 5 ] , value [ 6 ] , value [ 7 ] , value [ 8 ] , value [ 9 ] , value [ 10 ] , value [ 11 ] , value [ 12 ] , value [ 13 ] , value [ 14 ] , value [ 15 ] } )
end
return result
end ,get_bonis_via_wearfleg= function (wearfleg)local bonis = {
[ 1 ] = { } ,
[ 2 ] = { } ,
[ 4 ] = { } ,
[ 8 ] = { } ,
[ 16 ] = { } ,
[ 32 ] = { } ,
[ 64 ] = { } ,
[ 256 ] = { } ,
}
local wearflag_lines = { [ 8 ] = 16 , [ 9 ] = 1 , [ 10 ] = 8 , [ 11 ] = 4 , [ 12 ] = 32 , [ 13 ] = 2 , [ 14 ] = 256 , [ 15 ] = 256 }
local all_bonis = new_switcher . get_bonis ( )
for i = 1 , table . getn ( all_bonis ) begin
for a = 8 , 15 begin
if tonumber ( all_bonis [ i ] [ a ] ) == 5 or tonumber ( all_bonis [ i ] [ a ] ) == 1 then
local value_number = apply [ tostring ( all_bonis [ i ] [ 1 ] ) ]
table . insert ( bonis [ wearflag_lines [ a ] ] , { value_number , all_bonis [ i ] [ 3 ] , all_bonis [ i ] [ 4 ] , all_bonis [ i ] [ 5 ] , all_bonis [ i ] [ 6 ] , all_bonis [ i ] [ 7 ] } )
end
end
end
return bonis [ tonumber ( wearfleg ) ]
end ,get_random_bonis= function (itemVnum,attr_count,wearfleg)local result = { }
local bonis = new_switcher . get_bonis_via_wearfleg ( wearfleg )
for i = 1 , attr_count begin
local number = math . random ( 1 , table . getn ( bonis ) )
table . insert ( result , { bonis [ number ] [ 1 ] , bonis [ number ] [ math . random ( 2 , 6 ) ] } )
table . remove ( bonis , number )
end
for i = 1 , table . getn ( result ) begin
cmdchat ( string . format ( "NEWSWITCHER NEW_ATTR/%d/%d" , tonumber ( result [ i ] [ 1 ] ) , tonumber ( result [ i ] [ 2 ] ) ) )
pc . setqf ( string . format ( "switcher_attrtype_%s" , i - 1 ) , result [ i ] [ 1 ] )
pc . setqf ( string . format ( "switcher_attrvalue_%s" , i - 1 ) , result [ i ] [ 2 ] )
end
cmdchat ( "NEWSWITCHER OPEN" )
end ,check_actual_bonis= function (cell,slot,wearflag)local attr_count = 0
item . select_cell ( tonumber ( cell ) )
local itemVnum = item . get_vnum ( )
pc . setqf ( "itemVnum" , 0 )
pc . setqf ( "cell" , 0 )
pc . setqf ( "itemVnum" , itemVnum )
pc . setqf ( "cell" , tonumber ( cell ) )
local check_flag = new_switcher . item_get_wearflag ( itemVnum )
if check_flag ~= tonumber ( wearflag ) then syschat ( "Den Client zu manipulieren ist nicht erlaubt und wird bestraft!" ) return end
local attr = { item . get_attribute ( 0 ) , item . get_attribute ( 1 ) , item . get_attribute ( 2 ) , item . get_attribute ( 3 ) , item . get_attribute ( 4 ) }
if attr [ 1 ] [ 1 ] == 0 and attr [ 1 ] [ 2 ] == 0 then syschat ( "Du musst erst Attribute hinzufügen!" ) return end
item . select_cell ( tonumber ( slot ) )
local switcher_vnum = item . get_vnum ( )
if switcher_vnum ~= 76026 then syschat ( "Den Client zu manipulieren ist nicht erlaubt und wird bestraft!" ) return end
item . remove ( )
for i = 1 , table . getn ( attr ) begin
if attr [ i ] [ 2 ] ~= 0 then
attr_count = attr_count + 1
cmdchat ( string . format ( "NEWSWITCHER OLD_ATTR/%d/%d/%d" , itemVnum , attr [ i ] [ 1 ] , attr [ i ] [ 2 ] ) )
end
end
new_switcher . get_random_bonis ( itemVnum , attr_count , tonumber ( wearflag ) )
end ,switch_boni= function (cmd,itemVnum)local attrs = { }
local count = ( table . getn ( cmd ) - 3 ) / 2
local cell , vnum = pc . getqf ( "cell" ) , pc . getqf ( "itemVnum" )
if itemVnum ~= vnum or cell ~= tonumber ( cmd [ 3 ] ) then syschat ( "Den Client zu manipulieren ist nicht erlaubt und wird bestraft!" ) return end
for i = 1 , count begin
table . insert ( attrs , { pc . getqf ( string . format ( "switcher_attrtype_%s" , i - 1 ) ) , pc . getqf ( string . format ( "switcher_attrvalue_%s" , i - 1 ) ) } )
pc . setqf ( string . format ( "switcher_attrtype_%s" , i - 1 ) , 0 )
pc . setqf ( string . format ( "switcher_attrvalue_%s" , i - 1 ) , 0 )
end
item . select_cell ( tonumber ( cmd [ 3 ] ) )
for i = 1 , table . getn ( attrs ) begin
item . set_attribute ( i - 1 , attrs [ i ] [ 1 ] , attrs [ i ] [ 2 ] )
end
syschat ( "Du hast die Verbesserung geändert" )
end ,split_= function (string_,delimiter)local result = { }
local from = 1
local delim_from , delim_to = string . find ( string_ , delimiter , from )
while delim_from begin
table . insert ( result , string . sub ( string_ , from , delim_from - 1 ) )
from = delim_to + 1
delim_from , delim_to = string . find ( string_ , delimiter , from )
end
table . insert ( result , string . sub ( string_ , from ) )
return result
end }
Kann mir da jemand helfen? bzw. da etwas rauslesen???
Danke!
|
|
|
03/11/2016, 20:00
|
#24
|
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
|
Quote:
Originally Posted by JeeX
N1ce Release,
hab aber ein Problem damit...
Hab alles genau so eingefügt; Clientside habe ich keinen Fehler!
Serverside habe ich das:
Compilte Quest:
notarget/button
Code:
local cmd = new_switcher . client_command ( new_switcher . getinput ( "NEWSWITCHER QUESTCMD" ) )
if cmd [ 1 ] == "USE_SWITCHER" then
if cmd [ 2 ] == "76026" then
if pc . getqf ( "login" ) >= get_time ( ) then syschat ( "Du kannst erst 5 Seckunden nach dem einloggen Gegenstand verzaubern+ verwenden" ) return end
if not pc . can_warp ( ) then syschat ( "Bitte warte 10 Seckunden" ) return end
if pc . is_dead ( ) then syschat ( "du musst erst auf stehen bevor du Gegenstand verzaubern+ verwenden kannst." ) return end
if pc . is_polymorphed ( ) then syschat ( "Du kannst Gegenstand verzaubern+ nicht verwenden so lange du verwandelt bist" ) return end
cmdchat ( "NEWSWITCHER CLEAR_BONUS" )
new_switcher . check_actual_bonis ( tonumber ( cmd [ 3 ] ) , tonumber ( cmd [ 4 ] ) , tonumber ( cmd [ 5 ] ) )
end
elseif cmd [ 1 ] == "SWITCH" then
item . select_cell ( tonumber ( cmd [ 3 ] ) )
local itemVnum = item . get_vnum ( )
if itemVnum ~= tonumber ( cmd [ 2 ] ) then syschat ( "Ein Fehler ist aufgetreten!" ) return end
new_switcher . switch_boni ( cmd , itemVnum )
end
notarget/info
Code:
local cmd = new_switcher . client_command ( new_switcher . getinput ( "NEWSWITCHER QUESTCMD" ) )
if cmd [ 1 ] == "USE_SWITCHER" then
if cmd [ 2 ] == "76026" then
if pc . getqf ( "login" ) >= get_time ( ) then syschat ( "Du kannst erst 5 Seckunden nach dem einloggen Gegenstand verzaubern+ verwenden" ) return end
if not pc . can_warp ( ) then syschat ( "Bitte warte 10 Seckunden" ) return end
if pc . is_dead ( ) then syschat ( "du musst erst auf stehen bevor du Gegenstand verzaubern+ verwenden kannst." ) return end
if pc . is_polymorphed ( ) then syschat ( "Du kannst Gegenstand verzaubern+ nicht verwenden so lange du verwandelt bist" ) return end
cmdchat ( "NEWSWITCHER CLEAR_BONUS" )
new_switcher . check_actual_bonis ( tonumber ( cmd [ 3 ] ) , tonumber ( cmd [ 4 ] ) , tonumber ( cmd [ 5 ] ) )
end
elseif cmd [ 1 ] == "SWITCH" then
item . select_cell ( tonumber ( cmd [ 3 ] ) )
local itemVnum = item . get_vnum ( )
if itemVnum ~= tonumber ( cmd [ 2 ] ) then syschat ( "Ein Fehler ist aufgetreten!" ) return end
new_switcher . switch_boni ( cmd , itemVnum )
end
notarget/login
Code:
cmdchat ( "NEWSWITCHER QID/" .. q . getcurrentquestindex ( ) )
pc . setqf ( "login" , get_time ( ) + 5 )
state
Code:
new_switcher={["start"]=0,getinput= function (par)cmdchat ( "getinputbegin" )
local ret = input ( cmdchat ( par ) )
cmdchat ( "getinputend" )
return ret
end ,client_command= function (command_)return new_switcher . split_ ( command_ , "#" )
end ,item_get_wearflag= function (itemVnum)return tonumber ( mysql_query ( "SELECT wearflag FROM player.item_proto WHERE vnum='" .. itemVnum .. "';" ) . wearflag [ 1 ] )
end ,get_bonis= function ()local result = { }
local bonis = io . open ( "/usr/home/game/share/locale/germany/quest/item_attr.txt" , "r" )
for boni in bonis : lines ( ) begin
local value = new_switcher . split_ ( boni , "#" )
table . insert ( result , { value [ 1 ] , value [ 2 ] , value [ 3 ] , value [ 4 ] , value [ 5 ] , value [ 6 ] , value [ 7 ] , value [ 8 ] , value [ 9 ] , value [ 10 ] , value [ 11 ] , value [ 12 ] , value [ 13 ] , value [ 14 ] , value [ 15 ] } )
end
return result
end ,get_bonis_via_wearfleg= function (wearfleg)local bonis = {
[ 1 ] = { } ,
[ 2 ] = { } ,
[ 4 ] = { } ,
[ 8 ] = { } ,
[ 16 ] = { } ,
[ 32 ] = { } ,
[ 64 ] = { } ,
[ 256 ] = { } ,
}
local wearflag_lines = { [ 8 ] = 16 , [ 9 ] = 1 , [ 10 ] = 8 , [ 11 ] = 4 , [ 12 ] = 32 , [ 13 ] = 2 , [ 14 ] = 256 , [ 15 ] = 256 }
local all_bonis = new_switcher . get_bonis ( )
for i = 1 , table . getn ( all_bonis ) begin
for a = 8 , 15 begin
if tonumber ( all_bonis [ i ] [ a ] ) == 5 or tonumber ( all_bonis [ i ] [ a ] ) == 1 then
local value_number = apply [ tostring ( all_bonis [ i ] [ 1 ] ) ]
table . insert ( bonis [ wearflag_lines [ a ] ] , { value_number , all_bonis [ i ] [ 3 ] , all_bonis [ i ] [ 4 ] , all_bonis [ i ] [ 5 ] , all_bonis [ i ] [ 6 ] , all_bonis [ i ] [ 7 ] } )
end
end
end
return bonis [ tonumber ( wearfleg ) ]
end ,get_random_bonis= function (itemVnum,attr_count,wearfleg)local result = { }
local bonis = new_switcher . get_bonis_via_wearfleg ( wearfleg )
for i = 1 , attr_count begin
local number = math . random ( 1 , table . getn ( bonis ) )
table . insert ( result , { bonis [ number ] [ 1 ] , bonis [ number ] [ math . random ( 2 , 6 ) ] } )
table . remove ( bonis , number )
end
for i = 1 , table . getn ( result ) begin
cmdchat ( string . format ( "NEWSWITCHER NEW_ATTR/%d/%d" , tonumber ( result [ i ] [ 1 ] ) , tonumber ( result [ i ] [ 2 ] ) ) )
pc . setqf ( string . format ( "switcher_attrtype_%s" , i - 1 ) , result [ i ] [ 1 ] )
pc . setqf ( string . format ( "switcher_attrvalue_%s" , i - 1 ) , result [ i ] [ 2 ] )
end
cmdchat ( "NEWSWITCHER OPEN" )
end ,check_actual_bonis= function (cell,slot,wearflag)local attr_count = 0
item . select_cell ( tonumber ( cell ) )
local itemVnum = item . get_vnum ( )
pc . setqf ( "itemVnum" , 0 )
pc . setqf ( "cell" , 0 )
pc . setqf ( "itemVnum" , itemVnum )
pc . setqf ( "cell" , tonumber ( cell ) )
local check_flag = new_switcher . item_get_wearflag ( itemVnum )
if check_flag ~= tonumber ( wearflag ) then syschat ( "Den Client zu manipulieren ist nicht erlaubt und wird bestraft!" ) return end
local attr = { item . get_attribute ( 0 ) , item . get_attribute ( 1 ) , item . get_attribute ( 2 ) , item . get_attribute ( 3 ) , item . get_attribute ( 4 ) }
if attr [ 1 ] [ 1 ] == 0 and attr [ 1 ] [ 2 ] == 0 then syschat ( "Du musst erst Attribute hinzufügen!" ) return end
item . select_cell ( tonumber ( slot ) )
local switcher_vnum = item . get_vnum ( )
if switcher_vnum ~= 76026 then syschat ( "Den Client zu manipulieren ist nicht erlaubt und wird bestraft!" ) return end
item . remove ( )
for i = 1 , table . getn ( attr ) begin
if attr [ i ] [ 2 ] ~= 0 then
attr_count = attr_count + 1
cmdchat ( string . format ( "NEWSWITCHER OLD_ATTR/%d/%d/%d" , itemVnum , attr [ i ] [ 1 ] , attr [ i ] [ 2 ] ) )
end
end
new_switcher . get_random_bonis ( itemVnum , attr_count , tonumber ( wearflag ) )
end ,switch_boni= function (cmd,itemVnum)local attrs = { }
local count = ( table . getn ( cmd ) - 3 ) / 2
local cell , vnum = pc . getqf ( "cell" ) , pc . getqf ( "itemVnum" )
if itemVnum ~= vnum or cell ~= tonumber ( cmd [ 3 ] ) then syschat ( "Den Client zu manipulieren ist nicht erlaubt und wird bestraft!" ) return end
for i = 1 , count begin
table . insert ( attrs , { pc . getqf ( string . format ( "switcher_attrtype_%s" , i - 1 ) ) , pc . getqf ( string . format ( "switcher_attrvalue_%s" , i - 1 ) ) } )
pc . setqf ( string . format ( "switcher_attrtype_%s" , i - 1 ) , 0 )
pc . setqf ( string . format ( "switcher_attrvalue_%s" , i - 1 ) , 0 )
end
item . select_cell ( tonumber ( cmd [ 3 ] ) )
for i = 1 , table . getn ( attrs ) begin
item . set_attribute ( i - 1 , attrs [ i ] [ 1 ] , attrs [ i ] [ 2 ] )
end
syschat ( "Du hast die Verbesserung geändert" )
end ,split_= function (string_,delimiter)local result = { }
local from = 1
local delim_from , delim_to = string . find ( string_ , delimiter , from )
while delim_from begin
table . insert ( result , string . sub ( string_ , from , delim_from - 1 ) )
from = delim_to + 1
delim_from , delim_to = string . find ( string_ , delimiter , from )
end
table . insert ( result , string . sub ( string_ , from ) )
return result
end }
Kann mir da jemand helfen? bzw. da etwas rauslesen???
Danke!
|
sieht so aus als hätteast du die item.get_attribute funktion nicht, genau so wie die item.set_attribute.
wenn du die 34k game benutzt gibts ne lib von imer
bei einer 40k musst du dich informieren wie die funktion bei deiner game heißt und ob sie überhaupt existiert. ansonsten musst du sie im source adden
|
|
|
03/11/2016, 22:45
|
#25
|
elite*gold: 0
Join Date: Feb 2014
Posts: 478
Received Thanks: 564
|
Danke für das release eher was für Oldschools.
Lg
|
|
|
03/12/2016, 08:22
|
#26
|
elite*gold: 0
Join Date: Jan 2016
Posts: 7
Received Thanks: 0
|
Quote:
Originally Posted by gerald500
search for it here or on m2d*v you will definitly find it any where
|
No, it's not public on any other forum
|
|
|
03/12/2016, 14:35
|
#27
|
elite*gold: 0
Join Date: Jan 2015
Posts: 110
Received Thanks: 178
|
Quote:
Originally Posted by RealReznov
No, it's not public on any other forum
|
PHP Code:
int item_get_attribute(lua_State* L) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); LPITEM item = CQuestManager::instance().GetCurrentItem(); if (!item) { lua_pushnumber(L, 0); return 1; } if (!lua_isnumber(L, 1)) { sys_err("[%s] Wrong argument in item_get_attribute, need a number from range(0..%d)!", ch->GetName(), ITEM_ATTRIBUTE_MAX_NUM-2); lua_pushnumber(L, 0); return 1; } int iAttrIndex = (int)lua_tonumber(L, 1); if (iAttrIndex < 0 || iAttrIndex >= ITEM_ATTRIBUTE_MAX_NUM-2) { sys_err("[%s]: Invalid index %d in item_get_attribute. Index out of range(0..%d)", ch->GetName(), iAttrIndex, ITEM_ATTRIBUTE_MAX_NUM-2); lua_pushboolean(L, false); return 1; } const TPlayerItemAttribute& AttrItem = item->GetAttribute(iAttrIndex); lua_newtable(L); lua_pushnumber(L, AttrItem[i].bType); lua_rawseti(L, -2, 1); lua_pushnumber(L, AttrItem[i].sValue); lua_rawseti(L, -2, 2); return 1; } //0x0E int item_set_attribute(lua_State* L) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); LPITEM item = CQuestManager::instance().GetCurrentItem(); if (!item) { lua_pushboolean(L, false); return 1; } if (!lua_isnumber(L, 1)) { sys_err("[%s] Wrong argument[AttrIdx] in item_set_attribute, not number!", ch->GetName()); lua_pushboolean(L, false); return 1; } else if (!lua_isnumber(L, 2)) { sys_err("[%s] Wrong argument[AttrType] in item_set_attribute, not number!", ch->GetName()); lua_pushboolean(L, false); return 1; } else if (!lua_isnumber(L, 3)) { sys_err("[%s] Wrong argument[AttrValue] in item_set_attribute, not number!", ch->GetName()); lua_pushboolean(L, false); return 1; } int bAttrIndex = (int)lua_tonumber(L, 1); if (bAttrIndex < 0 || bAttrIndex >= ITEM_ATTRIBUTE_MAX_NUM-2) { sys_err("[%s]: Invalid index %d in item_set_attribute. Index out of range(0..%d)", ch->GetName(), bAttrIndex, ITEM_ATTRIBUTE_MAX_NUM-2); lua_pushboolean(L, false); return 1; } int bAttrType = (int)lua_tonumber(L, 2); if (bAttrType < 1 || bAttrType >= MAX_APPLY_NUM) { sys_err("[%s]: Invalid apply %d in item_set_attribute. Apply out of range(1..%d)", ch->GetName(), MAX_APPLY_NUM); lua_pushboolean(L, false); return 1; } if (item->HasAttr(bAttrType)) { sys_err("[%s]: Apply %d muliplicated in item_set_attribute.", ch->GetName(), bAttrType); lua_pushboolean(L, false); return 1; } int bAttrValue = (int)lua_tonumber(L, 3); if (bAttrValue < 1 || bAttrValue >= 32767) { sys_err("[%s]: Invalid value %d in item_set_attribute. The value should be between 1 and 32767!", ch->GetName(), bAttrValue); lua_pushboolean(L, false); return 1; } int bAttrCount = item->GetAttributeCount(); //normal bonuses 1-5 if (bAttrCount < 5 && bAttrCount >= 0) { item->SetAttribute(bAttrIndex, bAttrType, bAttrValue); lua_pushboolean(L, true); } else lua_pushboolean(L, false); return 1; }
|
|
|
03/14/2016, 17:53
|
#28
|
elite*gold: 0
Join Date: Jan 2016
Posts: 7
Received Thanks: 0
|
Thanks Now i'm going to try this system
Edit: Little client side bug: I must to move 2x to the item, to open the window.
Help
|
|
|
|
|
Similar Threads
|
[Release] Switcher
08/11/2012 - Last Chaos - 42 Replies
Also wie vllt schon einigen aufgefallen ist steht der Switcher nun Allen frei zu verfügung! Im Zuge der gestrigen Erkenntnis ist nun die Version v0.20 online gegangen und kann ab sofort runtergeladen werden.
http://chaosprojekt.com/banner/single/Switcher.pn g
v0.21
Diese weißt einige Änderungen und Fixes im Vergleich zu der gestern bereitgestellten Version auf. Ich bitte euch deshalb alle diese aktuelle Version runterzuladen!
Viel Spaß und wieder mal ein ganz dickes Dankeschön an TinyGuy...
|
[RELEASE] COD Patch Switcher
05/26/2012 - Call of Duty - 8 Replies
Hey epvp,
ich biete hier meinen Patch Switcher für Call of Duty 2 und Call of Duty 4 an.
Das Programm habe ich selber mit Visual Basic geschrieben.
Features
Das Tool ändert die Version des Spiels in eine beliebig andere (siehe Screens).
|
[RELEASE]Bonus Switcher
07/09/2011 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 10 Replies
Hey leute, hier ist ein Bonusswitcher gecoded von r4yN
Injector (C) by Padmak
|
[Release] Ingame-Switcher
06/05/2011 - Metin2 PServer Guides & Strategies - 24 Replies
Hallo e*pvp,
ich veröffentliche hier meinen Ingame-DSS/FKS-Switcher.
Das eigentliche Script stammt nicht von mir sondern vom v4a-Clienten.
Ich habe es lediglich verändert.
Veränderungen:
Als Menüpunkt, anstelle des HilfeButtons, anwählbar.
Kann DSS & FKS gleichzeitig switchen.
Von 10 auf 1 Switcher reduziert. (Kann auch als MultiSwitcher veröffentlichen wenn es gefragt ist)
|
All times are GMT +2. The time now is 14:48.
|
|