-
Posts
794 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Posts posted by AinsLord
-
-
21 hours ago, sader1992 said:
The groups/ids are per npc , you can use the same item in a different npc copy however you cannot use the same item in the same npc in a different group.
also i need more information about when this happen to you , at any step of the npc ?
the image you provided the next line is just select , so I don't think this where you are getting the issue
i found out why it hangs it happens because of my phpmyadmin database
thanks i love your script
-
im using this sir @sader1992 at 1st it was working fine then several days after when i tried to put options after selecting
proceed this happens it hangs cant move cant even TP nor chat i need to reboot the whole VPS to bring it back
i dunno what happen i didnt change any codes or add anything
i just created another NPC of it for addition ID option i forgot that ID 1 has the same item on the
other NPC that has ID 2 like this
NPC 1
//Creating Group id 1 , with Hat items inside. AddGroup(1,2220,2221,2222,2223);
NPC 2
//Creating Group id 1 , with Hat items inside. AddGroup(2,2223);
will that affect this
DO NOT REUSE THE SAME ITEM ID IN DIFFERENT GROUP!
-
it was working before but now when i tried it again seems after this part
its not proceeding at all cant event teleport
what seems to be the problem no error in the console
here the code
//===== rAthena Script ======================================= //= saders All in one Random Option Script //= Free Script!!!! //===== By: ================================================== //= sader1992 //= https://sader1992.com/ //= https://rathena.org/board/profile/30766-sader1992/ //= https://sader1992.com/?page=item&item=54 //= For more , check out here > //= https://sader1992.com/?page=ra_services //= https://sader1992.com/?page=store //= https://rathena.org/board/profile/30766-sader1992/content/?type=downloads_file //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //https://rathena.org/board/files/file/4309-all-in-one-random-options-script/ //https://github.com/sader1992/sader_scripts //===== Update Log: ========================================= //= Version 1.0 Creating the script. //===== Description: ========================================= //= This is a Highly Custumizable random option script //= you can reuse the script by just creating a new file with different setting!. //= read and understand the settings. //============================================================ prontera,127,170,7 script AllInOne_RandomOption 444,{ disable_items; function rnd; switch(select("Insert Random Options:Allowed Items List")){ case 1: mes "You must equip the item to appear here!"; for(.@i=0;.@i<EQI_MAX;.@i++){ if(getequipisequiped(.@i)) { .@m1$ += (inarray(.item_list,getequipid(.@i)) != -1?"^11AD09":"^F73831") + F_getpositionname(.@i) + "-[" + getequipname(.@i) + "]^000000"; .@exist = true; } .@m1$ += ":"; } if(!.@exist){ mes "You have to equip the item you want to insert the random options into!."; end; } .@eq = select(.@m1$) -1; clear; .@id = getequipid(.@eq); if(inarray(.item_list,.@id) == -1){ mes "Sorry , I cannot deal with this item!"; end; } .@gid = .it[.@id]; if(!.@gid){ mes "Something went wrong!"; end; } if(!getequiprandomoption(.@eq,0,ROA_ID)){ .@zeny = .nz[.@gid]; .@cashpoint = .nk[.@gid]; .@costumpoint = .nc[.@gid]; copyarray(.@item,getd(".ni_" + .@gid),getarraysize(getd(".ni_" + .@gid))); copyarray(.@amount,getd(".na_" + .@gid),getarraysize(getd(".na_" + .@gid))); }else{ if(!.g_reroll[.@gid]){ mes "Sorry , i cannot reroll the random options in this item!"; end; } .@zeny = .rz[.@gid]; .@cashpoint = .rk[.@gid]; .@costumpoint = .rc[.@gid]; copyarray(.@item,getd(".ri_" + .@gid),getarraysize(getd(".ri_" + .@gid))); copyarray(.@amount,getd(".ra_" + .@gid),getarraysize(getd(".ra_" + .@gid))); } mes "Selected Item [" + getequipname(.@eq) + "]"; mes "==== Cost ===="; if(.@zeny) mes "Zeny: " + .@zeny; if(.@cashpoint) mes "CashPoint: " + .@cashpoint; if(.@costumpoint) mes .CustomPointsName$ + ": " + .@costumpoint; for(.@i=0;.@i<getarraysize(.@item);.@i++){ mes "(" + .@amount[.@i] + ") " + getitemname(.@item[.@i]); } if(!.KeepItemData){ mes "^E01E00You will loss all the refine and cards in the item if you continue.^000000"; } mes "Would you like to continue?"; if(select("Yes:No") == 2){ clear; mes "Ok, see you next time!"; end; } clear; if(Zeny < .@zeny){ mes "You don't have " + .@zeny + " Zeny"; .@close = true; } if(#CASHPOINTS < .@cashpoint){ mes "You don't have " + .@cashpoint + " CashPoints"; .@close = true; } if(getd(.CustomPointsVariable$) < .@costumpoint){ mes "You don't have " + .@costumpoint + " " + .CustomPointsName$; .@close = true; } for(.@i=0;.@i<getarraysize(.@item);.@i++){ if(countitem(.@item[.@i]) < .@amount[.@i]){ mes "You don't have (" + .@amount[.@i] + ") " + getitemname(.@item[.@i]); .@close = true; } } if(.@close) end; .@r = getequiprefinerycnt(.@eq); for(.@i=0;.@i<4;.@i++){ if(getequipcardid(.@eq,.@i)){ setd ".@c" + .@i,getequipcardid(.@eq,.@i); .@re[getarraysize(.@re)] = true; } } copyarray(.@opt_id,getd(".ro_id_" + .@gid + "_0"),getarraysize(getd(".ro_id_" + .@gid + "_0"))); copyarray(.@opt_mn,getd(".ro_mn_" + .@gid + "_0"),getarraysize(getd(".ro_mn_" + .@gid + "_0"))); copyarray(.@opt_mx,getd(".ro_mx_" + .@gid + "_0"),getarraysize(getd(".ro_mx_" + .@gid + "_0"))); for(.@i=1;.@i<6;.@i++){ copyarray(getd(".@opt_id" + .@i),getd(".ro_id_" + .@gid + "_" + .@i),getarraysize(getd(".ro_id_" + .@gid + "_" + .@i))); copyarray(getd(".@opt_mn" + .@i),getd(".ro_mn_" + .@gid + "_" + .@i),getarraysize(getd(".ro_mn_" + .@gid + "_" + .@i))); copyarray(getd(".@opt_mx" + .@i),getd(".ro_mx_" + .@gid + "_" + .@i),getarraysize(getd(".ro_mx_" + .@gid + "_" + .@i))); } for(.@i=1;.@i<6;.@i++){ if(rand(100) > getd(".s_" + .@i + "[" + .@gid + "]")) break; if(getd(".ro_id_" + .@gid + "_" + .@i)){ if(!getarraysize(getd(".@opt_id" + .@i))) break; .@ndx = rand(getarraysize(getd(".@opt_id" + .@i))); .@result_id = getd(".@opt_id" + .@i + "[" + .@ndx + "]"); .@result_vl = rnd(getd(".@opt_mn" + .@i + "[" + .@ndx + "]"),getd(".@opt_mx" + .@i + "[" + .@ndx + "]")); deletearray(getd(".@opt_id" + .@i + "[" + .@ndx + "]"),1); deletearray(getd(".@opt_mn" + .@i + "[" + .@ndx + "]"),1); deletearray(getd(".@opt_mx" + .@i + "[" + .@ndx + "]"),1); }else{ if(!.@opt_id) break; .@ndx = rand(getarraysize(.@opt_id)); .@result_id = .@opt_id[.@ndx]; .@result_vl = rnd(.@opt_mn[.@ndx],.@opt_mx[.@ndx]); if(!.g_reuse[.@gid]){ deletearray(.@opt_id[.@ndx],1); deletearray(.@opt_mn[.@ndx],1); deletearray(.@opt_mx[.@ndx],1); } } if(.ex[.@result_id]){ for(.@i2=0;.@i2<getarraysize(.@r_id);.@i2++){ if(.ex[.@result_id] == .ex[.@r_id[.@i2]]){ .@reject = true; } } } if(!.@reject){ .@s1 = getarraysize(.@r_id); .@r_id[.@s1] = .@result_id; .@r_v[.@s1] = .@result_vl; }else{ .@i--; .@failsafe++; if(.@failsafe > 50){ mes "Something went wrong , The server admin need to make sure that the config is done correctly!"; end; } } } if(Zeny < .@zeny) end; if(#CASHPOINTS < .@cashpoint) end; if(getd(.CustomPointsVariable$) < .@costumpoint) end; for(.@i=0;.@i<getarraysize(.@item);.@i++){ if(countitem(.@item[.@i]) < .@amount[.@i]){ end; } } // anti-hack if (callfunc("F_IsEquipIDHack", .@eq, .@id) || callfunc("F_IsEquipCardHack", .@eq, .@c0, .@c1, .@c2, .@c3)) { // anti-hack emotion ET_FRET; mes "Item Switch detected!"; end; } Zeny -= .@zeny; #CASHPOINTS-= .@cashpoint; setd(.CustomPointsVariable$,getd(.CustomPointsVariable$) - .@costumpoint); for(.@i=0;.@i<getarraysize(.@item);.@i++){ delitem(.@item[.@i],.@amount[.@i]); } if(!.@r_id){ specialeffect2 EF_REFINEOK; mes "Look Like you didn't get any random option, your luck is really bad!"; end; } delequip(.@eq); specialeffect2 EF_REFINEOK; if(.KeepItemData) getitem3(.@id,1,1,.@r,0,.@c0,.@c1,.@c2,.@c3,.@r_id,.@r_v,.@null); else getitem3(.@id,1,1,0,0,0,0,0,0,.@r_id,.@r_v,.@null); equip(.@id); mes "Done!"; end; case 2: mes "The list of the allowed items in this npc!"; for(.@i=0;.@i<getarraysize(.item_list);.@i++){ mes "<ITEM>" + getitemname(.item_list[.@i]) + "[" + getitemslots(.item_list[.@i]) + "]<INFO>" + .item_list[.@i] + "</INFO></ITEM>"; if(.@i >= 10 && !(.@i%10)) next; } end; } end; function rnd { if(.HardBalance){ return rand(getarg(0),rand(getarg(0),getarg(1))); } return rand(getarg(0),getarg(1)); } function AddGroup { .@id = getarg(0); for(.@i=1;.@i<getargcount();.@i++){ .it[getarg(.@i)] = .@id; .item_list[getarraysize(.item_list)] = getarg(.@i); } return; } function AddGroupOption { .@id = getarg(0); .g_reroll[.@id] = getarg(1); .g_reuse[.@id] = getarg(2); return; } function AddGroupCost { .@id = getarg(0); .nz[.@id] = getarg(1); .nk[.@id] = getarg(2); .nc[.@id] = getarg(3); for(.@i=4;.@i<getargcount();.@i+=2){ .@s = getarraysize(getd(".ni_" + .@id)); setd(".ni_" + .@id + "[" + .@s + "]",getarg(.@i)); setd(".na_" + .@id + "[" + .@s + "]",getarg(.@i+1)); } return; } function AddGroupReRollCost { .@id = getarg(0); .rz[.@id] = getarg(1); .rk[.@id] = getarg(2); .rc[.@id] = getarg(3); for(.@i=4;.@i<getargcount();.@i+=2){ .@s = getarraysize(getd(".ri_" + .@id)); setd(".ri_" + .@id + "[" + .@s + "]",getarg(.@i)); setd(".ra_" + .@id + "[" + .@s + "]",getarg(.@i+1)); } return; } function AddGroupChance { .@id = getarg(0); .s_1[.@id] = getarg(1); .s_2[.@id] = getarg(2); .s_3[.@id] = getarg(3); .s_4[.@id] = getarg(4); .s_5[.@id] = getarg(5); return; } function AddOpt { .@id = getarg(0); .@loc = getarg(1); .@s = getarraysize(getd(".ro_id_" + .@id + "_" + .@loc)); setd(".ro_id_" + .@id + "_" + .@loc + "[" + .@s + "]",getarg(2)); setd(".ro_mn_" + .@id + "_" + .@loc + "[" + .@s + "]",getarg(3)); setd(".ro_mx_" + .@id + "_" + .@loc + "[" + .@s + "]",getarg(4)); return; } function AddExclusiveOpt { .@s1 = getarraysize(.exv); .exv[.@s1] = true; for(.@i=0;.@i<getargcount();.@i++){ .ex[getarg(.@i)] = .@s1; } return; } OnInit: .exv = true;//DO NOT REMOVE THIS. .KeepItemData = true;//if this is 'false , the player will loss the refine+cards from the item when he use this npc. .CustomPointsVariable$ = "#COSTUMPOINTS";//The variable name of the costum points. .CustomPointsName$ = "Server RO Points";//The name of the costum points, this what the player will see. .HardBalance = true;//if this is true , it would be much harder to get high value in the random option. //AddGroup(<Group ID>,<ItemID>,<ItemID>,<ItemID>,<ItemID>,<ItemID>); /* AddGroup Doc <Group ID> = a number between 1 and MAX_INT64 DO NOT REUSE THE GROUP ID IN THE SAME FILE CONFIG! DO NOT REUSE THE SAME ITEM ID IN DIFFERENT GROUP! will create a group id you can add as many as you want items inside a group. */ //AddGroupOption(<Group ID>,<Allow ReRoll?true:false>,<Allow reuse already gotten option?true:false>,<Zeny Cost>,<CashPoint Cost>,<Custom Points Cost>,<Item1 ID Cost>,<Item1 Amount Cost>,<Item2 ID Cost>,<Item2 Amount Cost>,<....ETC>); /* AddGroupOption Doc <Group ID> = A group id that is already created in AddGroup()!. <Allow ReRoll?true:false> = allow reroll an item with random option or not <Allow reuse already gotten option?true:false> = for exammple if you have str in the options and the player gor it , can he get it again in another slot? */ //AddGroupCost(<Group ID>,<Zeny Cost>,<CashPoint Cost>,<Custom Points Cost>,<Item1 ID Cost>,<Item1 Amount Cost>,<Item2 ID Cost>,<Item2 Amount Cost>,<....ETC>); /* AddGroupCost Doc <Group ID> = A group id that is already created in AddGroup()!. <Zeny Cost> = the zeny cost (can be 0) <CashPoint Cost> = the cashpoints cost (can be 0) <Custom Points Cost> = if you are using costum points in the script , check out .CustomPointsVariable$ and .CustomPointsName$ at the start of the script (can be 0) <Item1 ID Cost> = the item cost <Item1 Amount Cost> = the item amount cost You can use as many item,amount cost at the end of the function. */ //AddGroupReRollCost(<Group ID>,<Zeny Cost>,<CashPoint Cost>,<Custom Points Cost>,<Item1 ID Cost>,<Item1 Amount Cost>,<Item2 ID Cost>,<Item2 Amount Cost>,<....ETC>); /* AddGroupReRollCost Doc <Group ID> = A group id that is already created in AddGroup()!. <Zeny Cost> = the zeny cost (can be 0) <CashPoint Cost> = the cashpoints cost (can be 0) <Custom Points Cost> = if you are using costum points in the script , check out .CustomPointsVariable$ and .CustomPointsName$ at the start of the script (can be 0) <Item1 ID Cost> = the item cost <Item1 Amount Cost> = the item amount cost You can use as many item,amount cost at the end of the function. */ //AddGroupChance(<Group ID>,<1st Option Chance>,<2nd Option Chance>,<3rd Option Chance>,<4th Option Chance>,<5th Option Chance>); /* AddGroupChance Doc <Group ID> = A group id that is already created in AddGroup()!. <1st Option Chance> = the Chance to get one of the random options in the slot 1 (can be 0) <2nd Option Chance> = the Chance to get one of the random options in the slot 2 (can be 0) <3rd Option Chance> = the Chance to get one of the random options in the slot 3 (can be 0) <4th Option Chance> = the Chance to get one of the random options in the slot 4 (can be 0) <5th Option Chance> = the Chance to get one of the random options in the slot 5 (can be 0) Keep inmind that if the player didn't get lucky for example at the slot 2 , all the chances after will be ignored you cannot skip a random option slot that would bug the game client. */ //AddOpt(<Group ID>,<Location>,<Random Option ID>,<Minimum Value>,<Maximum Value>); /* AddOpt Doc <Group ID> = A group id that is already created in AddGroup()!. <Location> = you can spisfiy random option to a location from 1 to 5 , but you can use 0 , if you used 0 it will apply to all locations that doesn't have spisfied random options. <Random Option ID> = random option id , you can use the id or the variable , check out the file /rathena/db/re/item_randomopt_db.yml <Minimum Value> = the minimum value <Maximum Value> = the maximum value */ //AddExclusiveOpt(<Random Option ID>,<Random Option ID>,<Random Option ID>,<Random Option ID>,<Random Option ID>); /* AddExclusiveOpt Doc this will help you to prevent a group of random opions typs in the same item in different slots for example RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET RDMOPT_DAMAGE_PROPERTY_WATER_TARGET RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET RDMOPT_DAMAGE_PROPERTY_WIND_TARGET RDMOPT_DAMAGE_PROPERTY_POISON_TARGET RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET if the player got 1 of them in a slot , he wont get another one to another slot */ //Example!!!> //this is just an example , this script allow you to create any random option system you want. //Creating Group id 1 , with Hat items inside. AddGroup(1,2220,2221,2222,2223); //Group id 1 Options AddGroupOption(1,true,false); //Group id 1 Cost AddGroupCost(1,50,0,0,0,0,0,0); //Group id 1 ReRoll Cost AddGroupReRollCost(1,50,0,0,0,0,0,0); //Group id 1 Chances. AddGroupChance(1,100,100,100,100,100); //Group id 1 Random Option List. location 0 mean all the slot locations AddOpt(1,0,RDMOPT_VAR_STRAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_INTAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_VITAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_LUKAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_AGIAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_DEXAMOUNT,1,100); AddOpt(1,0,RDMOPT_VAR_MAXHPPERCENT,1,100); AddOpt(1,0,RDMOPT_VAR_MAXSPPERCENT,1,100); //those enchantment you wont get unless in slot 5 AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_WATER_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_WIND_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_POISON_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET,1,100); AddOpt(1,5,RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET,1,100); //this mean those random options cannot coexist in the same item!. AddExclusiveOpt(RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET, RDMOPT_DAMAGE_PROPERTY_WATER_TARGET, RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET, RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET, RDMOPT_DAMAGE_PROPERTY_WIND_TARGET, RDMOPT_DAMAGE_PROPERTY_POISON_TARGET, RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET, RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET, RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET, RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET); end; }
this is a work of @sader1992
TIA
EDIT: whole map server lags when i try to add option -
i tried to convert my icabits generated itemdb.txt to yml this what happens
can anyone help me why it shows like this?
thanks in advance
PS: Fixed it for got to change its type to armor -
here is the script
//===== Thaddeus Scripts ================================== //= Simple Cool Anti-Bot //===== By: ================================================== //= Thaddeus //===== Current Version: ===================================== //= 2.0 //===== Compatible With: ===================================== //= Hercules, rAthena, 3ceam, eAthena //===== Description: ========================================= // Improvise Simple Anti-Bot! from method of Brian. //===== Comments: ============================================ //= Change the % chance of triggering, change jail time. //===== Additional Comments: ================================= //= 1.00 Initial Release //= 1.01 Cleaned up and removed the use of goto (Stolao) //===== Contact Info: ========================================= //= http://hercules.ws/board/user/457-thaddeus/ //============================================================ //===== Credits to: ========================================= //= Brian, Stolao //============================================================ - script anti-bot2 -1,{ OnPCLoginEvent: set checkbot,0; if(botter >= 1) { doevent "anti-bot::Oncheckb"; } } - script anti-bot -1,{ OnNPCKillEvent: if( rand(100) < 25 ) { end;} // Default Setting: 75% Chance to Ignore the Anti-Bot Oncheckb: function GetString; if (getgmlevel() >= 3) { end;} /* Uncomment if you want to Ignore this by GM */ if(checkbot >= 1) { end; } atcommand "@jail "+strcharinfo(0)+""; set botter,1; sc_start SC_BERSERK, 1000000000, 1; sc_start SC_FREEZE, 1000000000, 1; sleep2 3000; for(set botter,botter; botter < 4; set botter,botter + 1;){ set .@String$,GetString( 15,rand(3,7) ); mes "You Have 3 Chance to Type the Red Text Correctly"; mes "If you failed- You will be jailed"; mes "Input the ^FF0000RED COLOUR^000000 part"; mes "^0000FF"+GetString( 15,rand(5,10) )+"^FF0000"+.@String$+"^0000FF"+GetString( 15,rand(3,10) )+"^000000"; input .@Input$; if( .@Input$ != .@String$ ){ if (botter >= 3) { atcommand "@unjail "+strcharinfo(0)+""; sleep2 1000; atcommand "@jailfor 10d "+strcharinfo(0)+""; announce "[Anti-BOT]: The user [" +strcharinfo(0) +"] Has Been Jailed For 10 Days.",0,0xe80f0f; set botter,0; close; end; } mes "Wrong.."; next; } else { break; } } atcommand "@unjail "+strcharinfo(0)+""; set botter,0; set checkbot,1; sc_end SC_BERSERK; sc_end SC_FREEZE; percentheal 100,100; sc_start SC_INC_AGI,240000,10; sc_start SC_BLESSING,240000,10; end; function GetString { if( getarg(0) & 1 ) setarray .@List$[ getarraysize( .@List$ ) ],"1","2","3","4","5","6","7","8","9"; if( getarg(0) & 2 ) setarray .@List$[ getarraysize( .@List$ ) ],"A","B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"; if( getarg(0) & 4 ) setarray .@List$[ getarraysize( .@List$ ) ],"a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","v","w","x","y","z"; //if( getarg(0) & 8 ) setarray .@List$[ getarraysize( .@List$ ) ],"!","@","#","$","%","^","&","*","(",")","-","=","/","+"; set .@Str$,""; while( getstrlen( .@Str$ ) < getarg(1) ) set .@Str$,.@Str$ + .@List$[ rand( getarraysize( .@List$ ) ) ]; return .@Str$; } } sec_pri mapflag pvp off
here is the error on the console
i hope anyone can help me
thanks in advance
appreciate it -
2 minutes ago, sader1992 said:
close2 doesn't detach the player , use close or end
for the reset times , you are already saving that in RESET_COUNT
so you can do something like
mes "Reset Count: " + RESET_COUNT;
what i mean was like @command or something
btw thankss
-
Hi anyone can help me with this script
prontera,143,173,5 script Level Reset 757,{ if (BaseLevel < 255) { mes "You need to be at least level 99."; } else if (select("Reset", "cancel") == 1) { resetlvl 1; RESET_COUNT++; StatusPoint += (RESET_COUNT * 10); // free 10 status point per reset. if (RESET_COUNT && RESET_COUNT % 10 == 0) { getitem 512, 10; // every 10 reset get apple. } } close2; }
everytime character resets it stucks cant move need to re login to fix it
dunno what is the proble
EDIT: Can i add some commands to check how many reset they have so they can check
thanks
THANSK IN ADVANCE
-
On 11/18/2021 at 12:19 PM, iMillenium said:
I would like to modify the system to accept only 3 types of currency:
cash
Zeny
custompointCould someone guide me on how to do it?
it automatically sets cash/zeny for vending
for using only zeny and cash
put 0 to the item IDs in item_vending.txt <--- this file is not existing you just need to create it on db/item_vending.txt
+// Specific items for Vending System +// Format: ItemID +// Max items is equal MAX_INVENTORY ( 100 by default ) + +// TCG Card +7227 +// Mithril Coin +674 +// Silver Coin +675 +// Bronze Coin +673
but for custom currency or points
it will make some additional scripts/modification on src
-
6 hours ago, ryukazuna said:
in that case, maybe you are missing some line of code when patching your sever. Try to patch manually instead.
the rev7 works just fine for me, except its not working when buying with items.having hard time implementing this to the server i work
i combined v5 and v6
-
1 hour ago, ryukazuna said:
are you sure you're using latest git revision? are you updating or fresh clone from rathena git?
Here's the v6 and v5.
ExtendedVending_rev5.diff 27.39 kB · 1 download ExtendedVending_rev6.diff 27.68 kB · 1 download
thanks man
yea thats a fresh git from rathena
-
1
-
-
anyone still have the v5 of this extended vending?
thanks
why this kind of error showing in my consol
im using the latest rev of rathena and v7 of EVS
can anyone help
thanks
-
12 hours ago, EOOQBOOM said:
Does anyone have the .txt version? Before this .yml template
i think i have this rev4 i dont have the rev5
@Easycore i hope you can still upload the previous files TY.. i do really love this extended vending of yours
-
so i was trying to use these anti bot here is the code
//===== eAthena Script ======================================= //= AntiBot Login //===== By: ================================================== // Create By - Mr.CoolZ // Modify By pizan // Modify By hendra814 //===== Current Version: ===================================== //= 1.0 //= 1.1 -change from onpcloginevent to onnpckillevent by hendra814 //= 2.0 -not checking for instances map by hendra814 //= 2.1 -add retry 3 times for wrong input bot checking by hendra814 //= 3.0 -add timer for input bot checking, if more than 30second it will warp to jail map by hendra814 //===== Compatible With: ===================================== //= eAthena, 3ceAM, & rathena //===== Description: ========================================= //= AntiBotLogin Script // You can Change The GM lv // if (getgmlevel()>=85) goto gm_admin; ' GM lv i Set on This Script 85 You May Change it ' //============================================================ prontera.gat,0,0,0 script AntiBot -1,{ OnPCLoginEvent: set @Fail,0; set @killmonster,1; set @killcekmin,rand(10,20); OnNPCKillEvent: if( strcharinfo(3) == "1@tower") end; else if( strcharinfo(3) == "2@tower") end; else if( strcharinfo(3) == "3@tower") end; else if( strcharinfo(3) == "4@tower") end; else if( strcharinfo(3) == "5@tower") end; else{ set @killmonster,@killmonster+1; if (@killmonster>=@killcekmin) { set @killmonster,1; set @killcekmin,rand(1000,2000); cutin "ein_soldier",2; if (getgmlevel()>60) goto gm_admin; setoption 0x40; setoption 0x2000; pcblockmove getcharid(3),1; mes "Hallo, are you bot ?? If is not.. Type the right number."; atcommand "@noask"; mes "This is bot checker."; mes "Type the right number which have same colour sign ####"; attachnpctimer; initnpctimer; next; goto Code; Code: set number1, rand (1000000,9999999); set number2, rand (1000000,9999999); set number3, rand (1000000,9999999); set number4, rand (1000000,9999999); set number5, rand (1000000,9999999); set number6, rand (1000000,9999999); set number00, rand (1000000,9999999); set number01, rand (1000000,9999999); set number02, rand (1000000,9999999); set number03, rand (1000000,9999999); set number04, rand (1000000,9999999); set number05, rand (1000000,9999999); set number06, rand (1000000,9999999); set number07, rand (1000000,9999999); set number08, rand (1000000,9999999); set number09, rand (1000000,9999999); set number10, rand (1000000,9999999); set number66, rand (1000,9999); set number99, rand (100,999); set @Col, rand (0,6); if(@Col == 0) goto colred; if(@Col == 1) goto colorg; if(@Col == 2) goto colblu; if(@Col == 3) goto colvio; if(@Col == 4) goto colgre; mes "^F5F9FD"+ number99 +"^000000^FFF9EE"+ number66 +"^000000^FF8C00"+ number2 +"^000000^F5F9FD"+ number05 +"^000000"; mes "^F8F8FF"+ number66 +"^000000^F7F7FF"+ number99 +"^000000^A52A2A"+ number6 +"^000000^F5F9FD"+ number05 +"^000000"; mes "^F5F9FD"+ number99 +"^000000^FFF9EE"+ number66 +"^000000^9400D3"+ number4 +"^000000^F8F8FF"+ number06 +"^000000"; mes "^F5F9FD"+ number66 +"^000000^F7F7FF"+ number99 +"^000000^FF0000"+ number1 +"^000000^F5F9FD"+ number02 +"^000000"; mes "^F8F8FF"+ number99 +"^000000^FFF9EE"+ number66 +"^000000^0000FF"+ number3 +"^000000^F8F8FF"+ number01 +"^000000"; mes "^F5F9FD"+ number99 +"^000000^F7F7FF"+ number66 +"^000000^008000"+ number5 +"^000000^F5F9FD"+ number03 +"^000000"; mes "^F7F7FF#^F5F9FD#^FFF9FA#^A52A2A####^FFF9EE##^F8F8FF#"; next; input number; next; goto brochk; close; colgre: mes "^FFF9EE"+ number66 +"^000000^FFF9EE"+ number99 +"^000000^008000"+ number5 +"^000000^F5F9FD"+ number04 +"^000000"; mes "^FFF9FA"+ number99 +"^000000^F7F7FF"+ number66 +"^000000^FFA500"+ number2 +"^000000^F5F9FD"+ number03 +"^000000"; mes "^F5F9FD"+ number66 +"^000000^FFF9EE"+ number99 +"^000000^FF0000"+ number1 +"^000000^F5F9FD"+ number00 +"^000000"; mes "^FFF9EE"+ number99 +"^000000^FFF9EE"+ number66 +"^000000^9400D3"+ number4 +"^000000^F5F9FD"+ number01 +"^000000"; mes "^F7F7FF"+ number66 +"^000000^FFF9FA"+ number99 +"^000000^0000FF"+ number3 +"^000000^F5F9FD"+ number06 +"^000000"; mes "^FFF9EE"+ number99 +"^000000^F5F9FD"+ number66 +"^000000^A52A2A"+ number6 +"^000000^F5F9FD"+ number05 +"^000000"; mes "^F7F7FF#^FFF9FA#^F5F9FD#^008000####^F5F9FD#^F8F8FF#^FFF9EE##"; next; input number; next; goto grechk; close; colvio: mes "^F7F7FF"+ number66 +"^000000^FFF9EE"+ number99 +"^000000^9400D3"+ number4 +"^000000^F5F9FD"+ number09 +"^000000"; mes "^F7F7FF"+ number66 +"^000000^FFF9EE"+ number99 +"^000000^FFA500"+ number2 +"^000000^F5F9FD"+ number04 +"^000000"; mes "^F7F7FF"+ number66 +"^000000^FFF9EE"+ number99 +"^000000^A52A2A"+ number6 +"^000000^F5F9FD"+ number05 +"^000000"; mes "^FFF9EE"+ number99 +"^000000^F7F7FF"+ number66 +"^000000^FF0000"+ number1 +"^000000^F5F9FD"+ number06 +"^000000"; mes "^FFF9EE"+ number99 +"^000000^F7F7FF"+ number66 +"^000000^0000FF"+ number3 +"^000000^F5F9FD"+ number08 +"^000000"; mes "^FFF9EE"+ number99 +"^000000^F7F7FF"+ number66 +"^000000^008000"+ number5 +"^000000^F5F9FD"+ number01 +"^000000"; mes "^F5F9FD#^FFF9EE#^FFF9FA#^9400D3####^F8F8FF#^F5F9FD##^F7F7FF##"; next; input number; next; goto viochk; close; colblu: mes "^F8F8FF"+ number01 +"^000000^FFA500"+ number2 +"^000000^F7F7FF"+ number66 +"^000000^F5F9FD"+ number99 +"^000000"; mes "^FFF9EE"+ number09 +"^000000^A52A2A"+ number6 +"^000000^F5F9FD"+ number66 +"^000000^FFF9EE"+ number99 +"^000000"; mes "^F5F9FD"+ number08 +"^000000^FF0000"+ number1 +"^000000^F7F7FF"+ number66 +"^000000^FFF9EE"+ number99 +"^000000"; mes "^F8F8FF"+ number07 +"^000000^0000FF"+ number3 +"^000000^F5F9FD"+ number66 +"^000000^F5F9FD"+ number99 +"^000000"; mes "^FFF9EE"+ number06 +"^000000^008000"+ number5 +"^000000^F5F9FD"+ number66 +"^000000^FFF9EE"+ number99 +"^000000"; mes "^F5F9FD"+ number05 +"^000000^9400D3"+ number4 +"^000000^F7F7FF"+ number66 +"^000000^F5F9FD"+ number99 +"^000000"; mes "^FFF9EE###^0000FF####^F8F8FF####^F5F9FD#^FFF9FA#^F7F7FF##"; next; input number; next; goto bluchk; close; colorg: mes "^FFF9EE"+ number4 +"^000000^A52A2A"+ number6 +"^000000^F5F9FD"+ number07 +"^000000"; mes "^F8F8FF"+ number3 +"^000000^9400D3"+ number4 +"^000000^F5F9FD"+ number00 +"^000000"; mes "^F5F9FD"+ number1 +"^000000^FF0000"+ number1 +"^000000^F5F9FD"+ number06 +"^000000"; mes "^F8F8FF"+ number2 +"^000000^0000FF"+ number3 +"^000000^F5F9FD"+ number04 +"^000000"; mes "^F5F9FD"+ number5 +"^000000^FF8C00"+ number2 +"^000000^F5F9FD"+ number08 +"^000000"; mes "^F5F9FD"+ number6 +"^000000^008000"+ number5 +"^000000^F8F8FF"+ number10 +"^000000"; mes "^F5F9FD#^FFF9EE####^FFA500####^F5F9FD#^F5F9FD####^F7F7FF##^FFF9FA##"; next; input number; next; goto orgchk; close; colred: mes "^F5F9FD"+ number6 +"^000000^A52A2A"+ number6 +"^000000^F8F8FF"+ number10 +"^000000"; mes "^F8F8FF"+ number5 +"^000000^008000"+ number5 +"^000000^F5F9FD"+ number09 +"^000000"; mes "^F5F9FD"+ number3 +"^000000^9400D3"+ number4 +"^000000^F8F8FF"+ number08 +"^000000"; mes "^F8F8FF"+ number1 +"^000000^0000FF"+ number3 +"^000000^F5F9FD"+ number07 +"^000000"; mes "^F5F9FD"+ number2 +"^000000^FFA500"+ number2 +"^000000^F5F9FD"+ number05 +"^000000"; mes "^F8F8FF"+ number5 +"^000000^FF0000"+ number1 +"^000000^F5F9FD"+ number02 +"^000000"; mes "^F5F9FD##^FF0000####^F8F8FF####^FFF9FA#^FFF9EE#^F7F7FF#"; next; input number; next; goto redchk; close; redchk: if(number < number1 || number > number1) goto LOG_FAIL; goto OK; close; orgchk: if(number < number2 || number > number2) goto LOG_FAIL; goto OK; close; bluchk: if(number < number3 || number > number3) goto LOG_FAIL; goto OK; close; viochk: if(number < number4 || number > number4) goto LOG_FAIL; goto OK; close; grechk: if(number < number5 || number > number5) goto LOG_FAIL; goto OK; close; brochk: if(number < number6 || number > number6) goto LOG_FAIL; goto OK; close; LOG_FAIL: if (@Fail <3) { mes "Please try again."; set @Fail, @Fail+1; next; goto Code; } mes "^FF0000You put wrong number.^000000."; next; mes "Bye... Bye...!"; next; warp "lhz_in03", 260, 261; setoption 0x40,0; setoption 0x2000,0; pcblockmove getcharid(3),0; sc_end sc_stone; sc_end sc_freeze; sc_end sc_sleep; sc_end sc_curse; sc_end sc_silence; sc_end sc_confusion; sc_end sc_blind; sc_end sc_bleeding; sc_end sc_decreaseagi; sc_end sc_poison; sc_end sc_hallucination; sc_end sc_stripweapon; sc_end sc_striparmor; sc_end sc_striphelm; sc_end sc_stripshield; atcommand "@noask"; end; OK: mes "^4233F4"+strcharinfo(0)+"^000000!"; mes "Thank you for not using bot at this server."; announce "Player "+strcharinfo(0)+" Online!!",bc_all; setoption 0x40,0; setoption 0x2000,0; pcblockmove getcharid(3),0; sc_start SC_GLORIA,1800000,2; sc_start SC_ANGELUS,1800000,10; sc_start SC_MAGNIFICAT,1800000,5; skilleffect 34,0; sc_start SC_BLESSING,1800000,10; sc_start SC_INCREASEAGI,1800000,10; percentheal 100,100; sc_end sc_stone; sc_end sc_freeze; sc_end sc_sleep; sc_end sc_curse; sc_end sc_silence; sc_end sc_confusion; sc_end sc_blind; sc_end sc_bleeding; sc_end sc_decreaseagi; sc_end sc_poison; sc_end sc_hallucination; sc_end sc_stripweapon; sc_end sc_striparmor; sc_end sc_striphelm; sc_end sc_stripshield; atcommand "@noask"; cutin "ein_soldier",255; end; gm_admin: mes "Welcome GM ^4233F4"+strcharinfo(0)+"^000000!"; announce "GM "+strcharinfo(0)+" Online!!",bc_all; cutin "ein_soldier",255; sc_start SC_GLORIA,1800000,2; sc_start SC_ANGELUS,1800000,10; sc_start SC_MAGNIFICAT,1800000,5; skilleffect 34,0; sc_start SC_BLESSING,1800000,10; sc_start SC_INCREASEAGI,1800000,10; percentheal 100,100; sc_end sc_stone; sc_end sc_freeze; sc_end sc_sleep; sc_end sc_curse; sc_end sc_silence; sc_end sc_confusion; sc_end sc_blind; sc_end sc_bleeding; sc_end sc_decreaseagi; sc_end sc_poison; sc_end sc_hallucination; sc_end sc_stripweapon; sc_end sc_striparmor; sc_end sc_striphelm; sc_end sc_stripshield; close; OnTimer30000: dispbottom "You failed to answer the question within 30 seconds."; warp "lhz_in03", 260, 261; setoption 0x40,0; setoption 0x2000,0; pcblockmove getcharid(3),0; sc_end sc_stone; sc_end sc_freeze; sc_end sc_sleep; sc_end sc_curse; sc_end sc_silence; sc_end sc_confusion; sc_end sc_blind; sc_end sc_bleeding; sc_end sc_decreaseagi; sc_end sc_poison; sc_end sc_hallucination; sc_end sc_stripweapon; sc_end sc_striparmor; sc_end sc_striphelm; sc_end sc_stripshield; atcommand "@noask"; stopnpctimer; } } } // - The Script lhz_in03,260,266,4 script Bot Checker 75,{ mes "You already fail"; mes "to prove if you are not bot."; mes "To get out fom this room"; mes "you must pay me 10.000.000 zeny."; next; switch(select("Pay:No")) { case 1: if (zeny < 10000000) { mes "Your zeny not enough"; close; } set zeny, zeny - 10000000; set @Fail, 0; warp prontera,0,0; close; case 2: mes "[ GM Staff ]"; mes "Ok. Bye... Bye..."; close; } } // - The Mapflags lhz_in03 mapflag nowarpto lhz_in03 mapflag nowarp lhz_in03 mapflag noreturn lhz_in03 mapflag noteleport lhz_in03 mapflag nomemo lhz_in03 mapflag noskill lhz_in03 mapflag noicewall lhz_in03 mapflag nobranch lhz_in03 mapflag nogo
the thing is even i input the code correctly it still sends me to interrogation room
can anyone help me with this thanks
-
2 hours ago, Patskie said:
prontera,147,163,5 script VIP Manager 4_M_PRESIDENT,{ OnTalk: mes .npc$; mes (gettime(3)>= 6&&gettime(3)<= 12?"Good Morning":(gettime(3)>=13&&gettime(3)<=18?"Good Afternoon":"Good Evening"))+", ^008aff"+strcharinfo(0)+"^000000 !"; mes "Welcome to VIP Central."; if (vip_status(1)) { mes "^008affYour VIP access will expire on " + callfunc("Time2Str",vip_status(2)) + ".^000000"; mes " "; } mes "How can I help?"; next; switch (select(.bcor$+"I want to go to Central VIP.",""+((vip_status(1))?""+.bcor$+"I want to extend my time ^008affVIP^000000.":""+.bcor$+"I wish to become a ^008affVIP^000000 player."),""+.rcor$+"I do not want anything.")){ case 1: if (!vip_status(1) ) { mes .npc$; mes "Excuse me! Access to VIP Central is only allowed to ^008affVIP^000000 players."; mes "-----------------------------------"; mes "Ask Admin Team and learn how to become a ^008affVIP^000000 player."; mes "-----------------------------------"; close; } warp .map$,.cord[0],.cord[1]; end; case 2: mes .npc$; mes "How many days of access ^008affVIP^000000 do you want to acquire?"; next; .@i = select( .bcor$+""+.vip_day[0] + " Days." ,.bcor$+""+.vip_day[1] + " Days." ,.bcor$+""+.vip_day[2] + " Days." ) - 1; mes .npc$; mes "You chose the plan of:"; mes "^4527A0VIP:^000000 "+.vip_day[.@i]+" VIP days."; mes "^4527A0Price:^000000 "+F_InsertComma(.vip_cashpoint[.@i])+" #CASHPOINTS."; sleep2 1000; mes " "; mes " "; mes "What do you want to do?"; next; switch(select(.bcor$+"Purchase:"+.rcor$+"Cancel")){ case 1: if ( #CASHPOINTS < .vip_cashpoint[.@i] ) { mes .npc$; mes "You do not have the quantity of ^008aff"+F_InsertComma(.vip_cashpoint[.@i])+" #CASHPOINTS^000000."; close; } else { #CASHPOINTS -= .vip_cashpoint[.@i]; vip_time (.vip_day[.@i] * 1440); mes .npc$; mes "Congratulations you just got "+.vip_day[.@i]+" days VIP."; rentitem 5001, .vip_day[.@i] * 86400; close; } end; case 2: mes .npc$; mes "All right, come back whenever you want."; close; } case 3: close; } OnInit: .npc$ = "^FF7F00[ VIP Central ]^000000"; // Name of NPC; .bcor$ = "^008aff[»]^000000 "; // Option Button Symbol; .rcor$ = "^ff0000[»]^000000 "; // Cancel button symbol; setarray .vip_day,7,14,30; // Number of days that can be purchased; setarray .vip_cashpoint,5000,7000,10000; // Price in #CASHPOINTS; .map$ = "sec_in02"; // VIP Room Map; setarray .cord,130,161; // X and Y Coordinate; end; }
thanks sir @Patskie really appreciate it
-
30 minutes ago, Resu-Me said:
prontera,146,196,4 script Stat Seller 831,{ readparam(bStr); readparam(bAgi); readparam(bVit); readparam(bInt); readparam(bDex); readparam(bLuk); mes "[ Stat Seller ]"; mes "Good day, I am the stat seller"; next; mes "[ Stat Seller ]"; mes "I sell 10 stat points directly to your desired stat."; next; mes "[ Stat Seller ]"; mes "Each 10 stat points cost 50,000,000 zeny."; mes "Would you like to buy 10 stat points from me?"; next; mes "[ Stat Seller ]"; mes "But please note that when you buy stats,"; mes "The additional stat points will not be added when you reset your character stats!"; next; mes "[ Stat Seller ]"; mes "So please make sure that when you do this,"; mes "You won't regret it later!"; next; mes "[ Stat Seller ]"; mes "Do you still want to buy stat points?"; next; menu "Yes",YES,"No",NO; YES: mes "[ Stat Seller ]"; if(Zeny < 49999999) goto no400k; mes "Which status points would you like me to distribute?"; next; menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK; STR: if (readparam(bStr) > 489) goto M_Limit; next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bStr,10; set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty; or set #CASHPOINTS,Amount; close; AGI: if (readparam(bAgi) > 489) goto M_Limit; next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bAgi,10; set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty; or set #CASHPOINTS,Amount; close; VIT: if (readparam(bVit) > 489) goto M_Limit; next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bVit,10; set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty; or set #CASHPOINTS,Amount; close; INT: if (readparam(bInt) > 489) goto M_Limit; next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bInt,10; set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty; or set #CASHPOINTS,Amount; close; DEX: if (readparam(bDex) > 489) goto M_Limit; next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bDex,10; set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty; or set #CASHPOINTS,Amount; close; LUK: if (readparam(bLuk) > 489) goto M_Limit; next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bLuk,10; set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty; or set #CASHPOINTS,Amount; close; M_Limit: mes "[ Stat Seller ]"; mes "You have already reached max on selected stat!"; next; mes "[ Stat Seller ]"; mes "Please choose another stat."; next; menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK; close; no400k: mes "[ Stat Seller ]"; mes "Apparently, you don't have enough zeny to buy these points."; next; mes "[ Stat Seller ]"; mes "Come by any time."; close; NO: mes "[ Stat Seller ]"; mes "Come by if you need me."; close; }
Here you go.
Don't forget to change the messages based on your desired requirements (Zeny/Cashpoints/Item)
thanks a lot
-
anyone can edit or help me add like
if they bought 7days VIP it will include an custom rented item also the same days VIP bought
like 7days/14/30 depending on the VIP duration bought
here is the script
PS: Script not mine credit to the owner of the script
prontera,147,163,5 script VIP Manager 4_M_PRESIDENT,{ OnTalk: mes .npc$; mes (gettime(3)>= 6&&gettime(3)<= 12?"Good Morning":(gettime(3)>=13&&gettime(3)<=18?"Good Afternoon":"Good Evening"))+", ^008aff"+strcharinfo(0)+"^000000 !"; mes "Welcome to VIP Central."; if (vip_status(1)) { mes "^008affYour VIP access will expire on " + callfunc("Time2Str",vip_status(2)) + ".^000000"; mes " "; } mes "How can I help?"; next; switch (select(.bcor$+"I want to go to Central VIP.",""+((vip_status(1))?""+.bcor$+"I want to extend my time ^008affVIP^000000.":""+.bcor$+"I wish to become a ^008affVIP^000000 player."),""+.rcor$+"I do not want anything.")){ case 1: if (!vip_status(1) ) { mes .npc$; mes "Excuse me! Access to VIP Central is only allowed to ^008affVIP^000000 players."; mes "-----------------------------------"; mes "Ask Admin Team and learn how to become a ^008affVIP^000000 player."; mes "-----------------------------------"; close; } warp .map$,.cord[0],.cord[1]; end; case 2: mes .npc$; mes "How many days of access ^008affVIP^000000 do you want to acquire?"; next; .@i = select( .bcor$+""+.vip_day[0] + " Days." ,.bcor$+""+.vip_day[1] + " Days." ,.bcor$+""+.vip_day[2] + " Days." ) - 1; mes .npc$; mes "You chose the plan of:"; mes "^4527A0VIP:^000000 "+.vip_day[.@i]+" VIP days."; mes "^4527A0Price:^000000 "+F_InsertComma(.vip_cashpoint[.@i])+" #CASHPOINTS."; sleep2 1000; mes " "; mes " "; mes "What do you want to do?"; next; switch(select(.bcor$+"Purchase:"+.rcor$+"Cancel")){ case 1: if ( #CASHPOINTS < .vip_cashpoint[.@i] ) { mes .npc$; mes "You do not have the quantity of ^008aff"+F_InsertComma(.vip_cashpoint[.@i])+" #CASHPOINTS^000000."; close; } else { #CASHPOINTS -= .vip_cashpoint[.@i]; vip_time (.vip_day[.@i] * 1440); mes .npc$; mes "Congratulations you just got "+.vip_day[.@i]+" days VIP."; close; } end; case 2: mes .npc$; mes "All right, come back whenever you want."; close; } case 3: close; } OnInit: .npc$ = "^FF7F00[ VIP Central ]^000000"; // Name of NPC; .bcor$ = "^008aff[»]^000000 "; // Option Button Symbol; .rcor$ = "^ff0000[»]^000000 "; // Cancel button symbol; setarray .vip_day,7,14,30; // Number of days that can be purchased; setarray .vip_cashpoint,5000,7000,10000; // Price in #CASHPOINTS; .map$ = "sec_in02"; // VIP Room Map; setarray .cord,130,161; // X and Y Coordinate; end; }
Thanks in advance i would really appreciate it
-
4 hours ago, Resu-Me said:
If your server max stat is 500, it cannot go beyond that. As for example you set it to <500, any amount below 490 can still be accepted as long as it can reach its limit which is 500, but if the stat has 491 up to 500 it will be rejected as you set it to limit of 500 and each stat bonus gives you 10 points.
I hope you get it?
If (bStr <500) - this means you can buy stats from 0 to 490. if your stat is already 491 and above, you cannot buy anymore.
ayt thanks a lot
will this be possible aside from zeny i mean rather than zeny
item will be the required to buy stats?
TIA
EDIT: @Resu-Mestill the same i edited it to 490 coz my max stats is 500
prontera,147,173,5 script Stat Dealer 99,{ mes "[ Stat Seller ]"; mes "Good day, I am the stat seller"; next; mes "[ Stat Seller ]"; mes "I sell 10 stat points directly to your desired stat."; next; mes "[ Stat Seller ]"; mes "Each 10 stat points cost 50,000,000 zeny."; mes "Would you like to buy 10 stat points from me?"; next; menu "Yes",YES,"No",NO; YES: mes "[ Stat Seller ]"; if(Zeny < 49999999) goto no50m; mes "Which status points would you like me to distribute?"; next; menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK; STR: if(bStr < 490) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bStr,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; AGI: if(bAgi < 490) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bAgi,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; VIT: if(bVit < 490) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bVit,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; //-- Change the value to your server's max stat close; INT: if(bInt < 490) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bInt,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; DEX: if(bDex < 490) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bDex,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; LUK: if(bLuk < 490) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bLuk,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; M_Limit: mes "[ Stat Seller ]"; mes "You have already reached max on selected stat!"; next; mes "[ Stat Seller ]"; mes "Please choose another stat."; next; menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK; close; no50m: mes "[ Stat Seller ]"; mes "Apparently, you don't have enough zeny to buy these points."; next; mes "[ Stat Seller ]"; mes "Come by any time."; close; NO: mes "[ Stat Seller ]"; mes "Come by if you need me."; close; }
here is the edited script
-
thanks again @Emistry
btw why i cant move after reset @go 0 is not even working
it takes like 10-15sec b4 i can move
and why if i reset stat the stats accumulated from reset is gone
i already modified the "use_statpoint_table: no "
TY in Advance
-
it does says the message but it warp directly after typing @go.
-
nice script but it says max stats already reached
i even edit it to my game max stats
//=========================== Resu-Me ============================== //============= Compatible with any rAthena Version ================ //======= Please check the guide and report for any bugs =========== //=========== This is an updated version of the script! ============ //== Any previous versions of this script does not belong to me! == //================================================================== prontera,168,179,0 script Stat Seller 831,{ mes "[ Stat Seller ]"; mes "Good day, I am the stat seller"; next; mes "[ Stat Seller ]"; mes "I sell 10 stat points directly to your desired stat."; next; mes "[ Stat Seller ]"; mes "Each 10 stat points cost 50,000,000 zeny."; mes "Would you like to buy 10 stat points from me?"; next; menu "Yes",YES,"No",NO; YES: mes "[ Stat Seller ]"; if(Zeny < 49999999) goto no50m; mes "Which status points would you like me to distribute?"; next; menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK; STR: if(bStr < 500) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bStr,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; AGI: if(bAgi < 500) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bAgi,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; VIT: if(bVit < 500) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bVit,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; //-- Change the value to your server's max stat close; INT: if(bInt < 500) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bInt,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; DEX: if(bDex < 500) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bDex,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; LUK: if(bLuk < 500) goto M_Limit; //-- Change the value to your server's max stat next; mes "[ Stat Seller ]"; mes "There you go."; mes "Come by again."; statusup2 bLuk,10; //-- Change this value if you want to give more than 10 stats set Zeny, Zeny - 50000000; close; M_Limit: mes "[ Stat Seller ]"; mes "You have already reached max on selected stat!"; next; mes "[ Stat Seller ]"; mes "Please choose another stat."; next; menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK; close; no50m: mes "[ Stat Seller ]"; mes "Apparently, you don't have enough zeny to buy these points."; next; mes "[ Stat Seller ]"; mes "Come by any time."; close; NO: mes "[ Stat Seller ]"; mes "Come by if you need me."; close; }
-
44 minutes ago, Emistry said:
StatusPoint += (RESET_COUNT * 10); // free 10 status point per reset.
add this to your reset npc script.
sir @Emistry
this one is already in the script but it doesnt add 10 stats points
prontera,143,173,5 script Level Reset 757,{ if (BaseLevel < 255) { mes "You need to be at least level 99."; } else if (select("Reset", "cancel") == 1) { resetlvl 1; RESET_COUNT++ StatusPoint += (RESET_COUNT * 10); // free 10 status point per reset. if (RESET_COUNT && RESET_COUNT % 10 == 0) { getitem 512, 10; // every 10 reset get apple. } } close2; }
i made it close2 coz it got warning on console
TY again in advance
-
10 hours ago, Emistry said:
prontera,155,181,5 script Sample 757,{ if (BaseLevel < 99) { mes "You need to be at least level 99."; } else if (select("Reset", "cancel") == 1) { resetlvl 1; RESET_COUNT++ StatusPoint += (RESET_COUNT * 10); // free 10 status point per reset. if (RESET_COUNT && RESET_COUNT % 10 == 0) { getitem 512, 10; // every 10 reset get apple. } } close; }
@Emistry i tried the script what happen is
first after reset no
free 10 status point per reset.
second added stats are gone example like 500 str after reset it will become 1 str
can the status added stays after reset?
third i tried my reset stat NPC after resetting all the accumulated statpoints are gone
the only left is the 7237 statpoints that can be acquired lvl 1-255
i've checked my use_statpoint_table: no
its in "no" already still the extra statpoints is gone
can you help me thanks in advance
-
8 hours ago, Emistry said:
prontera,155,181,5 script Sample 757,{ if (BaseLevel < 99) { mes "You need to be at least level 99."; } else if (select("Reset", "cancel") == 1) { resetlvl 1; RESET_COUNT++ StatusPoint += (RESET_COUNT * 10); // free 10 status point per reset. if (RESET_COUNT && RESET_COUNT % 10 == 0) { getitem 512, 10; // every 10 reset get apple. } } close; }
thanks a lot ill try this one
-
is there any NPC just like this?
the character will do a reset and the base level will be back to lvl 1 and do leveling again
to gain more stat points
every 10 reset there will be a reward
thanks in advance
i dont know if this is common or not transparent slot in my inventory
in General Support
Posted
so i dunno what happen its just my inventory show like this
a transparent slot already try to reconnect still same
close the game still same
anyone encounter this
thanks