Jump to content

PandaLovesHamster

Members
  • Posts

    452
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by PandaLovesHamster

  1. Just add these stuff at the normal NPCs you see around. if(countitem(item_number_here) != 0){ do npc stuff here } else{ you dont have enough item_name_here } As for the buffs, you can refer to Healer NPC something like this sc_start 30,1200000,10; specialeffect2 42; //Blessing sc_start 32,1200000,10; specialeffect2 37; //Agi Up ... VIP Quest Giver, use Euphy's and then add the check above, the countitem thing. Vague, but you should get the picture. If you can't I'll try helping though kinda busy with some of my scripts too.
  2. pcblockmove getcharid(3),1; <- holds the player pcblockmove getcharid(3),0; <- frees the player You should attachids though so no errors pop up in map server when used.
  3. Greenmagic, it works. Though question, would it be possible to warp to a friend's location using above item? For instance friend A is at prontera, friend B is at PVP Room, you can teleport to friend A but you can't teleport to friend B because of restrictions. Also teleporting to MVP Maps should be disabled perhaps.
  4. It would be better if you just make another quest npc for it.
  5. This can be done with using callfunc I believe? Though it is one time use only, I might be wrong though.
  6. Check map server for errors.
  7. Just edit this thing. It should be able to do what you want to do, just modify it as you see fit. //Level Ticket //Modified by Panda prontera,165,163,3 script Novice Enchantress 521,{ cutin "shaloshi04.bmp",2; if( Class != 0 ){ mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "You are UGLY!"; mes "I only talk to cute little novices!"; close2; cutin "",255; } if(countitem(30027) < 1){ mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "Do you wish to level up instantly?"; mes "Do you want to purchase our ^FF0000Level Ticket^000000?"; next; mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "One ticket costs 150 Flake Points."; mes "Proceed with purchase?"; menu "Yes",-; if(#FKPoints < 150){ mes "You don't have enough Flake Points."; close2; cutin "",255; end;} next; mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "Perfect!"; mes "Here you are!"; mes "Thank you for your purchase."; set #FKPoints,#FKPoints - 150; getitem 30027,1; close2; cutin "",255; end; } mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "Welcome to ^FF0000FlakesRO^000000"; mes "I am here to assist you."; mes "Choose your class and join the adventure."; next; .@i = select( .Menu$ ) - 1; if( select( "Change to "+jobname( .JobList[.@i] )+"?:Cancel" ) == 1 ){ jobchange .JobList[.@i]; BaseLevel = .BaseLevel; JobLevel = .JobLevel; resetskill; resetstatus; set SkillPoint, 107; mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "Thank you for purchasing our Level Ticket."; mes "Talk to me again to change your class."; delitem 30027,1; close2; cutin "",255; } end; OnInit: setarray .JobList[0],7,8,9,10,11,12,14,15,16,17,18,19,20; .BaseLevel = 99; .JobLevel = 50; .@size = getarraysize( .JobList ); for( .@i = 0; .@i < .@size; .@i++ ) .Menu$ = .Menu$ + jobname( .JobList[.@i] )+":"; waitingroom "Disabled",0; /* reload: delwaitingroom; waitingroom "Want Instant Level?",0; sleep2 3000; delwaitingroom; waitingroom "Grab our Level Tickets!",0; sleep2 3000; delwaitingroom; waitingroom "Purchase them now!",0; sleep2 3000; goto reload; */ end; }
  8. Hi, I know the usage of gettimetick, however I do want to compare the day, for instance Tuesday, Wednesday etc. I'm not that good at scripting so I'd like to have a few ideas to work on. For instance, player logged in at Monday, didn't log in at Tuesday then logged back in Wednesday, how do I make the NPC recognize the skipped date and reset his log in count? Thanks.
  9. You'd have to make multiple lines I suppose if you want specific monsters?
  10. Are the custom items present in your database? Can you have a screenshot of the map server error as well just for clarifications?
  11. Please edit the post and put it on a code box to make it easier to see and read. I'll try to see if there's anything I can do to help.
  12. Map server error? Whole error please. NOTE: Please use code box T_T
  13. OnInit: freeloop(1); while(1){ announce "bla bla bla",0; sleep2 600000; } freeloop(0); end; Please have a try. Not sure if it would work.
  14. Config this to how you like. //Level Ticket prontera,165,163,3 script Novice Enchantress 521,{ if( Class != 0 ){ mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "You are UGLY!"; mes "I only talk to cute little novices!"; close; } if(countitem(30027) < 1){ mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "Do you wish to level up instantly?"; mes "Do you want to purchase our ^FF0000Level Ticket^000000?"; next; mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "One ticket costs 150 Flake Points."; mes "Proceed with purchase?"; menu "Yes",-; if(#FKPoints < 150){ mes "You don't have enough Flake Points."; close; } next; mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "Perfect!"; mes "Here you are!"; mes "Thank you for your purchase."; set #FKPoints,#FKPoints - 150; getitem 30027,1; close; end; } mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "Welcome to ^FF0000FlakesRO^000000"; mes "I am here to assist you."; mes "Choose your class and join the adventure."; next; .@i = select( .Menu$ ) - 1; if( select( "Change to "+jobname( .JobList[.@i] )+"?:Cancel" ) == 1 ){ jobchange .JobList[.@i]; BaseLevel = .BaseLevel; JobLevel = .JobLevel; resetskill; resetstatus; set SkillPoint, 107; mes "[ ^FF0000Novice Enchantress^000000 ]"; mes "Thank you for purchasing our Level Ticket!"; delitem 30027,1; close; } end; OnInit: setarray .JobList[0],7,8,9,10,11,12,14,15,16,17,18,19,20; .BaseLevel = 99; .JobLevel = 50; .@size = getarraysize( .JobList ); for( .@i = 0; .@i < .@size; .@i++ ) .Menu$ = .Menu$ + jobname( .JobList[.@i] )+":"; reload: delwaitingroom; waitingroom "Want Instant Level?",0; sleep2 3000; delwaitingroom; waitingroom "Grab our Level Tickets!",0; sleep2 3000; delwaitingroom; waitingroom "Purchase them now!",0; sleep2 3000; goto reload; end; }
  15. Sir I can't seem to open the link you have included on your post.
  16. Will it support 20120410 client? And can I replace, for instance gunslinger sprites, with this sprites?
  17. Yes, it is when the server is loading itemdb files. Is there any way to fix it?
  18. You can. 7539,Poring_Coin,Poring Coin,3,3,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "poringcoin"; },{},{} And then function script poringcoin { set #points_here, #points_here + value_here dispbottom "You have gained value_here points_here points!"; dispbottom "You now have a total of "+#points_here+" points_here points!"; end; }
  19. Yup. The else would be at most bottom part.
  20. Aren't there usually hidden names attached to those Tool Dealer npcs? Like Tool Dealer#1234?
  21. Something like this: prt_in,89,72,6 script Hunter Association 951,{ if(countitem(item_here)) > item_quantity){ function Chk; ... } else{ mes "Not enough."; close; }
  22. Not the one you're looking for, but you can probably build it from this one. Note: This is not my own script, I just saw it in my collections and posted it here. Credits to the owner. - script cashpoint -1,{ OnInit: bindatcmd "addcashpoints",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: if (getgmlevel() < 10) end; set .@AID, getcharid(3); // save their RID mes "Hello GM"; mes "Enter the char's name:"; input .@name$; query_sql "SELECT `account_id`,`name` FROM `char` WHERE `name` = '"+escape_sql(.@name$)+"'", .@account_id,.@name$; if (!.@account_id) { mes "^FF0000This player doesn't exist!"; close; } mes "How many Activity points would you like give to^0000FF " + .@name$ + "^000000?"; input .@amt; if (.@amt < 1) { mes "Amount must be positive."; close; } mes " "; mes "Give "+.@amt+" Activity points to "+.@name$+"?"; if(select("Yes:No")==2) close; if (attachrid(.@account_id)) { set #CASHPOINTS, #CASHPOINTS + .@amt; dispbottom "Gained "+.@amt+" Activity points. Total "+#CASHPOINTS+" points"; } else { query_sql "SELECT COUNT(`account_id`) FROM `global_reg_value` WHERE `str`='#CASHPOINTS' AND `account_id`='"+.@account_id+"'", .@update; if (.@update) query_sql "UPDATE `global_reg_value` SET `value` = (CAST(`value` AS UNSIGNED)+'"+.@amt+"') WHERE `str`='#CASHPOINTS' AND `account_id`='"+.@account_id+"'"; else query_sql "INSERT INTO `global_reg_value` (`str`,`value`,`type`,`account_id`) VALUES ('#CASHPOINTS',"+.@amt+",2,"+.@account_id+")"; } attachrid(.@AID); mes "Gave "+.@amt+" Activity points to "+.@name$+"."; announce "GM "+strcharinfo(0)+" gave to "+.@name$+" "+.@amt+" Cash Points",bc_all; close; }
×
×
  • Create New...