-
Posts
1,658 -
Joined
-
Last visited
-
Days Won
67
Community Answers
-
sader1992's post in Help!! tcg drop on mvp limit was marked as the answer
- script MvP_Kill -1,{ OnNPCKillEvent: [email protected] = compare(.MvPID$,""+killedrid); if( [email protected] ) { if( !.Chance || (.Chance && .Chance > rand(10000)) ) if(.limit > .limit_drop){ getitem .Reward, 1; .limit_drop++; } } end; OnClock0000: .limit_drop = 0; end; OnInit: .limit = 100; //100 drop per day .Chance = 1000; // 1000 = 10%, 0 = turn off chance drop mode, 100% drop .MvPID$ = "1511,1734,1492,1647,1785,1630,1399,1039,1874,"+ "1251,2068,1272,1719,1046,1389,1112,1115,1957,1418,1871,1252,1768,"+ "1086,1688,1646,1373,1147,1059,1150,1956,2022,1087,"+ "1190,1038,1157,1159,1502,1623,1650,1583,"+ "1708,1312,1751,1685,1648,1917,1658"; // MvP Ids .Reward = 7227; // Reward Item ID end; }
-
sader1992's post in How to fix "Failed to connect to server" was marked as the answer
make sure the packet version is current
make sure the ports are open
make sure the ip of each program
like this
conf/import/char_conf.txt login_ip: 127.0.0.1 char_ip: public_ip conf/import/map_conf.txt char_ip: 127.0.0.1 map_ip: public_ip make sure to check your clientinfo xml file
check your subnet config
and
-
sader1992's post in Prize for the first 50 was marked as the answer
mac ?
if you have GePard
this should work
prontera,0,0,0 script qqqqqq 444,{ if(inarray($UNIQUEIDLIST_REWARDS1$,get_unique_id()) == -1 && inarray($IPLIST_REWARDS1$,getcharip()) == -1 ){ if($REWARDS1 < 50){ //the rewards here! //------------ getitem 502,1; //------------ $UNIQUEIDLIST_REWARDS1$[getarraysize($UNIQUEIDLIST_REWARDS1$)] = get_unique_id(); $IPLIST_REWARDS1$[getarraysize($IPLIST_REWARDS1$)] = getcharip(); $REWARDS1++; mes "you got the reward"; end; } mes "you missed the reward";//50 player already got the reward end; } mes "you already got the reward"; end; }
-
sader1992's post in PVP POINTS SYSTEM was marked as the answer
- script pvp_points -1,{ OnPCKillEvent: if(killedrid == getcharid(3)) end; for([email protected]=0;[email protected]<.s;[email protected]++){ if(getmapflag(strcharinfo(3),.m[[email protected]])){ [email protected]_map = true; } } if([email protected]_map) end; PVPPOINTSYSTEM++; end; OnInit: setarray .m,mf_pvp,mf_pvp_noparty,mf_pvp_noguild,mf_gvg,mf_gvg_noparty; .s = getarraysize(.m); end; } //if you don't want a shop remove the next line. prontera,0,0,0 pointshop PVP_POINT_SHOP 444,PVPPOINTSYSTEM,512:1,502:50;//ADD MORE IF YOU WANT //ADD MAP ,X ,Y ,NPC NAME ,NPC LOOK AS YOU WANT
-
sader1992's post in help delequip was marked as the answer
EQI_SHOES (2) - Footgear (shoes, boots) EQI_COMPOUND_ON (-1) - Item slot that calls this script (In context of item script) EQI_ACC_L (0) - Accessory 1 EQI_ACC_R (1) - Accessory 2 EQI_SHOES (2) - Footgear (shoes, boots) EQI_GARMENT (3) - Garment (mufflers, hoods, manteaux) EQI_HEAD_LOW (4) - Lower Headgear (beards, some masks) EQI_HEAD_MID (5) - Middle Headgear (masks, glasses) EQI_HEAD_TOP (6) - Upper Headgear EQI_ARMOR (7) - Armor (jackets, robes) EQI_HAND_L (8) - Left hand (weapons, shields) EQI_HAND_R (9) - Right hand (weapons) EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear EQI_COSTUME_GARMENT (13) - Costume Garment EQI_AMMO (14) - Arrow/Ammunition EQI_SHADOW_ARMOR (15) - Shadow Armor EQI_SHADOW_WEAPON (16) - Shadow Weapon EQI_SHADOW_SHIELD (17) - Shadow Shield EQI_SHADOW_SHOES (18) - Shadow Shoes EQI_SHADOW_ACC_R (19) - Shadow Accessory 2 EQI_SHADOW_ACC_L (20) - Shadow Accessory 1 i don't see where you are deleting the weapon
2 = shoes
4 = low headgear
if(getequipid(2) == [email protected]) delequip(2); message strcharinfo(0),"your "+getitemname([email protected])+" break!!"; if(getequipid(4) == [email protected]) delequip(4); message strcharinfo(0),"your "+getitemname([email protected])+" break!!"; you can use the const variable with the command so you don't get lost
like delequip(EQI_HAND_R);
(also your if statement will ignore the message , the message will play anyway cut there is no {} )
-
sader1992's post in How important is 'ClassNum' field in iteminfo.lub? was marked as the answer
on the character selection , the view id come from the server
after that inside the game the view id come from the lua files
to put high view id in the client , you need to patch your client to allow that , use nemo for that
-
sader1992's post in Change the sub menu language from application.php to the langauge file was marked as the answer
https://github.com/rathena/FluxCP/pull/243/files
-
sader1992's post in About Cash Shop from SQL was marked as the answer
to use sql , you need to switch everything to sql
including item_db
https://github.com/rathena/rathena/blob/08d160aaac8cdd286bbafb32532abe42b8a42376/conf/inter_athena.conf#L154
else , you can try src edit https://github.com/rathena/rathena/blob/08d160aaac8cdd286bbafb32532abe42b8a42376/src/map/cashshop.cpp#L434
to
//if( db_use_sqldbs ){ cashshop_read_db_sql(); //} else { // cashshop_read_db_txt(); //} however , never tested it , don't know if there is something else you should change or not to work
-
sader1992's post in Cannot enter on Mapa server was marked as the answer
conf/import/char_conf.txt login_ip: 127.0.0.1 char_ip: vps_ip conf/import/map_conf.txt char_ip: 127.0.0.1 map_ip: vps_ip
-
sader1992's post in Check Partymembers status was marked as the answer
i think you already got the answer in discord, however this is the answer if someone wanted it
getpartymember getcharid(1),0,[email protected]$[0]; getpartymember getcharid(1),1,[email protected][0]; getpartymember getcharid(1),2,[email protected][0]; for([email protected]=0;[email protected]<getarraysize([email protected]$[0]);[email protected]++){ if(isloggedin([email protected][[email protected]],[email protected][[email protected]])){ if([email protected] = checkvending([email protected]$[[email protected]])){ if ([email protected]&1) mes [email protected]$[[email protected]] + " is currently vending!"; if ([email protected]&4) mes [email protected]$[[email protected]] + " has a buying store!"; if ([email protected]&2) mes [email protected]$[[email protected]] + " is autotrading!"; [email protected]_vinding = true; } } } if([email protected]_vinding) end;
-
sader1992's post in Title as a Quest Reward was marked as the answer
create an achievement , and add the title to it as a reward
use "achievementcomplete(<achievement id>{,<char id>})"
now the player have the title
-
sader1992's post in deactivate return save point second death was marked as the answer
try the mapflag
'pvp_nocalcrank' will disable calculation of PvP rankings.
-
sader1992's post in Free Potions Once a Day was marked as the answer
izlude,144,121,3 script JohnDoe NPC::JohnDoe 1_M_MERCHANT,{ mes "[JohnDoe]"; mes "Do you need some Novice Potions?"; switch(select("Yes, please.:I don't need them for now, thank you.")){ clear; case 1: [email protected]$ = "" + gettime(DT_YYYYMMDD); if(#JOHNDOE_DAILY$ == [email protected]$){ mes "you already got the Novice Potions for today"; mes "try again in the next day"; end; } mes "Here, take these."; getitem 569,250; #JOHNDOE_DAILY$ = [email protected]$; mes "Good luck!."; end; case 2: mes "Okay, good luck!"; end; } }
-
sader1992's post in Help> BULK POTION BREWER was marked as the answer
the chance logic was incorrect btw
if(rand(1,5) == 3) // this mean the chance is 1/5
if(rand(1,5) <= 3) // this mean the chance is 3/5
leave the mac quantity 250 or add sleep in the loop if you know what i mean
prontera,164,171,4 script Potion Brewer 893,{ mes "[Potion Brewer Alisa]"; mes "Hello, "+strcharinfo(0)+"!"; mes "How may I help you?"; next; switch (select("Brew Grenade:Brew Acid:")) { case 1: input [email protected]; if([email protected] > 250){ mes "the max quantity you can do at once is 250"; end; } clear; if (countitem(713) < [email protected] || countitem(970) < [email protected] || countitem(1059) < [email protected] ) { mes "You're lacking of requirements."; close; } for([email protected]=0;[email protected]<[email protected];[email protected]++){ if(rand(1,5) <= 3) { [email protected]++; } } delitem 713,[email protected]; delitem 970,[email protected]; delitem 1059,[email protected]; getitem 7135,[email protected]; end; } end; }
-
sader1992's post in Random Menu Selection was marked as the answer
setarray [email protected]$[0],"Kill Mantis","Kill Bees","Kill Soils","Kill Porings"; [email protected]$ = "NULL"; while(countinarray([email protected]$[0], [email protected]$) != 2) [email protected]$[rand(getarraysize([email protected]$))] = [email protected]$; switch(select(replacestr(implode([email protected]$, ":"), [email protected]$, ""))) { case 1: mes("mantis"); close; case 2: mes("bees"); close; case 3: mes("soils"); close; case 4: mes("porings."); close; }
-
sader1992's post in Mob counter / record was marked as the answer
prontera,0,0,0 script poring_count 444,{ [email protected] = query_sql("SELECT `char_id`,`char_name`,`kills` FROM `poring_kill_rank` where `kills` > '0' order by `kills` DESC", [email protected],[email protected]$,[email protected]); [email protected] = inarray([email protected]$, strcharinfo(0)); if(inarray([email protected]$, strcharinfo(0)) != -1){ mes "^0024E8[YOU] :^000000 (" + ([email protected] +1) + ") : " + [email protected][[email protected]] + " Poring Kills"; } mes "[TOP 10] :"; for([email protected]=0;[email protected]<min([email protected],9);[email protected]++){ mes ([email protected] + 1) + " ^0024E8" + [email protected]$[[email protected]] + "^000000 ^FF0000" + [email protected][[email protected]] + "^000000 Poring Kills."; } end; OnNPCKillEvent: if(killedrid == 1002){ query_sql("SELECT `kills` FROM `poring_kill_rank` WHERE `char_id` = '" + getcharid(0) + "'", [email protected]); if([email protected]){ query_sql("UPDATE `poring_kill_rank` SET `kills` = '" + [email protected] +"' WHERE `char_id` = '" + getcharid(0) + "'"); }else{ query_sql("INSERT INTO `poring_kill_rank` (`char_id`,`char_name`,`kills`) VALUES ('" + getcharid(0) + "','" + strcharinfo(0) + "','" + [email protected] + "')"); } } end; OnInit: query_sql("CREATE TABLE IF NOT EXISTS `poring_kill_rank` (`char_id` INT NOT NULL,`char_name` VARCHAR(30) NOT NULL,`kills` INT NOT NULL) ENGINE=MyISAM"); } to reset, just remove all the entries in poring_kill_rank table
-
sader1992's post in Guild Quests was marked as the answer
you can create a global variable with the index of the guild id
like
OnMonsterDead: if(getcharid(2) && $GLOBALGUILDQUEST[getcharid(2)]){ $GLOBALGUILDQUESTCOUNT[getcharid(2)]++; } end; //$GLOBALGUILDQUEST is a variable true or falce to check if the guild have the quest or not , normally just set it to true when they take the quest and false when they are done //$GLOBALGUILDQUESTCOUNT is variable for the kill count in this case and you can check for the count too
-
sader1992's post in How to Add Custom Quest? was marked as the answer
2018 Client ?
System/OngoingQuestInfoList_Sakray.lub
-
sader1992's post in how to use or put script was marked as the answer
https://github.com/rathena/rathena/wiki/Basic-Scripting#adding-scripts
-
sader1992's post in How to get unique id from OnSellItem ? was marked as the answer
https://github.com/rathena/rathena/pull/4195/files
-
sader1992's post in Excluding Doram from an NPC was marked as the answer
at the start
if(Class == 4218) end;
-
sader1992's post in script npcload failed was marked as the answer
try @reloadnpc
the npc already loaded , you can't load it twice
@reloadnpc
or @unloadnpcfile
than
@loadnpc
also , did you edit the npc file ?
the npc is depend on the duplicate if you didn't edit it
why not adding it to your conf file and @reload script , so it would be always loaded ?
-
sader1992's post in Script - Spawn MVP only after the previous one is dead was marked as the answer
- script respawnMvp -1,{ OnInit: setarray .mob_id[0],1857,1002,1031,1113,1613,1836; .monster = .mob_id[rand(getarraysize(.mob_id))]; monster "prontera",154,172,"--en--", .monster, 1, "respawnMvp::OnKill"; announce "MVP "+getmonsterinfo(.monster, 0)+" has spawned!",0; end; OnKill: announce getmonsterinfo(.monster, 0)+ " was killed by "+strcharinfo(0)+".",0; .monster = .mob_id[rand(getarraysize(.mob_id))]; monster "prontera",154,172,"--en--", .monster, 1, "respawnMvp::OnKill"; announce "MVP "+getmonsterinfo(.monster, 0)+" has spawned!",0; end; }
-
sader1992's post in modify required item was marked as the answer
just before you delete the zeny
set Zeny, Zeny-.s_zeny; add
if(!countitem(7716)){ mes "you need 1 " + getitemname(7716) + " to complete the enchantment."; end; } delitem 7716,1;