mybitch 9 Posted September 16, 2013 Good day script makers! I would like to request a NPC script that will use PvP points "KILLS" to buy items. Link: http://www.eathena.ws/board/index.php?showtopic=177918 TIA! Quote Share this post Link to post Share on other sites
0 Patskie 88 Posted September 16, 2013 (edited) Try the following : 1. On that script, find : OnPCKillEvent: if ( getgmlevel() >= .gmnokill ) end; getmapxy .@map$, .@x, .@y, 0; 2. Change to : OnPCKillEvent: if ( getgmlevel() >= .gmnokill ) end; getmapxy .@map$, .@x, .@y, 0; set #KILLPOINTS, #KILLPOINTS + 1; 3. Use this script or multi-currency shop by @Emistry : - shop dynamicshop -1,501:50prontera,150,150,0 script Dynamic Shop 100,{ callshop "dynamicshop",1; npcshopattach "dynamicshop"; end; OnBuyItem: for ( set .@j, 0; .@j < getarraysize(.items); set .@j, .@j + 2 ) { for ( set .@k, 0; .@k < getarraysize(@bought_nameid); set .@k, .@k + 1 ) { if ( @bought_nameid[.@k] == .items[.@j] ) { if ( checkweight( @bought_nameid[.@k], @bought_quantity[.@k] ) ) { if ( .currency < .items[.@j+1] ) dispbottom "You don't have enough kill points to purchase this item."; else { .currency -= .items[.@j+1] * @bought_quantity[.@k]; getitem @bought_nameid[.@k], @bought_quantity[.@k]; } } else dispbottom "You cannot carry out more items with you"; } } } deletearray @bought_quantity, getarraysize(@bought_quantity); deletearray @bought_nameid, getarraysize(@bought_nameid); end; OnInit: set .currency, "#KILLPOINTS"; // kill points is used to buy items setarray .items, 4001,5,7227,100,7179,50,4002,5,4003,4,4004,2; // Usage : <item id>,<price> npcshopitem "dynamicshop",0,0; for ( set .@i, 0; .@i < getarraysize(.items); set .@i, .@i + 2 ) npcshopadditem "dynamicshop", .items[.@i], .items[.@i+1]; end;} 4. Configuration : - Put all the items you want to sell with kill points. Check usage. setarray .items, 4001,5,7227,100,7179,50,4002,5,4003,4,4004,2; // Usage : <item id>,<price> 5. Found error? Report it here, show your console command. PS : don't know if this will work. never tried on my test server as i am doing a lot of things. Edited October 26, 2013 by Patskie Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted September 17, 2013 (edited) Try the following : 1. On that script, find : OnPCKillEvent: if ( getgmlevel() >= .gmnokill ) end; getmapxy .@map$, .@x, .@y, 0;2. Change to :OnPCKillEvent: if ( getgmlevel() >= .gmnokill ) end; getmapxy .@map$, .@x, .@y, 0; set #KILLPOINTS, #KILLPOINTS + 1;3. Use this script or multi-currency shop by @Emistry :- shop dynamicshop -1,501:50prontera,150,150,0 script Dynamic Shop 100,{ callshop "dynamicshop",1; npcshopattach "dynamicshop"; end; OnBuyItem: for ( set .@j, 0; .@j < getarraysize(.items); set .@j, .@j + 2 ) { for ( set .@k, 0; .@k < getarraysize(@bought_nameid); set .@k, .@k + 1 ) { if ( @bought_nameid[.@k] == .items[.@j] ) { if ( checkweight( @bought_nameid[.@k], @bought_quantity[.@k] ) ) { if ( .currency < .items[.@j+1] ) dispbottom "You don't have enough kill points to purchase this item."; else { delitem .currency, .items[.@j+1] * @bought_quantity[.@k]; getitem @bought_nameid[.@k], @bought_quantity[.@k]; } } else dispbottom "You cannot carry out more items with you"; } } } deletearray @bought_quantity, getarraysize(@bought_quantity); deletearray @bought_nameid, getarraysize(@bought_nameid); end; OnInit: set .currency, "#KILLPOINTS"; // kill points is used to buy items setarray .items, 4001,5,7227,100,7179,50,4002,5,4003,4,4004,2; // Usage : <item id>,<price> npcshopitem "dynamicshop",0,0; for ( set .@i, 0; .@i < getarraysize(.items); set .@i, .@i + 2 ) npcshopadditem "dynamicshop", .items[.@i], .items[.@i+1]; end;}4. Configuration :- Put all the items you want to sell with kill points. Check usage. setarray .items, 4001,5,7227,100,7179,50,4002,5,4003,4,4004,2; // Usage : <item id>,<price>5. Found error? Report it here, show your console command. PS : don't know if this will work. never tried on my test server as i am doing a lot of things. Will this count if the player keeps feeding. cause there's a condition on the script that will rollback the score if found out that players are just feeding them with points. Edited September 17, 2013 by Emistry removed double quoting. Quote Share this post Link to post Share on other sites
0 Patskie 88 Posted September 19, 2013 Every kill the points will add no matter what Quote Share this post Link to post Share on other sites
Good day script makers! I would like to request a NPC script that will use PvP points "KILLS" to buy items.
Link: http://www.eathena.ws/board/index.php?showtopic=177918
TIA!
Share this post
Link to post
Share on other sites