chromus28 Posted August 11, 2013 Posted August 11, 2013 hi, i Just wanna ask if it is possible to the card trader that every hour he/she will ask for an random cards? aww wrong thread >.< please remove this topic >.< sorry i got in wrong thread maybe wrong >.< Quote
Lil Troll Posted August 11, 2013 Posted August 11, 2013 (edited) Uhmmm im really new to scripting, im learning just by seeing other script and experimenting via trials and error, im not master of ontimers, if anyone know im wrong please correct me. // feel free to modify the script prontera,150,150,4 script Rare Card Trader 604,{ // Change the NPC script name set $CARD_TRADER$, "[Son Goku]"; // Change the name mes $CARD_TRADER$ ; mes "Hi " + strcharinfo(0) +" I do have rare cards here to offer. These cards are limited, for every hour the card stock will be changed. Also the card price is randomly set."; next; mes $CARD_TRADER$ ; mes "This time i sell " + .CardList + " do you want to buy one?"; menu "Yes I do!",BBB,"No thanks!",CCC; close; BBB: next; mes $CARD_TRADER$ ; mes "The card cost "+ .price +" zeny."; input .@card; if (!.@card){ mes "Please input the right value."; } if (zeny < .price == .@card) { mes "Wrong input."; close; } if (zeny > .price == .@card) { mes "Wrong input."; close; } else { next; mes $CARD_TRADER$ ; mes "You bought "+ .Cardlist +" at "+ .price +" zeny."; mes "Your zeny before is "+ readparam(20) +"."; set zeny, zeny-.price; getitem .CardList,1; close; } CCC: next; mes $CARD_TRADER$ ; mes "See you nextime arround!"; close; OnInit: setarray .CardList[0],4001,4002,4003,4004,4005,4006; // Edit your cards here. // Do not change this script below, unless someone refine the ontimer. initnpctimer; end; OnTimer3600000: npctalk "Rare cards has been shuffled!"; set .CardList,.CardList[rand(getarraysize(.CardList))]; set .price,rand(10000,100000); // Change price range here, close it if you want to use fix variable //set .price,100000; = Fix Variable OnTimer3601000: //stopnpctimer; initnpctimer; end; } Here's the script you requested. I also Added Random Price. Edited August 11, 2013 by Lil Troll Quote
chromus28 Posted August 11, 2013 Author Posted August 11, 2013 Uhmmm im really new to scripting, im learning just by seeing other script and experimenting via trials and error, im not master of ontimers, if anyone know im wrong please correct me. // feel free to modify the script prontera,150,150,4 script Rare Card Trader 604,{ // Change the NPC script name set $CARD_TRADER$, "[Son Goku]"; // Change the name mes $CARD_TRADER$ ; mes "Hi " + strcharinfo(0) +" I do have rare cards here to offer. These cards are limited, for every hour the card stock will be changed. Also the card price is randomly set."; next; mes $CARD_TRADER$ ; mes "This time i sell " + .CardList + " do you want to buy one?"; menu "Yes I do!",BBB,"No thanks!",CCC; close; BBB: next; mes $CARD_TRADER$ ; mes "The card cost "+ .price +" zeny."; input .@card; if (!.@card){ mes "Please input the right value."; } if (zeny < .price == .@card) { mes "Wrong input."; close; } if (zeny > .price == .@card) { mes "Wrong input."; close; } else { next; mes $CARD_TRADER$ ; mes "You bought "+ .Cardlist +" at "+ .price +" zeny."; mes "Your zeny before is "+ readparam(20) +"."; set zeny, zeny-.price; getitem .CardList,1; close; } CCC: next; mes $CARD_TRADER$ ; mes "See you nextime arround!"; close; OnInit: setarray .CardList[0],4001,4002,4003,4004,4005,4006; // Edit your cards here. // Do not change this script below, unless someone refine the ontimer. initnpctimer; end; OnTimer3600000: npctalk "Rare cards has been shuffled!"; set .CardList,.CardList[rand(getarraysize(.CardList))]; set .price,rand(10000,100000); // Change price range here, close it if you want to use fix variable //set .price,100000; = Fix Variable OnTimer3601000: //stopnpctimer; initnpctimer; end; } Here's the script you requested. I also Added Random Price. Nice script but i need the random cards that player will be the one who will give the cards that the NPC needed for every hour example on this hour that npc need poring card so i need to bring poring cards to the npc to gain some points to buy some items Quote
Lil Troll Posted August 11, 2013 Posted August 11, 2013 (edited) Here is your request. Have fun! /////////////////////////////////////// // LIL TROLL NUB MESSY SCRIPT // // Feel free to modify the script // //////////////////////////////////// //Map,x,y,direction<TAB>script<TAB>NPC NAME<TAB>SpriteID,{ ftown,209,209,4 script Rare Card Trader 604,{ ///////////////////////////////// // ARRAYS // ////////////////////////////////////////////////////////////////////////////////// // WARNING!! DO NOT USE SAME CARD REQUIREMENT OR ELSE IT WILL BE BUGGED // // FINDING FIX ATM... // /////////////////////////////////////////////////////////////////////////////// //Edit Card that npc gives. you can add more cards if you want just add ,4007,4008,4009,4010,4011; and so on.. setarray .CardList[0],4001,4002,4003,4004,4005,4006; // Card that NPC Sells. setarray .CardReq[0],4001,4002,4003,4004,4005,4006; // 1st Requirement. setarray .CardReq1[0],4001,4002,4003,4004,4005,4006; // 2nd Requirement. set $CARD_TRADER$, "[Yugi]"; // Change the name mes $CARD_TRADER$ ; mes "Hi " + strcharinfo(0) +" I do have rare cards here to offer. These card is limited, for every hour the card will be changed. Also I will select random cards in exchange of the cards I offer.."; next; mes $CARD_TRADER$ ; mes "This time I sell " + (getitemname(.CardList)) + "."; mes "I need "+ (getitemname(.CardReq)) +" and "+ (getitemname(.CardReq1)) +"."; // Required 1 & Required 2 next; menu "Yes I want that card!",BBB,"No thanks!",CCC; close; BBB: next; mes $CARD_TRADER$ ; mes "Checking Items:"; sleep2 1000; mes "........."; sleep2 1000; if (countitem(.CardReq)==0) mes "You dont have "+ (getitemname(.CardReq)) +"."; if (countitem(.CardReq1)==0) mes "You dont have "+ (getitemname(.CardReq1)) +"."; if(countitem(.CardReq)>=1 && countitem(.CardReq1)>=1) goto AAA; close; AAA: next; mes $CARD_TRADER$ ; mes "You bought "+ (getitemname(.Cardlist)) +"."; getitem .CardList,1; delitem .CardReq,1; delitem .CardReq1,1; close; CCC: next; mes $CARD_TRADER$ ; mes "See you nextime arround!"; close; OnInit: npctalk "Rare cards has been shuffled!"; initnpctimer; end; ////////////////////////////////////////////////////////////////////////////// // Do not change variables below, unless someone refine the ontimer. // //////////////////////////////////////////////////////////////////////////// // TIMERS // /////////////////////////////// OnTimer3600000: npctalk "Rare cards has been shuffled!"; set .CardList,.CardList[rand(getarraysize(.CardList))]; set .CardReq,.CardReq[rand(getarraysize(.CardReq))]; set .CardReq1,.CardReq1[rand(getarraysize(.CardReq1))]; OnTimer3601000: initnpctimer; end; } Edited August 11, 2013 by Lil Troll Quote
chromus28 Posted August 11, 2013 Author Posted August 11, 2013 Here is your request. Have fun! /////////////////////////////////////// // LIL TROLL NUB MESSY SCRIPT // // Feel free to modify the script // //////////////////////////////////// //Map,x,y,direction<TAB>script<TAB>NPC NAME<TAB>SpriteID,{ ftown,209,209,4 script Rare Card Trader 604,{ ///////////////////////////////// // ARRAYS // ////////////////////////////////////////////////////////////////////////////////// // WARNING!! DO NOT USE SAME CARD REQUIREMENT OR ELSE IT WILL BE BUGGED // // FINDING FIX ATM... // /////////////////////////////////////////////////////////////////////////////// //Edit Card that npc gives. you can add more cards if you want just add ,4007,4008,4009,4010,4011; and so on.. setarray .CardList[0],4001,4002,4003,4004,4005,4006; // Card that NPC Sells. setarray .CardReq[0],4001,4002,4003,4004,4005,4006; // 1st Requirement. setarray .CardReq1[0],4001,4002,4003,4004,4005,4006; // 2nd Requirement. set $CARD_TRADER$, "[Yugi]"; // Change the name mes $CARD_TRADER$ ; mes "Hi " + strcharinfo(0) +" I do have rare cards here to offer. These card is limited, for every hour the card will be changed. Also I will select random cards in exchange of the cards I offer.."; next; mes $CARD_TRADER$ ; mes "This time I sell " + (getitemname(.CardList)) + "."; mes "I need "+ (getitemname(.CardReq)) +" and "+ (getitemname(.CardReq1)) +"."; // Required 1 & Required 2 next; menu "Yes I want that card!",BBB,"No thanks!",CCC; close; BBB: next; mes $CARD_TRADER$ ; mes "Checking Items:"; sleep2 1000; mes "........."; sleep2 1000; if (countitem(.CardReq)==0) mes "You dont have "+ (getitemname(.CardReq)) +"."; if (countitem(.CardReq1)==0) mes "You dont have "+ (getitemname(.CardReq1)) +"."; if(countitem(.CardReq)>=1 && countitem(.CardReq1)>=1) goto AAA; close; AAA: next; mes $CARD_TRADER$ ; mes "You bought "+ (getitemname(.Cardlist)) +"."; getitem .CardList,1; delitem .CardReq,1; delitem .CardReq1,1; close; CCC: next; mes $CARD_TRADER$ ; mes "See you nextime arround!"; close; OnInit: npctalk "Rare cards has been shuffled!"; initnpctimer; end; ////////////////////////////////////////////////////////////////////////////// // Do not change variables below, unless someone refine the ontimer. // //////////////////////////////////////////////////////////////////////////// // TIMERS // /////////////////////////////// OnTimer3600000: npctalk "Rare cards has been shuffled!"; set .CardList,.CardList[rand(getarraysize(.CardList))]; set .CardReq,.CardReq[rand(getarraysize(.CardReq))]; set .CardReq1,.CardReq1[rand(getarraysize(.CardReq1))]; OnTimer3601000: initnpctimer; end; } Sir the npc didn't showed up i already put it on script_custom and edit it like this /////////////////////////////////////// // LIL TROLL NUB MESSY SCRIPT // // Feel free to modify the script // //////////////////////////////////// //Map,x,y,directionscriptNPC NAMESpriteID,{ prontera,142,166,6 script Rare Card Trader 604,{ ///////////////////////////////// // ARRAYS // ////////////////////////////////////////////////////////////////////////////////// // WARNING!! DO NOT USE SAME CARD REQUIREMENT OR ELSE IT WILL BE BUGGED // // FINDING FIX ATM... // /////////////////////////////////////////////////////////////////////////////// Quote
Lil Troll Posted August 11, 2013 Posted August 11, 2013 Can you show me the error? What line? Please add screeny. Its working on my test server. I guess you havent used tabs in these. //Map,x,y,direction<TAB>script<TAB>NPC NAME<TAB>SpriteID,{ prontera,142,166,6<TAB>script<TAB>Rare<TAB>Card Trader<TAB>604,{ Quote
Patskie Posted August 15, 2013 Posted August 15, 2013 hi, i Just wanna ask if it is possible to the card trader that every hour he/she will ask for an random cards? aww wrong thread >.< please remove this topic >.< sorry i got in wrong thread maybe wrong >.< Mean getting random cards every hour? : prontera,150,150,0 script Card Trader 100,{ OnMinute00: getitem rand(4001,4555),1; end; } Quote
chromus28 Posted August 15, 2013 Author Posted August 15, 2013 hi, i Just wanna ask if it is possible to the card trader that every hour he/she will ask for an random cards? aww wrong thread >.< please remove this topic >.< sorry i got in wrong thread maybe wrong >.< Mean getting random cards every hour? : prontera,150,150,0 script Card Trader 100,{ OnMinute00: getitem rand(4001,4555),1; end; } Yes, and in that card they can get a points in each cards.. example poring cards gives 10 points each.. mandragora gives 30 points each.. Quote
Patskie Posted August 15, 2013 Posted August 15, 2013 Try : prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } Quote
chromus28 Posted August 15, 2013 Author Posted August 15, 2013 Try : prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } oh sorry i forgot to ask..how can i use this points that im receiving? Quote
Patskie Posted August 15, 2013 Posted August 15, 2013 Try : prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } oh sorry i forgot to ask..how can i use this points that im receiving? You can use it to purchase items. You can use this and set the currency value to #CASHPOINTS. Quote
chromus28 Posted August 16, 2013 Author Posted August 16, 2013 Try : prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } oh sorry i forgot to ask..how can i use this points that im receiving? You can use it to purchase items. You can use this and set the currency value to #CASHPOINTS. Oh ok btw sorry im noob on that OnMinute,, what should i do if i want to make it 1hour? sir i got error.. Oh its ok now but the problem is getitem .cards[ .random ], 1; <<<this one..how can i change it to i am the one who will give cards to have a points? Quote
belphegor Posted August 16, 2013 Posted August 16, 2013 (edited) Try : prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } oh sorry i forgot to ask..how can i use this points that im receiving? You can use it to purchase items. You can use this and set the currency value to #CASHPOINTS. Oh ok btw sorry im noob on that OnMinute,, what should i do if i want to make it 1hour? sir i got error.. Oh its ok now but the problem is getitem .cards[ .random ], 1; <<<this one..how can i change it to i am the one who will give cards to have a points? prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> attachrid(getcharid(3,strcharinfo(0)); set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } Edited August 16, 2013 by belphegor Quote
chromus28 Posted August 16, 2013 Author Posted August 16, 2013 Try : prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } oh sorry i forgot to ask..how can i use this points that im receiving? You can use it to purchase items. You can use this and set the currency value to #CASHPOINTS. Oh ok btw sorry im noob on that OnMinute,, what should i do if i want to make it 1hour? sir i got error.. Oh its ok now but the problem is getitem .cards[ .random ], 1; <<<this one..how can i change it to i am the one who will give cards to have a points? prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> attachrid(getcharid(3,strcharinfo(0)); set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } here is the error Quote
belphegor Posted August 16, 2013 Posted August 16, 2013 (edited) Try : prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } oh sorry i forgot to ask..how can i use this points that im receiving? You can use it to purchase items. You can use this and set the currency value to #CASHPOINTS. Oh ok btw sorry im noob on that OnMinute,, what should i do if i want to make it 1hour? sir i got error.. Oh its ok now but the problem is getitem .cards[ .random ], 1; <<<this one..how can i change it to i am the one who will give cards to have a points? prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> attachrid(getcharid(3,strcharinfo(0)); set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; set #CASHPOINTS, #CASHPOINTS + @amount[ .random ]; end; } here is the error Sorry 'bout that. prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> set @receiver$,strcharinfo(0); attachrid(getcharid(3,@receiver$)); set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; #CASHPOINTS = #CASHPOINTS + @amount[ .random ]; end; } Or this. Even i'm confused now @.@ prontera,150,150,0 script Sample 100,{ OnMinute00: setarray .cards[0], 4001,4002,4003,4004,4005,4006,4007; // <id> setarray .amount[0], 10,5,2,6,7,8,9; // <points> addrid(0); set .random, rand( getarraysize( .cards ) ); getitem .cards[ .random ], 1; #CASHPOINTS = #CASHPOINTS + @amount[ .random ]; end; } Edited August 16, 2013 by belphegor Quote
Emistry Posted August 16, 2013 Posted August 16, 2013 wait wait wait.... you guys are running out of topic.... ???? i think topic starter looking for this ??? prontera,155,181,4 script Sample 757,{ mes "Bring me "+getitemname( .card_id ); if( countitem( .card_id ) ){ if( select( "Exchange to 10,000 zeny ?","Close" ) == 1 ){ delitem .card_id,1; Zeny += 10000; mes "Gained 10,000 zeny for exchanging 1 "+getitemname( .card_id ); } } close; OnInit: OnMinute00: .card_id = rand( 4001,4555 ); end; } Quote
chromus28 Posted August 16, 2013 Author Posted August 16, 2013 wait wait wait.... you guys are running out of topic.... ???? i think topic starter looking for this ??? prontera,155,181,4 script Sample 757,{ mes "Bring me "+getitemname( .card_id ); if( countitem( .card_id ) ){ if( select( "Exchange to 10,000 zeny ?","Close" ) == 1 ){ delitem .card_id,1; Zeny += 10000; mes "Gained 10,000 zeny for exchanging 1 "+getitemname( .card_id ); } } close; OnInit: OnMinute00: .card_id = rand( 4001,4555 ); end; } haha lol..btw sir emistry how can i change this like on each card there is a different points..and that points can be use to buy some items..Poring coin is ok.. Quote
Question
chromus28
hi,
i Just wanna ask if it is possible to the card trader that every hour he/she will ask for an random cards?
aww wrong thread >.<
please remove this topic >.< sorry i got in wrong thread
maybe wrong >.<
16 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.