Jump to content

Haruka Mayumi

Members
  • Posts

    485
  • Joined

  • Last visited

  • Days Won

    27

Everything posted by Haruka Mayumi

  1. You need some adjustments for portal
  2. it doesn't return anything it will just make the players do the NPC Event specified on the foreach.. You don't actually need this diff since there's getareaunits to get their name or game id's *getunits(<type>{,<array_variable>[<first value>]}) *getmapunits(<type>,<"map name">{,<array_variable>[<first value>]}) *getareaunits(<type>,<"map name">,<x1>,<y1>,<x2>,<y2>{,<array_variable>[<first value>]}) The 'getunits' command will return the number of <type> objects active on the server. The 'getmapunits' command will return the number of <type> objects active on the specified <"map name">. The 'getareaunits' command will return the number of <type> objects actively located within the specified area where <x1>, <y1>, <x2>, <y2> form the area. Type is the type of object to search for: BL_PC - Character objects BL_MOB - Monster objects BL_PET - Pet objects BL_HOM - Homunculus objects BL_MER - Mercenary objects BL_NPC - NPC objects BL_ELEM - Elemental objects If <array_variable> is provided: - An int variable will return the list of GID. - A string variable will return the list of names. then finally use sc_start and specialeffect2 to buff them.
  3. @nasaankaalex revert the patch.
  4. prontera,150,182,4 script Healer 10173,5,5,{ OnTouch: while( .@i < .sc_size ){ sc_end .sc_status[.@i]; set .@i,.@i + 1; } sc_start SC_BLESSING,.buff_duration,10; sc_start SC_INCREASEAGI,.buff_duration,10; percentheal 100,100; while( getbrokenid(1) ) // repair getbrokenid(1); repairall; // atcommand "@repairall"; end; OnInit: set .buff_duration,600000; setarray .sc_status, SC_STONE,SC_FREEZE,SC_STUN,SC_SLEEP,SC_POISON,SC_CURSE,SC_SILENCE,SC_CONFUSION,SC_BLIND,SC_BLEEDING, SC_QUAGMIRE,SC_AETERNA,SC_HALLUCINATION,SC_SLOWDOWN,SC_BERSERK,SC_CHANGEUNDEAD, SC_STRIPWEAPON,SC_STRIPSHIELD,SC_STRIPARMOR,SC_STRIPHELM; set .sc_size,getarraysize( .sc_status ); waitingroom "Free Heal",0; end; }
  5. Good for you I noticed it
  6. *checkoption(<option number>{,<char_id>}) *checkoption1(<option number>{,<char_id>}) *checkoption2(<option number>{,<char_id>}) *setoption <option number>{,<flag>{,<char_id>}}; The 'setoption' series of functions check for a so-called option that is set on the invoking character. 'Options' are used to store status conditions and a lot of other non-permanent character data of the yes-no kind. For most common cases, it is better to use 'checkcart','checkfalcon','checkriding' and other similar functions, but there are some options which you cannot get at this way. They return 1 if the option is set and 0 if the option is not set. Option numbers valid for the first (option) version of this command are: 0x1 - Sight in effect. 0x2 - Hide in effect. 0x4 - Cloaking in effect. 0x8 - Cart number 1 present. 0x10 - Falcon present. 0x20 - Peco Peco present. 0x40 - GM Perfect Hide in effect. 0x80 - Cart number 2 present. 0x100 - Cart number 3 present. 0x200 - Cart number 4 present. 0x400 - Cart number 5 present. 0x800 - Orc head present. 0x1000 - The character is wearing a wedding sprite. 0x2000 - Ruwach is in effect. 0x4000 - Chasewalk in effect. 0x8000 - Flying or Xmas suit. 0x10000 - Sighttrasher. 0x100000 - Warg present. 0x200000 - The character is riding a warg. Grandcross is an AoE skill will most likely fail if it doesn't have stats not like sight thrasher.. you need target skills
  7. prontera,155,170,3 script Tamadora 10110,3,3,{ end; OnTouch_: if(gettime(DT_HOUR) < 7) end; // 7AM Onwards if(!.Active){ initnpctimer; .Active = 1; .CFail = 0; } end; OnTimer1000: getmapxy(.@map$,.@x,.@y,BL_NPC); .@c = getareaunits(BL_PC,.@map$,[email protected],[email protected],.@x+.Cells,.@y+.Cells,.@aid); if(!.@c){ if(++.CFail>=.Fail){ stopnpctimer; .Active = 0; end; } initnpctimer; end; } if(.CurrentCD >= .Countdown){ .@idx = rand(getarraysize(.ItemDrop)); makeitem .ItemDrop[.@idx],.ItemAmt[.@idx],.@map$,rand([email protected],.@x+.Cells),rand([email protected],.@y+.Cells); } if(.Countdown-.CurrentCD <= 0) .CurrentCD = 0; if(.CurrentCD%3==0){ for(.@i=0;.@i<.@c;.@i++){ .@idx2 = rand(getarraysize(.SkillID)); unitskilluseid getnpcid(0),.SkillID[.@idx2],.SkillLV[.@idx2],.@aid[.@i],-1; } showscript "~ < "+(.Countdown-.CurrentCD++)+" > ~",getnpcid(0),AREA; sleep 1000; } showscript "~ < "+(.Countdown-.CurrentCD++)+" > ~",getnpcid(0),AREA; npcwalkto rand(.XY[0],.XY[2]),rand(.XY[1],.XY[3]); initnpctimer; end; OnInit: .Countdown = 120; //seconds .Fail = 3; //3 seconds .Cells = 5; //3 Cells Away npcspeed 150; setarray .XY[0],150,175,160,165; setarray .ItemDrop[0],7929; setarray .ItemAmt[0],1; setarray .SkillID[0],489,16,29,30,34; setarray .SkillLV[0],15,20,10,10,10; end; }
  8. Okay I found this interesting. I will give you the simple script but I would probably adjust it to better one.
  9. mes "^0000FF"+getd("." + albertaquest$ + "_collectionname$")+"^000000"; This is a variable(red).. the #Town is called Hidden NPC Name.. Still too lazy to read the whole script. but I guess there would be some complications even if you change that variable if you didn't copy the whole code and paste it on another .txt instead of using duplicate.
  10. You can tag me on a post and if I have some time. I might do it.. but do not message me.
  11. I used OVH, Digital Ocean and Vultr for server.. I tried this 3 and all I can say.. their performance is almost the same. yes almost.. OVH have all it's VPS, Dedicated Server DDoS Protected while Vultr Asian Servers don't have.. but Vultr Provides BGP configuration which also has ups and downs.. I've been to digital ocean last 2 years but all I can say is.. They are mediocre, Price and Performance based. As Akkarin Says.. You really don't need dedicated server just to run the server.. but the downside non-dedicated servers are shared resources, if the main server goes down, your server goes down too, but that's just mostly not the case anymore on hosting industry.. The good side on shared VPS is, it will just cost you a penny and still can run your server.. good for small time servers. As for Vy Low says.. If you have the budget and you are expecting a lot of players.. Dedicated server is the best choice as you are the only one using your server resources.. The downside is yeah it just Cost you 10x or more than the VPS monthly. and yes just sharing my experience too. you will mostly lag on vps not like dedicated server :3
  12. Since you are exchanging it already.. the input is from 1 to 1000 input .@in,1,1000; You just need to change this line and add 1 line after it.. should be like this input .@in,0,1000; if(!.@in) end;
  13. prontera,155,181,3 script Yumi Test 94,{ for(.@i=0;.@i<getarraysize(.Require);.@i++) .@menu$ += (countitem(.Require[.@i]) ? "- Exchange ^0055FF"+.ReqAmount[.@i]+"^000000 "+getitemname(.Require[.@i])+" to ^0055FF"+.ExcAmount[.@i]+"^000000 "+getitemname(.Exchange[.@i])+":":":"); .@sel = select(.@menu$)-1; message strcharinfo(0),"Input amount 1-1000"; input .@in,1,1000; if(countitem(.Require[.@sel]) < .ReqAmount[.@sel]*.@in){ message strcharinfo(0),"Insufficient "+getitemname(.Require[.@sel])+""; end; } if(!checkweight(.Exchange[.@sel],.@in*.ExcAmount[.@sel])){ message strcharinfo(0),"Insufficient inventory space"; end; } delitem .Require[.@sel],.ReqAmount[.@sel]*.@in; getitem .Exchange[.@sel],.@in*.ExcAmount[.@sel]; end; OnInit: setarray .Require[0],501,502,503,504,505; setarray .ReqAmount[0],1,1,1,1,1; setarray .Exchange[0],512,513,514,515,516; setarray .ExcAmount[0],50,25,20,30,45; end; }
  14. prontera,155,181,3 script Yumi Test 94,{ for(.@i=0;.@i<getarraysize(.Require);.@i++) .@menu$ += (countitem(.Require[.@i]) ? "- Exchange ^0055FF"+.ReqAmount[.@i]+"^000000 "+getitemname(.Require[.@i])+" to "+getitemname(.Exchange[.@i])+":":":"); .@sel = select(.@menu$)-1; message strcharinfo(0),"Input amount 1-1000"; input .@in,1,1000; if(countitem(.Require[.@sel]) < .ReqAmount[.@sel]*.@in){ message strcharinfo(0),"Insufficient "+getitemname(.Require[.@sel])+""; end; } if(!checkweight(.Exchange[.@sel],.@in)){ message strcharinfo(0),"Insufficient inventory space"; end; } delitem .Require[.@sel],.ReqAmount[.@sel]*.@in; getitem .Exchange[.@sel],.@in; end; OnInit: setarray .Require[0],501,502,503,504,505; setarray .ReqAmount[0],5,2,3,4,1; setarray .Exchange[0],512,513,514,515,516; end; }
  15. 1. Maybe you forgot to reloadquestdb. 2. Did you perhaps add it on import/quest_db.yml?. if yes, Don't forget to add the "Body:" after the header section. it should look like this.. Header: Type: QUEST_DB Version: 1 Body: - Id: 61000 Title: Hourly Rewards Cooldown TimeLimit: +60m
  16. prontera,155,181,3 script Yumi Test 94,{ for(.@i=0;.@i<getarraysize(.Require);.@i++) .@menu$ += (countitem(.Require[.@i]) ? "- Exchange with "+getitemname(.Require[.@i])+":":":"); .@sel = select(.@menu$)-1; npctalk "Exchange with "+getitemname(.Require[.@sel]); OnInit: setarray .Require[0],501,502,503,504,505; end; }
  17. I see that your IP on xml and the ip from error is not the same.. you probably forgot to fix it. if the IP is correct: Do you have gepard?.. this happens when your server gepard is on.. but your client side is off and vice versa.
  18. @ra11 hmm.. It should be scripting. and database management for rAthena.. C,C++ I learned them on school so I skipped it here lmao. Here's a link from where you should start.. there's Sample folder located in that link. You can try to understand it via script_commands.txt https://github.com/rathena/rathena/tree/master/doc Hmm.. a lot like... C,C++,SQL.. Some ruby expressions, (some yaml parsing knowledge if you want to be kind of updated) and some stuff for advance administering the server like networking to provide some better experience and protection, linux setup, windows setup, Php, javascript, html, bootstrap etc for web.. for client side.. Photoshop knowledge, Spriting, Lua Programming Language, Browedit, hex edit, resource hacking etc.. well I haven't mention them all since I forgot things I mostly don't use. also, some things I listed were not that much needed like bootstrap and javascript..
  19. prontera,145,193,3 script Dogoo 508,{ while(1){ mes .name$; mes "Hello there nyaa~ring"; mes "I'm a hired guide by gee-gee here."; mes "I help people that have trouble or lost on what to do."; next; .@menu$ = ""; for(.@i=0;.@i<getarraysize(.GuideMenu$);.@i++); .@menu$ = .@menu$ + .GuideMenu$ + ":"; .@menu$ = .@menu$ + "> Just passing by.."; .@select = select(.@menu$)-1; if(.@select >= getarraysize(.GuideMenu$)){ mes .name$; mes "I see, Hope you have a fun adventures to come."; end; } callsub OnGuideSelect,.@select; next; } end; OnGuideSelect: //arg(0) = Selected Context; .@size = getarraysize(getd(".GuideContext_"+getarg(0)+"$")); for(.@i=0;.@i<.@size;.@i++){ mes .name$; mes getd(".GuideContext_"+getarg(0)+"$["+.@i+"]"); next; } return; OnInit: .name$ = "[ ^FF5500Dogoo^000000 ]"; setarray .GuideMenu$[0], "> This is Menu 1","> This is Menu 2","> This is Menu 3"; setarray .GuideContext_0$[0], //This is Menu 1 "Menu 1 - First Bubble.", "Menu 1 - Second Bubble.", "Menu 1 - Third Bubble"; setarray .GuideContext_1$[0], //This is Menu 2 "Menu 2 - First Bubble.", "Menu 2 - Second Bubble"; setarray .GuideContext_2$[0], //This is Menu 3 "Menu 3 - First Bubble.", "Menu 3 - Second Bubble", "Menu 3 - Third Bubble.", "Menu 3 - Fourth Bubble"; end; } All you need to do is create .GuideContext_(MenuNumber-1)$[0],
  20. https://github.com/rathena/rathena/blob/master/doc/source_doc.txt
  21. prontera,155,181,3 script Test 94,{ setarray .@Options$[1],"Option 1","Option 2","Option 3"; for(.@i=1;.@i<=getarraysize(.@Options$);.@i++) .@menu$ += (SaveOption[.@i] ? "":.@Options$[.@i])+":"; .@sel = select(.@menu$); mes "You have chosen option "+.@sel; mes "Option "+.@sel+" is now gone."; SaveOption[.@sel] = 1; close; }
  22. Wrong Forums.. ? this error is from hercules.
  23. item_db is no longer .txt on latest rAthena which supports high id items..
  24. use clif_colormessage instead of clif_displaymessage clif_messagecolor(&sd->bl, color_table[COLOR_LIGHT_GREEN], atcmd_output, false, SELF);
  25. *noreturn Disables usage of map-warping items on a map: - Butterfly Wing (ID 602) - Yellow/Green/Red/Blue Butterfly Wing (IDs 14582-14585) - Siege Teleport Scroll (ID 14591) - Dungeon Teleport Scroll 1/2/3 (IDs 14527, 14581, 12352) The 'warpparty' and 'warpguild' script commands are also blocked for destinations outside the player's current map. you can also check ingame via @mapflag to see the mapflags associated on the map.
×
×
  • Create New...