-
Posts
22 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
Zyper143's Achievements

Poring (1/15)
0
Reputation
-
Thank you very much. People like you are awesome. ?
-
Need help the def over 99 will become negetive I already set the battle/player.conf still not working btw im using pre-re // Max armor def/mdef // NOTE: This setting have no effect if server is run on Renewal Mode (RENEWAL) // NOTE: does not affects skills and status effects like Mental Strength // If weapon_defense_type is non-zero, it won't apply to max def. // If magic_defense_type is non-zero, it won't apply to max mdef. max_def: 500
-
Help to this Unknown Syntax [Error]: npc_parsesrcfile: Unknown syntax in file 'npc/custom/healer.txt', line '52'. Stopping... * w1=if (.@Identify) { * w2= * w3= * w4= This is the script //===== rAthena Script ======================================= //= Healer //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.1 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Basic healer script. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Aligned coordinates with @go. //= 1.2 Added repair/Identifier //============================================================ - script Healer -1,{ .@Price = 0; // Zeny required for heal .@Buffs = 0; // Also buff players? (1: yes / 0: no) .@Delay = 0; // Heal delay, in seconds .@Repair = 0; // Repairall (1: yes / 0: no) .@Identify = 1; // Identify (1: yes / 0: no) if (@HD > gettimetick(2)) end; if (.@Price) { message strcharinfo(0), "Healing costs " + callfunc("F_InsertComma",.@Price) + " Zeny."; if (Zeny < .@Price) end; if (select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; Zeny -= .@Price; } percentheal 100,100; if (.@Buffs) { specialeffect2 EF_INCAGILITY; sc_start SC_SPEEDUP0,300000,30; } if (.@Delay) @HD = gettimetick(2) + .@Delay; if (.@Repair) { while (getbrokenid(1)) { repair(1); set .@i, .@i +1; } if (.@i) dispbottom .@i + " items has been repaired."; end; } } if (.@Identify) { getinventorylist; for( set .@i,0; .@i < @inventorylist_count; set .@i, .@i + 1 ) { if ( @inventorylist_identify[.@i] == 1 ) continue; delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0; getitem @inventorylist_id[.@i],1; } } end; } // Duplicates //============================================================ alberta,186,148,5 duplicate(Healer) Healer#alb 742 aldebaran,135,118,6 duplicate(Healer) Healer#alde 742 amatsu,191,113,5 duplicate(Healer) Healer#ama 742 ayothaya,207,169,6 duplicate(Healer) Healer#ayo 742 comodo,145,165,5 duplicate(Healer) Healer#com 742 einbech,57,36,6 duplicate(Healer) Healer#einbe 742 einbroch,57,202,6 duplicate(Healer) Healer#einbr 742 geffen,113,65,5 duplicate(Healer) Healer#gef 742 gonryun,156,122,6 duplicate(Healer) Healer#gon 742 hugel,89,150,6 duplicate(Healer) Healer#hug 742 //izlude,121,150,6 duplicate(Healer) Healer#izl 742 //Pre-RE: (125,118) jawaii,250,139,4 duplicate(Healer) Healer#jaw 742 lighthalzen,152,100,6 duplicate(Healer) Healer#lhz 742 louyang,226,103,4 duplicate(Healer) Healer#lou 742 manuk,272,144,6 duplicate(Healer) Healer#man 742 mid_camp,203,289,6 duplicate(Healer) Healer#mid 742 moc_ruins,72,164,4 duplicate(Healer) Healer#moc 742 morocc,153,97,6 duplicate(Healer) Healer#mor 742 moscovia,220,191,4 duplicate(Healer) Healer#mos 742 niflheim,212,182,5 duplicate(Healer) Healer#nif 742 payon,163,222,3 duplicate(Healer) Healer#pay 742 prontera,150,183,5 duplicate(Healer) Healer#prt 742 rachel,125,116,6 duplicate(Healer) Healer#rac 742 splendide,201,153,4 duplicate(Healer) Healer#spl 742 thor_camp,249,74,4 duplicate(Healer) Healer#thor 742 umbala,69,142,5 duplicate(Healer) Healer#umb 742 veins,217,121,4 duplicate(Healer) Healer#ve 742 xmas,149,136,5 duplicate(Healer) Healer#xmas 742 yuno,164,45,4 duplicate(Healer) Healer#yuno 742 yuno,166,126,4 duplicate(Healer) Healer#yuno2 742 // Duplicates (Renewal) //============================================================ brasilis,194,221,6 duplicate(Healer) Healer#bra 742 dewata,195,187,4 duplicate(Healer) Healer#dew 742 dicastes01,201,194,4 duplicate(Healer) Healer#dic 742 ecl_in01,45,60,4 duplicate(Healer) Healer#ecl 742 malangdo,132,114,6 duplicate(Healer) Healer#mal 742 malaya,227,204,6 duplicate(Healer) Healer#ma 742 mora,55,152,4 duplicate(Healer) Healer#mora 742
-
All players
-
I do not know how to code
-
After enabled where is the registration and vip special buffs / vip shops?
-
Requesting VIP System with VIP Special Buffs and VIP Item Shop. Thank you and more power rA community.
-
How about creating separate script that can trigger in the time of OnMinuteXX then it will close after 3min
-
How to add cutin in this poring catcher event during the portal open and it will close after saying The portal has been closed. Thank you //=========== PORING CATCHER MADE ==============\\ //=== BY: SHOGS-GFX and RAGNAROK DEVELOPERS ====\\ //= Please Report if you encounter some errors =\\ //===== https://www.facebook.com/ShogsGfx ======\\ //==============================================\\ //==FUNCTIONS===================================\\ /* GM Can start the event manualy GM Can also stop the event manualy HOW: just PM this npc (npc:pcatch) The Next Guide Will Be Given by the Manager */ //======= PLEASE DO NOT REMOVE CREDITS =========\\ //==============================================\\ //== MORE UPDATES TO COME FOR BETTER FUNCTION ==\\ //===== https://www.facebook.com/ShogsGfx ======\\ //==============================================\\ //====LEVEL OF GM CAN CONTROL THE EVENT=========\\ - script GMCONTROL -1,{ OnInit: set $gmcontrol,60; end; } //---------------END OF SETUP-------------------\\ //================ON WHISPER=========================\\ - script pcatch -1,{ //====LEVEL OF GM CAN CONTROL THE EVENT=========\\ //OnInit: //set $gmcontrol,60; //end; //---------------END OF SETUP-------------------\\ OnWhisperGlobal: if(getgmlevel() >= $gmcontrol) { mes "^3399FF[Poring Catcher]^000000"; mes "Hello GameMaster!"; mes "What do you want to do?"; switch(select("Start Event:Stop Event:Nothing")) { case 1: { next; mes "^3399FF[Poring Catcher]^000000"; mes "Please confirm by typing START."; input .@confirm$; if (.@confirm$ == "START") { donpcevent "Announcer2::OnGMStart"; close; } mes "Confirmation failed"; close; break; } case 2: { next; mes "^3399FF[Poring Catcher]^000000"; mes "Please confirm by typing STOP."; input .@confirm$; if (.@confirm$ == "STOP") { donpcevent "Announcer2::OnGMStop"; close; } mes "Confirmation failed"; close; break; } case 3: { next; mes "^3399FF[Poring Catcher]^000000"; mes "Good bye"; close; } } } } //====================ANNOUNCER======================\\ - script Announcer2 -1,{ OnGMStart: killmonster "poring_w01.gat","All"; announce "(Poring Manager) : A Gamemaster started a Poring Catcher Event now.",0; sleep 3000; announce "(Poring Manager) : If you want to join, come at the middle of Prontera, enter the warp portal.",0; enablenpc "PoringCatcher"; sleep 2000; announce "(Poring Manager) : Prize: will be Poring Coins",0; sleep 2000; announce "(Poring Manager) : The portal is going to close in one minute.",0; sleep 60000; announce "(Poring Manager) : The portal has been closed.",0; disablenpc "PoringCatcher"; if(getmapusers("poring_w01") == 0) { disablenpc "Poring Banker"; announce "Event Poring Catcher didn't start because there's no players.",0; end; } donpcevent "Poring Banker::OnEnable"; end; OnGMStop: killmonster "poring_w01.gat","All"; announce "A Gamemaster has stopped the Poring Catcher Event",0; mapwarp "poring_w01.gat","prontera.gat",155,173; disablenpc "Poring Banker"; disablenpc "PoringCatcher"; end; OnMinute00: killmonster "poring_w01.gat","All"; announce "(Poring Manager) : Poring Catcher Event will start at the moment.",0; sleep 3000; announce "(Poring Manager) : If you want to join, come at the middle of Prontera, enter the warp portal.",0; enablenpc "PoringCatcher"; sleep 2000; announce "(Poring Manager) : Prize: will be Poring Coins",0; sleep 2000; announce "(Poring Manager) : The portal is going to close in one minute.",0; sleep 60000; announce "(Poring Manager) : The portal has been closed.",0; disablenpc "PoringCatcher"; if(getmapusers("poring_w01") == 0) { disablenpc "Poring Banker"; announce "Event Poring Catcher didn't start because no players found in map.",0; end; } donpcevent "Poring Banker::OnEnable"; end; OnInit: disablenpc "Poring Banker"; disablenpc "PoringCatcher"; } //---------All Job Registration---------------------------------------- prontera,155,158,0 warp PoringCatcher 2,2,poring_w01,105,128 //--------------------------------------------------------------------- //--------------------------------------------------------------------- - script Poring Banker -1,{ OnEnable: mapannounce "poring_w01","Poring Manager: The Poring Catcher Event will start shortly",0; sleep2 10000; mapannounce "poring_w01","Poring Manager: I will be summoning 100 porings with different names kill the real poring",0; sleep2 10000; mapannounce "poring_w01","Poring Manager: What are we waiting for?..Let's Catch some Porings!!...",0; sleep2 10000; goto L_Start; end; L_Start: if(getmapusers("poring_w01") == 0) goto L_None; if(getmapusers("poring_w01") >= 1) { mapannounce "poring_w01","Poring Manager: Get ready at the count of 5 we will start!....",0; sleep2 6000; mapannounce "poring_w01","Poring Manager: 5",0; sleep2 5000; mapannounce "poring_w01","Poring Manager: 4",0; sleep2 4000; mapannounce "poring_w01","Poring Manager: 3",0; sleep2 3000; mapannounce "poring_w01","Poring Manager: 2",0; sleep2 2000; mapannounce "poring_w01","Poring Manager: 1",0; donpcevent "Poringsummoner::OnSummon"; end; } L_None: disablenpc "Poring Banker"; killmonster "poring_w01.gat","All"; end; } //==================SUMMONER OF PORINGS ======================\\ - script Poringsummoner -1,{ OnSummon: if(getmapusers("poring_w01") == 0) goto L_2None; monster "poring_w01.gat",0,0,"Poring",1002,1,"poringwin::OnMobKilled"; monster "poring_w01.gat",0,0,"Pouring",1002,10,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Proing",1002,10,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Poirng",1002,10,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Poing",1002,10,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"I'm not a Poring",1002,5,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Gnirop",1002,1,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Poring",1113,1,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Poring",1062,1,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Por|ng",1002,10,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Por1ng",1002,10,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Porong",1002,10,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"P0ring",1002,10,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"P@ring",1002,10,"poringlose::OnMobKilled"; monster "poring_w01.gat",0,0,"Porng",1002,1,"poringlose::OnMobKilled";end; L_2None: disablenpc "Poring Banker"; killmonster "poring_w01.gat","All"; end; } //==================REAL PORING FOR WIN======================\\ - script poringwin -1,{ OnMobKilled: killmonster "poring_w01.gat","All"; atcommand "@doommap"; getitem 7539,5; announce "Poring Banker: We have a winner! well done " + strcharinfo(0) + ".",0; warp "SavePoint",0,0; end; } //==================DUMY PORINGS FOR LOSERS======================\\ - script poringlose -1,{ OnMobKilled: dispbottom "Your out of the game, You did not catch the right Poring !"; percentheal -99,-99; warp "SavePoint",0,0; end; } //==================Mapflags========================\\ poring_w01 mapflag nowarp poring_w01 mapflag nowarpto poring_w01 mapflag noteleport poring_w01 mapflag nosave poring_w01 mapflag nomemo poring_w01 mapflag nobranch poring_w01 mapflag noloot poring_w01 mapflag noskill poring_w01 mapflag nopenalty
-
It works! Thank you very much
-
Need help to this error [Error]: buildin_countitem: Invalid item '32'. [Debug]: Source (NPC): Daily Quest at prontera (189,180) [Error]: buildin_countitem: Invalid item '42'. [Debug]: Source (NPC): Daily Quest at prontera (189,180) [Error]: buildin_countitem: Invalid item '33'. [Debug]: Source (NPC): Daily Quest at prontera (189,180) My script prontera,189,180,5 script Daily Quest 533,{ if (getgmlevel() >= 80) goto GM_Menu; L_Start: if (getgmlevel() >= 80) next; mes "[ Daily Quest ]"; mes "Total Daily Quests Finished: ^008800"+$DailyQuestTotal+"^000000."; mes "Today Daily Quests Finished: ^0000FF"+$DailyQuestToday+"^000000."; next; mes "[Daily Quest]"; mes "Hello "+strcharinfo(0)+"!"; mes "Do you want to start today's Quest?"; mes " "; menu "Yes!",-,"Nahh",L_Close; if(gettimetick(2) - CooldownQuest < (60 * 60 * 24)) { next; mes "[ Daily Quest ]"; mes "^FF0000Sorry you have to wait 24 Hours until you can do the Quest again!^000000"; close; } next; mes "[Daily Quest]"; mes "You'll need these item for Today's Quest:"; mes "^FF0000"+getitemname($QuestItem1)+"^000000 x "+$QuestItem1HM+""; mes "^FF0000"+getitemname($QuestItem2)+"^000000 x "+$QuestItem2HM+""; mes "^FF0000"+getitemname($QuestItem3)+"^000000 x "+$QuestItem3HM+""; mes "In exchange you will get ^0000FF"+getitemname($DailyQuestPrize)+"^000000 x "+$DailyQuestPrizeHM+""; next; mes "[Daily Quest]"; mes "Do you have the items?"; menu "Yes! I do.",-,"Gimme some time.",L_Close; if(countitem($QuestItem1) >= $QuestItem1HM) && (countitem($QuestItem2) >= $QuestItem2HM) && (countitem($QuestItem3) >= $QuestItem3HM) goto FinishQuest; next; mes "[Daily Quest]"; mes "You only have "+countitem($QuestItem1HM)+" of ^FF0000"+getitemname($QuestItem1)+"^000000, "+countitem($QuestItem2HM)+" of ^FF0000"+getitemname($QuestItem2)+"^000000, "+countitem($QuestItem3HM)+" of ^FF0000"+getitemname($QuestItem3)+"^000000."; mes "Come back when you have it! Better get the items quickly. It's gonna change in a Day!"; close; L_Close: next; mes "[Daily Quest]"; mes "Come back again! Get the Items!"; mes "Goodbye!"; close; GM_Menu: mes "[Daily Quest]"; mes "Hello GM "+strcharinfo(0)+"!"; mes "What can I do for you today?"; menu "Player Menu",L_Start,"Change Today's Quest/Prize",L_ChangeQuest,"Close",L_Close; L_ChangeQuest: next; mes "[Daily Quest]"; mes "What will you like to change?"; next; menu "Go back.",GM_Menu,"Prize [^0000FF"+getitemname($DailyQuestPrize)+"^000000 x "+$DailyQuestPrizeHM+"]",L_ChangePrize,"Change Quest Randomly",L_ChangeQuestRandom,"Change Quest by Myself",L_ChangeQuestMyself; L_ChangeQuestMyself: next; mes "[Daily Quest]"; mes "Which item would you like to change first?"; menu "Go Back.",L_ChangeQuest,"Item 1 [^FF0000"+getitemname($QuestItem1)+"^000000 x "+$QuestItem1HM+"]",L_ChangeItem1,"Item 2 [^FF0000"+getitemname($QuestItem2)+"^000000 x "+$QuestItem2HM+"]",L_ChangeItem2,"Item 3 [^FF0000"+getitemname($QuestItem3)+"^000000 x "+$QuestItem3HM+"]",L_ChangeItem3; L_ChangeItem1: next; mes "[Daily Quest]"; mes "Alright. What will be the item?"; next; input $QuestItem1; next; L_ChangeItem12: mes "[Daily Quest]"; mes "How much of ^ff0000"+getitemname($QuestItem1)+"^000000 do you want?"; mes "It must be in the range of ^0088001 ~ 200^000000."; next; input $QuestItem1HM; next; if ($QuestItem1HM > 200) goto L_HMItem1Denied; mes "[Daily Quest]"; mes "Item 1 Set."; set $DailyQuestToday,0; mes "^FF0000"+getitemname($QuestItem1)+"^000000 x "+$QuestItem1HM+"."; next; goto L_ChangeQuest; L_HMItem1Denied: mes "[Daily Quest]"; mes "This item (^ff0000"+getitemname($QuestItem1)+"^000000) must be in a range of ^0088001 ~ 200^000000."; next; goto L_ChangeItem12; L_ChangeItem2: next; mes "[Daily Quest]"; mes "Alright. What will be the item?"; next; input $QuestItem2; next; L_ChangeItem22: mes "[Daily Quest]"; mes "How much of ^ff0000"+getitemname($QuestItem2)+"^000000 do you want?"; mes "It must be in the range of ^0088001 ~ 150^000000."; next; input $QuestItem2HM; next; if ($QuestItem2HM > 150) goto L_HMItem2Denied; mes "[Daily Quest]"; mes "Item 2 Set."; set $DailyQuestToday,0; mes "^FF0000"+getitemname($QuestItem2)+"^000000 x "+$QuestItem2HM+"."; next; goto L_ChangeQuest; L_HMItem2Denied: mes "[Daily Quest]"; mes "This item (^ff0000"+getitemname($QuestItem2)+"^000000) must be in a range of ^0088001 ~ 150^000000."; next; goto L_ChangeItem22; L_ChangeItem3: next; mes "[Daily Quest]"; mes "Alright. What will be the item?"; next; input $QuestItem3; next; L_ChangeItem32: mes "[Daily Quest]"; mes "How much of ^ff0000"+getitemname($QuestItem3)+"^000000 do you want?"; mes "It must be in the range of ^0088001 ~ 50^000000."; next; input $QuestItem3HM; next; if ($QuestItem3HM > 50) goto L_HMItem3Denied; mes "[Daily Quest]"; mes "Item 3 Set."; set $DailyQuestToday,0; mes "^FF0000"+getitemname($QuestItem3)+"^000000 x "+$QuestItem3HM+"."; next; goto L_ChangeQuest; L_HMItem3Denied: mes "[Daily Quest]"; mes "This item (^ff0000"+getitemname($QuestItem3)+"^000000) must be in a range of ^0088001 ~ 50^000000."; next; goto L_ChangeItem32; L_ChangeQuestRandom: set $QuestItem1, rand(701,1065); set $QuestItem1HM, rand(1,200); set $QuestItem2, rand(701,1065); set $QuestItem2HM, rand(1,150); set $QuestItem3, rand(701,1065); set $QuestItem3HM, rand(1,50); set $DailyQuestToday,0; mes "[Daily Quest]"; mes "This is the Daily Quest:"; mes "^FF0000"+getitemname($QuestItem1)+"^000000 x "+$QuestItem1HM+""; mes "^FF0000"+getitemname($QuestItem2)+"^000000 x "+$QuestItem2HM+""; mes "^FF0000"+getitemname($QuestItem3)+"^000000 x "+$QuestItem3HM+""; next; goto GM_Menu; L_ChangePrize: next; mes "[Daily Quest]"; mes "Input the Prize"; next; input $DailyQuestPrize; next; mes "[Daily Quest]"; mes "The Prize: "+getitemname($DailyQuestPrize)+" x How many?"; next; input $DailyQuestPrizeHM; next; mes "[Daily Quest]"; mes "This is what you like?"; mes "^0000ff"+getitemname($DailyQuestPrize)+"^000000 x "+$DailyQuestPrizeHM+"."; menu "Yup, Thanks.",GM_Menu,"Noo! I made a mistake!",L_ChangePrize; FinishQuest: next; mes "[Daily Quest]"; mes "You got ^0000FF"+getitemname($DailyQuestPrize)+"^000000 x "+$DailyQuestPrizeHM+"."; delitem $QuestItem1,$QuestItem1HM; delitem $QuestItem2,$QuestItem2HM; delitem $QuestItem3,$QuestItem3HM; getitem $DailyQuestPrize,$DailyQuestPrizeHM; set CooldownQuest,gettimetick(2); set $DailyQuestTotal,$DailyQuestTotal +1; set $DailyQuestToday,$DailyQuestToday +1; close; } - script DailyQuestItemChanger -1,{ OnInit: OnClock0000: while ( getitemname( set( $QuestItem1, rand(701,1065) ) ) == "null" ); set $QuestItem1HM, rand(1,200); while ( getitemname( set( $QuestItem2, rand(701,1065) ) ) == "null" ); set $QuestItem2HM, rand(1,150); while ( getitemname( set( $QuestItem3, rand(701,1065) ) ) == "null" ); set $QuestItem3HM, rand(1,50); set $DailyQuestToday,0; end; }
-
Need help how to add show cutin in this quest shop Thank you //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6c //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //= 1.6b Added 'disable_items' command. //= 1.6c Replaced function 'A_An' with "F_InsertArticle". //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; // ADD YOUR NPC HERE //============================================================ prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop"; } // prontera,165,203,6 script Quest Shop#2 998,{ callfunc "qshop",1,2; } // call the shop 1 and 2 defined below // etc.. Add your Shop NPCs 'Quest Shop#XXX' here //============================================================ // Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!! //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0], "#CASHPOINTS", "Cash Points"; //===================================================================================== // ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE -------------- //===================================================================================== // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1], "Headgears", // Shop Named 1 "Weapons", // Shop Named 2 "Other"; // Shop Named 3 // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- // Shop 1 Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200); // Shop 2 Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); // Shop 3 Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); // ----------------------------------------------------------- //===================================================================================== // ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED --------------------- //===================================================================================== freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set @shop_index, select(.menu$); else if (.@size == 1) set @shop_index, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set @shop_index, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[@shop_index] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+@shop_index,1; npcshopattach "qshop"+@shop_index; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; disable_items; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",getitemname(.@q[0])))+"!",0; specialeffect2 EF_FLOWERLEAF; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1 - shop qshop4 -1,909:-1 - shop qshop5 -1,909:-1
-
Good day rA community, I need some advice to solve this problem 'Too many authentication failures' on my server using vncserver in Debian 10 Buster OS. Thank you very much
-
-
1. 3 mins display 2. I have created the custom cutin in illust folder 3. Yes it will remove automatically after 3mins display