Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. Sorry that I took so long to answer. I've been trying to make WARP work on Windows 7, but I couldn't, so I resorted to using a modified version of Windows 10 without all the bloatware (called Tiny10 if anyone needs it in the future), and it worked
  3. Today
  4. bro did i missed somethin? i also rebuild the sln. where is that NPC located? i just saw the floating icon.
  5. Thank you very much for your beautiful explanation. Now I understand why even if I load in clif_parse_LoadEndAck, it still doesn't work properly. It's because of that. I understand it much better now thanks to your explanation. Thank you so much. The code you provided is a big help to me. I will just use it and add a confirmation so that the storage with ID: 2 will automatically open via a script for checking in order to initialize it.
  6. The main storage (ID 0) is the only one that's always loaded. Extra storages (IDs 1, 2, 3...) are only loaded when requested, and only one can be loaded at a time. When the code requests storage ID 2, it doesn't load fast enough, so the lines that add the item and close the storage are executed too early. That's why the storage remains open the first time. The same thing happens when the player opens another extra storage, since storage ID 2 gets switched to a different one.
  7. that means u didnt use the grf function at nemo. u need to insert the function name generated.
  8. Now can't hex any more hahahaha Share it for free, but some people sell it. Really bad. Now the file is encrypted. Lol.
  9. @Skylove Whoa, you even dropped the May version nice! Man, seriously appreciate all the work you’re putting in. Noticed the client’s a lot smaller this time any reason for that?
  10. This happened when opening the Client that was encrypted.
  11. Hello, it works, but there are some issues I can't figure out. Here's what's happening: On your first login, if you use AutoStore and pick up loot, Storage ID: 2 opens once but doesn't close. However, the item you picked up goes into your main storage instead of Storage ID: 2. After that, any new loot you pick up correctly goes into Storage ID: 2. But if you relog, the same issue happens again. However, if you open Storage ID: 2 first after relogging, everything works fine. So overall, the system works it’s just that the first opening of the storage causes the issue.
  12. Hello Everyone, I have created an instance with the setting NoNPC: true. This prevents copying NPCs from the source map. How can I enable my custom NPC inside the instance? Even though I have set NoNPC, the script I am using (see below) is not enabling the NPC inside the instance. // Instance Controller NPC (Triggers OnInstanceInit) moc_fild17,37,289,0 script InstanceSpawner#DD 1001,{ end; OnInstanceInit: // Broadcast to the instance map mapannounce instance_mapname("moc_fild17"), "[System]: The monsters have arrived!", bc_map; // Spawn mobs in the instance monster instance_mapname("moc_fild17"), 50, 50, "Phreeoni Minion", 1002, 10; monster instance_mapname("moc_fild17"), 53, 53, "Phreeoni", 1159, 1; // Enable the instance NPC enablenpc instance_npcname("PhreeoniHelper#DD"); end; } // Instance-Only NPC (initially hidden) moc_fild17,42,292,0 script PhreeoniHelper#DD 100,{ mes "Hello!"; mes "Welcome to the Phreeoni Instance."; close; OnInit: // Hide globally — needed due to NoNpc: true hideonnpc strnpcinfo(0); end; } Thank you!!
  13. Yesterday
  14. The NPC shouldn't have a location. Find: prontera,155,177,5 script MVP_vs_MVP 100,{ And replace: - script MVP_vs_MVP 100,{
  15. Hello, change storage to premiumStorage. You can try my changes. I can't test it with just the code provided. // @autostore [Cydh] if (autostoring && sd->state.autostore && !item->expire_time && !id->flag.autoequip && !sd->state.storage_flag && !sd->npc_id) { if ((!sd->autostore_weight || (sd->autostore_weight && get_percentage(sd->weight, sd->max_weight) >= sd->autostore_weight)) && ( (sd->autostore_type&1 && (id->type == IT_HEALING || id->type == IT_USABLE || id->type == IT_DELAYCONSUME || id->type == IT_CASH)) || (sd->autostore_type&2 && (id->type == IT_ARMOR || id->type == IT_WEAPON || id->type == IT_SHADOWGEAR || id->type == IT_PETEGG || id->type == IT_PETARMOR)) || (sd->autostore_type&4 && (id->type == IT_ETC || id->type == IT_AMMO || id->type == IT_UNKNOWN || id->type == IT_UNKNOWN2)) || (sd->autostore_type&8 && id->type == IT_CARD) ) ) { char output[CHAT_SIZE_MAX]; sd->weight += w; clif_updatestatus(*sd, SP_WEIGHT); int32 stor_id = 2; //Storage ID to autostore if (stor_id) storage_premiumStorage_load(sd, stor_id, STOR_MODE_PUT); if (sd->state.storage_flag == 3) { storage_storageadd(sd, &sd->premiumStorage, i, amount); storage_premiumStorage_close(sd); } else { storage_storageadd(sd, &sd->storage, i, amount); storage_storageclose(sd); clif_storageclose(*sd); } sprintf(output, "[ Autostore ] %dx %s", amount, id->ename.c_str()); clif_messagecolor(&sd->bl, color_table[COLOR_LIGHT_GREEN], output, false, SELF); achievement_update_objective(sd, AG_GET_ITEM, 1, id->value_sell); return ADDITEM_SUCCESS; } }
  16. Hi @jasonch35, im interested. i already dm you here and in discord. kindly check my message thank you
  17. Guys need some help i cant run this code properly it has some error. In Game Error when i use @mvpbet it will only show without selection MAP Server Warning [Warning]: npc_scriptcont: failed npc_checknear test. Here's the original code from patskie: https://rathena.org/board/topic/125697-r-monster-vs-monster/#comment-440718 prontera,155,177,5 script MVP_vs_MVP 100,{ OnMinute00: if (gettime(DT_HOUR) % 2 || .start) end; goto OnStart; end; OnStart: mapwarp "1@dth3", "prontera", 150, 150; killmonster "1@dth3", "All"; .start = 1; announce .npc$ + " We are going to have a MVP vs MVP Event.", bc_all; sleep 7000; announce .npc$ + " For those who want to join, you can participate by using @mvpjoin", bc_all; sleep 7000; announce .npc$ + " We will start the event after 1 minute", bc_all; sleep 60000; announce .npc$ + " The entry to the event is now closed", bc_all; .start = 2; sleep 7000; if (getmapusers("1@dth3") < 1) { announce .npc$ + " Not enough participants to continue the event", 0; .start = 0; end; } mapannounce "1@dth3", .npc$ + " The rules for this event is simple", bc_map; sleep 7000; mapannounce "1@dth3", .npc$ + " Two MVP's will spawn at the center of the map and will attack each other", bc_map; sleep 7000; mapannounce "1@dth3", .npc$ + " Before these MVP's spawn, I will give you 1 minute to make a bet", bc_map; sleep 7000; mapannounce "1@dth3", .npc$ + " The bet cost for this event is " + F_InsertComma(.bet_cost) + "z and when your chosen MVP wins you'll get as much as " + F_InsertComma(.bet_rewd) + "z !!!", bc_map; sleep 7000; mapannounce "1@dth3", .npc$ + " All good?? Let's start betting !!!", bc_map; sleep 7000; mapannounce "1@dth3", .npc$ + " To make a bet please use @mvpbet command, I will give 1 minute for you guys to make a bet", bc_map; .start = 3; sleep 55000; mapannounce "1@dth3", .npc$ + " Betting will close in 5...", bc_map; sleep 1000; mapannounce "1@dth3", .npc$ + " 4...", bc_map; sleep 1000; mapannounce "1@dth3", .npc$ + " 3...", bc_map; sleep 1000; mapannounce "1@dth3", .npc$ + " 2...", bc_map; sleep 1000; mapannounce "1@dth3", .npc$ + " 1...", bc_map; sleep 1000; .start = 4; mapannounce "1@dth3", .npc$ + " Betting is now closed !!!", bc_map; sleep 7000; mapannounce "1@dth3", .npc$ + " Let's get ready to RUMBLE !!!", bc_map; .@mid = .MVP[rand(.size)]; monster "1@dth3", 68, 68, "MVP A", .@mid, 1, strnpcinfo(1) + "::OnDie1", Size_Small, AI_NONE; .ma = $@mobid; monster "1@dth3", 71, 68, "MVP B", .@mid, 1, strnpcinfo(1) + "::OnDie2", Size_Small, AI_ATTACK; .mb = $@mobid; end; OnDie1: unittalk .mb, "[MVP B] Mwahaha!~ Such a weak opponent!"; sleep 7000; killmonster "1@dth3", "All"; .start = 0; addrid(5, 0, "1@dth3"); if (2 == @mvp_bet) { message strcharinfo(0),"Congratulations! You won the event, Good choice!"; Zeny += .bet_rewd; } @mvp_bet = 0; setpcblock PCBLOCK_ATTACK | PCBLOCK_IMMUNE, false; warp "SavePoint", 0, 0; end; OnDie2: unittalk .ma, "[MVP A] Mwahaha!~ Such a weak opponent!"; sleep 7000; killmonster "1@dth3", "All"; .start = 0; addrid(5, 0, "1@dth3"); if (1 == @mvp_bet) { message strcharinfo(0),"Congratulations! You won the event, Good choice!"; Zeny += .bet_rewd; } @mvp_bet = 0; setpcblock PCBLOCK_ATTACK | PCBLOCK_IMMUNE, false; warp "SavePoint", 0, 0; end; OnEventBet: mes .npc$; if (!.start) mes "The event is not active."; else if (.start != 3) mes "The event cannot accept bets at the moment."; else if (Zeny < .bet_cost) mes "You don't have enough zeny to make a bet."; else if (@mvp_bet) mes "You already placed your bet."; else if (strcharinfo(3) != "1@dth3") mes "Hmm~"; else { mes "Which mvp will you bet on this match???"; next; .@s = select("MVP A:MVP B"); mes .npc$; mes "Are you sure you want to bet " + F_InsertComma(.bet_cost) + " on " + (.@s == 1 ? "MVP A" : "MVP B") + "?"; next; if (select("Yes:No") & 2) end; if (.start != 3) { // in case they delay the select ??? setpcblock PCBLOCK_ATTACK | PCBLOCK_IMMUNE, false; warp "SavePoint", 0, 0; end; } mes .npc$; mes "Good luck and have fun!"; Zeny -= .bet_cost; @mvp_bet = .@s; } end; OnEventJoin: if (!.start) message strcharinfo(0), "The event is not active."; else if (.start != 1) message strcharinfo(0), "The event is not yet allowing participants to enter."; else { setpcblock PCBLOCK_ATTACK | PCBLOCK_IMMUNE, true; switch (rand(1,4)) { case 1: warp "1@dth3", 49, 50; break; case 2: warp "1@dth3", 49, 88; break; case 3: warp "1@dth3", 89, 88; break; case 4: warp "1@dth3", 89, 50; break; } } end; OnInit: bindatcmd "mvpjoin", strnpcinfo(1) + "::OnEventJoin"; bindatcmd "mvpbet", strnpcinfo(1) + "::OnEventBet"; bindatcmd "mvpstart", strnpcinfo(1) + "::OnStart", 99, 99; // List of MVP's setarray .MVP[0], 1112, 1115, 1147, 1150, 1157, 1159; .size = getarraysize(.MVP); .npc$ = "[MVP vs MVP Event]"; .bet_cost = 5000; // 5,000z to bet in the event .bet_rewd = 1000000; // 1,000,000z if bet wins end; } 1@dth3 mapflag monster_noteleport 1@dth3 mapflag noskill 1@dth3 mapflag noloot 1@dth3 mapflag noitemconsumption 1@dth3 mapflag nomemo 1@dth3 mapflag nosave SavePoint 1@dth3 mapflag nowarpto 1@dth3 mapflag nowarp 1@dth3 mapflag noteleport
  18. Hello, this is Cydh's @autostore feature. // @autostore [Cydh] if (autostoring && sd->state.autostore && !item->expire_time && !id->flag.autoequip && !sd->state.storage_flag && !sd->npc_id) { if ((!sd->autostore_weight || (sd->autostore_weight && get_percentage(sd->weight, sd->max_weight) >= sd->autostore_weight)) && ( (sd->autostore_type&1 && (id->type == IT_HEALING || id->type == IT_USABLE || id->type == IT_DELAYCONSUME || id->type == IT_CASH)) || (sd->autostore_type&2 && (id->type == IT_ARMOR || id->type == IT_WEAPON || id->type == IT_SHADOWGEAR || id->type == IT_PETEGG || id->type == IT_PETARMOR)) || (sd->autostore_type&4 && (id->type == IT_ETC || id->type == IT_AMMO || id->type == IT_UNKNOWN || id->type == IT_UNKNOWN2)) || (sd->autostore_type&8 && id->type == IT_CARD) ) ) { char output[CHAT_SIZE_MAX]; sd->weight += w; clif_updatestatus(*sd, SP_WEIGHT); storage_storageadd(sd, &sd->storage, i, amount); storage_storageclose(sd); clif_storageclose(*sd); sprintf(output, "[ Autostore ] %dx %s", amount, id->ename.c_str()); clif_messagecolor(&sd->bl, color_table[COLOR_LIGHT_GREEN], output, false, SELF); achievement_update_objective(sd, AG_GET_ITEM, 1, id->value_sell); return ADDITEM_SUCCESS; } } ---------------------------------------------------------- - ID: 2 Name: "Storage 2" Table: storage2 Max: 300 - ID: 3 Name: "Storage 3" Table: storage3 Max: 300 This is the part where it stores the item in the storage. storage_storageadd(sd, &sd->storage, i, amount); Any idea how I can call storage ID: 2 or 3 in that part, so that the item to be autostored will go to the custom storage I created?"
  19. is this normal coz what happen here after clearing the rebirth system database and do some rebirth the rebirth counts still continue instead of clearing all characters/account rebirth/grand rebirth and also if possible for account base rebirth ranking once any of the characters in the account do a grand rebirth all of the rebirth made by other characters are also wiped or reset. thanks @Racaae
  20. Hello try lang search sa youtube halos lahat ng guide ginawan na ng ating mga kasamang pinoy
  21. Guys sorry mejo visual learner kasi ako nahirapan ako dito https://github.com/rathena/rathena/wiki/Adding-a-Script meron bang video tutorial? 1. Create your own NPC folder and *.conf file. This will make it much easier to keep track of your own scripts and can reduce the hassle when merging new revisions of rA. eto kasing part na to ung nalito ako, saan ako gagawa ng folder? pag iclone ung git dahil sa update hindi ba mawala ung folders ko? C:\Users\Tite\Desktop\Ragmanok\2.Emulator\rathena C:\Users\Tite\Desktop\Ragmanok\2.Emulator\rathena\npc 2. Follow the basic layout of the other *.conf files and remember to import the *.conf in Etong mga conf files nakita ko panu daw gagawin ung import the *.conf in? C:\Users\Tite\Desktop\Ragmanok\2.Emulator\rathena\conf 3. Panu ilagay yung NPC? na enable ko na ung gusto kong script dito scripts_custom.conf tamang section po ba ito or mali? ilipat ko nalang if ever. Salamat. nagkaroon kasi ng error sa map server din eto screenshots.
  22. Thanks a lot sir I highly appreciate this
  23. Want to try your hand at making cool ice cream by the sea? Papa’s freezeria lets you manage an ice cream shop, making and decorating according to customers’ requests. With simple yet challenging gameplay, the game offers an exciting and entertaining experience!
  24. Have you ever felt stuck while playing Wordle and couldn't find the right word? Don't worry, Wordle Hint will help you overcome the challenge easily! This is a great support tool, helping you find the right hints to guess words faster. With smart tips and optimal strategies, you can improve your gaming skills and increase your winning rate. Whether you are a beginner or a pro, Wordle hint will help you conquer every challenge effectively!
  25. Have you tried playing Wordle? This is a pretty popular game these days. Every day, a new word needs you to decipher. If you get stuck because you don't know how to play or can't guess the word of that day, Then wordle hint is a perfect choice; Wordle Hint can help you with any difficulty about how to play or how to get to the answer as quickly as possible.
  1. Load more activity
×
×
  • Create New...