Jump to content

Patskie

Community Contributors
  • Content Count

    366
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Patskie

  1. Patskie

    VIP NPC

    The most common way : prontera,150,150,0 script Sample 123,{ if ( #vip < gettimetick(2) ) { mes "You are not a vip anymore"; close; } specialeffect2 EF_HEAL2; percentheal 100,100; specialeffect2 EF_INCAGILITY; sc_start SC_INC_AGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; switch ( BaseJob ) { case Job_Alchemist: .@spirit = 445; break; case Job_Monk: .@spirit = 447; break; case Job_Star_Gladiator: .@spirit = 448; break; case Job_Sage: .@spirit = 449; break; case Job_Crusader: .@spirit = 450; break; case Job_SuperNovice: .@spirit = 451; break; case Job_Knight: .@spirit = 452; break; case Job_Wizard: .@spirit = 453; break; case Job_Priest: .@spirit = 454; break; case Job_Bard: case Job_Dancer: .@spirit = 455; break; case Job_Rogue: .@spirit = 456; break; case Job_Assassin: .@spirit = 457; break; case Job_Blacksmith: .@spirit = 458; break; case Job_Hunter: .@spirit = 460; break; case Job_Soul_Linker: .@spirit = 461; break; default: if ( Upper == 1 && BaseLevel < 70 ) .@spirit = 494; } if ( .@spirit ) { sc_start4 SC_SOULLINK, 360000, 5, .@spirit,0,0; skilleffect .@spirit, 5; } close;} Set players account into vip by using : #vip = gettimetick(2) + <duration in seconds>;
  2. if (!countitem(7227)) mes "Good day!";else mes "You have " +countitem(7227)+ " " +getitemname(7227);
  3. prontera,150,150,0 script Sample 123,{ // requirements setarray .id[0],2729,2375; .size = getarraysize(.id); .prize = 7227; mes "Hi, you have requirements?"; next; if (select("Yes:No")-1) close; for ( .@i = 0; .@i < .size; .@i++ ) { if (!countitem(.id[.@i])) { mes "I need the following : "; for ( .@i = 0; .@i < .size; .@i++ ) mes "1x " +getitemname(.id[.@i]); close; } } for ( .@i = 0; .@i < .size; .@i++ ) delitem .id[.@i], 1; getitem .prize, 1; mes "Nice!"; close;}
  4. *statusup2 <stat>,<amount>;This command will bump a specified stat of the invoking character up bythe specified amount permanently. Amount can be negative. See 'statusup'.// This will decrease a character's Vit forever. statusup bVit,-1;---------------------------------------*bonus <bonus type>,<val1>;*bonus2 <bonus type>,<val1>,<val2>;*bonus3 <bonus type>,<val1>,<val2>,<val3>;*bonus4 <bonus type>,<val1>,<val2>,<val3>,<val4>;*bonus5 <bonus type>,<val1>,<val2>,<val3>,<val4>,<val5>;These commands are meant to be used in item scripts. They will probablywork outside item scripts, but the bonus will not persist for long. They,as expected, refer only to an invoking character.You can find the full list of possible bonuses and which command to usefor each kind in 'doc/item_bonus.txt'. try it's permanent though?
  5. Hercules doesn't have that command i guess.
  6. Try : prontera,150,150,0 script Sample 123,{ // diablo parts id here setarray .id[0],2729,2375; // put valkyrie parts id here setarray .vid[0],2357,2115; mes "Bring me 2 diablo set for 1 valkyrie set"; next; if (select("I have those requirements:Ok")-1) close; for ( .@i = 0; .@i < getarraysize(.id); .@i++ ) { if ( countitem(.id[.@i]) < 2 ) { mes "You need the following : "; for ( .@x = 0; .@x < getarraysize(.id); .@x++ ) mes "2x " +getitemname(.id[.@x]); close; } } for ( .@i = 0; .@i < getarraysize(.id); .@i++ ) delitem .id[.@i], 2; for ( .@i = 0; .@i < getarraysize(.vid); .@i++ ) getitem .vid[.@i], 1; mes "Done!"; close;}
  7. Try : prontera,150,150,0 script Sample 123,{ OnNPCKillEvent: if ( getmonsterinfo(killedrid,19) == RC_Dragon || getmonsterinfo(killedrid,19) == RC_Demon && quest ) { if ( getd( "@" + getmonsterinfo(killedrid, 19) + "_race" ) % 50 == 0 ) { quest = 0; getitem 7227, 50; } setd( "@" + getmonsterinfo(killedrid,19) + "_race" ), getd( "@" + getmonsterinfo(killedrid,19) + "_race" ) + 1; } end; mes "Do the quest?"; next; if (select("Yes:No")-1) close; mes "Done! Go kill some monsters!"; quest = 1; close;}
  8. Ask when? on login? on talk? on what?
  9. Change it to : sleep 100; sleep is needed otherwise it will cause infinite loop
  10. Use an array composed of multiple different item id's the announce part.. i think can't be done by script
  11. prontera,150,150,0 script Sample 100,{ OnInit: while (1) { emotion e_kis; sleep 500; } end;}
  12. Patskie

    help

    - getmonsterinfo(.@atcmd_parameters$[0], 0)+ getmonsterinfo(atoi(.@atcmd_parameters$[0]), 0)
  13. A mere "not working" words cannot help. Explain yourself in a detailed manner.
  14. I never test my scripts so sorry for that. I guess that the discount you see in the dynamic shop is kinda a illusion thing? Dunno but i set the price as it is. So if you set a 7227 (TCG) @ 50 coins. If you use a merchant it will have a discount on the shop. But when u buy the item it will delete 50 coins on your inventory.
  15. - script Sample -1,{ OnMinute00: query_sql "SELECT `account_id` FROM `char` WHERE `last_map` = 'prontera' ORDER BY RAND() LIMIT 1",.@aid; if ( attachrid( .@aid ) ) warp "prontera",150,150; end;} Randomly choose a character on map prontera. Attach their account id and then do the warp.
  16. Maybe you can restrict merchants from buying into the Dynamic shop?
  17. getitem @bought_nameid[.@k], @bought_quantity[.@k];announce strcharinfo(0)+ " bought " +getitemname(@bought_nameid[.@k])+ " (" +@bought_quantity[.@k]+ ") in our dynamic shop",0; // <- add this Didn't test
  18. If you think it is a bug then you can post this on Hercules Bug Tracker section
  19. I do not provide support through messages. Please post your concern on the respective section of the community :P

  20. Patskie

    Refiner to +10

    Refer : Announce if ( getequiprefinerycnt(@refine) > 3 ) { // do this }
  21. Patskie

    Refiner to +10

    Didn't test : - successrefitem @refine;+ for ( .@i = getequiprefinerycnt(@refine)+1; .@i < 11; .@i++ ) + successrefitem @refine;
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.