Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/08/23 in all areas

  1. Deposit System Do your server has so many headgear? Usually after new headgear is released especially when the new one has better benefit, Previous Headgear used by Player is now useles right? This System is inspired on the ROM Adventure Book, Where Player can Deposit un-used Item, but Player will be still has benefited from it, instead lying around somewhere uselessly. Video Deposit System.mp4
    1 point
  2. Use router,, because you need to portforward your LANIP to connect,, if you trouble with your connection and you want to use pocketwifi,, use hamachi instead but you need data service in your pocketwifi
    1 point
  3. For offline mode use the LAN IP on clientinfo,xml e.g. 192.168.100.1
    1 point
  4. Your pick code throws 4 dice with 10 eyes and checks if at least one fits, and then picks an item randomly. Which means your script decides if it should give loot or not (Which contradicts your 4. Rule) but in case it drops an item, it gives every item an equal chance to be dropped. Except Yggrasil Berry, which gets a 1% chance to be dropped regardless of if there was already a drop, which also contradicts your 4. Rule. Here is what I would do to change your script to make it fit your given rules: prt_fild00,278,237,0 script Fishing School 10065,{ if (!isequipped(.rod)) { dispbottom("[Fishing] You need a Fishing Rod."); end; } specialeffect(EF_BUBBLE, "Fishing School"); soundeffect("_attack_axe.wav", 0); dispbottom("[Fishing] Casting..."); progressbar("ffffff", .cast_delay); .@pick = rand(1, .catch_weight_sum); for(.@i = 0; .@i < getarraysize(.catches); .@i += 2) { .@pick -= .catches[.@i + 1]; if(.@pick <= 0) { .@catch = .catches[.@i]; break; } } getitem(.@catch, 1); specialeffect2(610); soundeffectall("see_otter_damage.wav", 0, strcharinfo(3)); dispbottom("[Fishing] You got "+ getitemname(.@catch) + "."); end; OnInit: .rod = 2764; .cast_delay = 5; // Red Herb 40%; Yellow Herb 30%; White Herb 20%, Blue Herb 10%, Yggdrasil Berry 0.01% setarray(.catches, 507, 4000, 508, 3000, 509, 2000, 510, 1000, 607, 1); for(.@i = 0; .@i < getarraysize(.catches); .@i += 2) .catch_weight_sum = .catches[.@i + 1]; }
    1 point
  5. You are right, it doesn't seem like you can put anything inside the condition argument of the questinfo function that doesn't return a value directly. It simply evaluates if the result of the script in the conditions string results in true or false, when certain events like the completion of a quest trigger a reevaluation. That means you can only use functions that the script engine knows and that return a value. So what you can do alternatively is to build the condition string dynamically. prontera,150,193,4 script DEMO 124,{ OnInit: setarray(.@quests, 11114, 11115, 11116, 11117, 11118, 11119, 11120, 11121, 11122, 11123); for(.@i = 0; .@i < getarraysize(.@quests); .@i++) .@condition$[.@i] = "checkquest(" + .@quests[.@i] + ", HUNTING) == 2"; questinfo(QTYPE_QUEST, QMARK_YELLOW, implode(.@condition$, "||")); }
    1 point
  6. putting this in causes a compilation error with itemdb.cpp:3830:9: error: ‘itemdb’ was not declared in this scope; did you mean ‘item_db’? 3830 | itemdb->foreach(itemdb, itemdb_searchlook, data, &item, NULL); | ^~~~~~ | item_db trying that item_db doesn't have a foreach property and nothing else passed into the method does. I am on the latest rathena. Just want to see if I can get this to work since it looks like a cool idea.
    1 point
  7. what do you mean by job id ? you want the job id of the player who is killed ? you can do readparam() OnPCKillEvent: debugmes "" + readparam(Class,convertpcinfo(killedrid,CPC_CHAR)); end; readparam(Class,convertpcinfo(killedrid,CPC_CHAR)) will return the class of the killed if it's a player ofc , hint OnPCKillEvent
    1 point
×
×
  • Create New...