-
Posts
1691 -
Joined
-
Last visited
-
Days Won
77
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by sader1992
-
Release: Sader's Renewal Mode [PRE-RE Only]
sader1992 replied to sader1992's topic in Source Releases
try to apply it manually , or you can send me your map.cpp along with the file you downloaded from rathena in the discord or rathena messages . -
if you want an easy and fast way , you can use this functions i made a while ago
-
how old is your server ?
-
try this prontera,156,186,4 script stest 857,{ setarray .@indices,EQI_ACC_L,EQI_ACC_R, EQI_SHOES,EQI_GARMENT, EQI_HEAD_LOW,EQI_HEAD_MID, EQI_HEAD_TOP,EQI_ARMOR,EQI_HAND_L ,EQI_HAND_R, EQI_COSTUME_HEAD_TOP,EQI_COSTUME_HEAD_MID, EQI_COSTUME_HEAD_LOW,EQI_COSTUME_GARMENT, EQI_SHADOW_ARMOR,EQI_SHADOW_WEAPON, EQI_SHADOW_SHIELD,EQI_SHADOW_SHOES, EQI_SHADOW_ACC_R,EQI_SHADOW_ACC_L; for(.@i = 0;.@i < getarraysize(.@indices);.@i++){ if (getequipisequiped(.@indices[.@i])) { set .@menu$, .@menu$ + F_getpositionname(.@indices[.@i]) + "-[" + getequipname(.@indices[.@i]) + "]"; set .@equipped,1; } set .@menu$, .@menu$ + ":"; } if (.@equipped == 0) { mes "[Suhnbi]"; mes "I don't think I can refine any items you have..."; close; } set .@part, .@indices[ select(.@menu$) ]; if (!getequipisequiped(.@part)) { message strcharinfo(0), "Make sure you're wearing the equipment first."; end; } // Enchant stones setarray .@enchant_slot1[0],4710,4711,4720,4721; //Inteligence1,Inteligence2,Dexterity1,Dexterity2 setarray .@enchant_slot2[0],4711,4720,4721,4740; //Inteligence2,Dexterity1,Dexterity2,Vitality1 setarray .@enchant_slot3[0],4764,4799,4766,4788; //Critical5,HP500,Atk2,Mdef6 // Random .@enchant_1 = .@enchant_slot1[rand(getarraysize(.@enchant_slot1))]; .@enchant_2 = .@enchant_slot2[rand(getarraysize(.@enchant_slot2))]; .@enchant_3 = .@enchant_slot3[rand(getarraysize(.@enchant_slot3))]; // Get current refine to keep refine .@equip_refine = getequiprefinerycnt(.@part); // Get current card to keep card setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3); // Delete item delitem .@item_to_test,1; // Cotton Shirt [1] // Can break armor? if (rand(100) < 50) { specialeffect2 EF_SUI_EXPLOSION; message strcharinfo(0),"Oh Shit!"; end; } else { // Effect specialeffect2 EF_REPAIRWEAPON; emotion ET_BEST; // Get a new item getitem2 .@item_to_test,1,1,.@equip_refine,0,.@equip_card[0],.@enchant_1,.@enchant_2,.@enchant_3; message strcharinfo(0),"Yay!"; } end; }
-
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; }
-
try this https://github.com/rathena/rathena/pull/4383/files this sometimes happen when player forced to deattach from a npc for example , if the player die while talking to a npc , and the npc have more auto progress , you can ignore it if your scripts have to bugs
-
use this https://gitlab.com/4144/Nemo/ as it still have support don't use other versions
-
did you try nemo patch ? also you can force the player in a map using the client side file named viewpoint or something
-
i don't see anything wrong with the script i wrote if there is something wrong , you need to add information on what wrong as you can see in the file , the pvp points are PVPPOINTSYSTEM variable you can make sure that everything work by simply checking the points for example prontera,0,0,0 script test 444,{ mes "" + PVPPOINTSYSTEM; end; }
-
there is 2 in the script , not one change the other one too
-
getmapxy .@map$, .@x, .@y, 0; to getmapxy .@map$, .@x, .@y, BL_PC;
-
you need to search for that npc first , than post it here and i will explain you would find it in one of your custom npc files
-
i just read the error you need to search for the npc and see what's wrong with it you probably need to change the 0 in getmapxy to BL_PC
-
those errors as i see have nothing to do with the script line 1 > the server could not find a file 2/3 > you are setting pvp and gvg on the same map at the same time lines after that > wrong use of getmapxy in the npc DOTAPVP
-
while there is a problem with the command the normal player should not use a @commands while is attached to an npc this was fixed in this commit https://github.com/rathena/rathena/pull/4043 but either ways , if you are testing it would be a gm account and by default an account with group 99 command_enable: true so i think the bug you experienced wouldn't happen to the normal player anyway edit : tested the command , and the problem would happen anyway cuz the bug https://github.com/rathena/rathena/issues/4366
-
can you tell me how you were spamming it on testing?
-
if it didn't work , try this command isequippedcnt
-
try this for the spam however it should work either ways - script buffs2 -1,{ end; OnBuffs: disable_items; if(getgroupid() <= 4) { message strcharinfo(0),"Falha, você não possui VIP."; end; } if (@STAT_BUFF_DELAY > gettimetick(2)) end; @STAT_BUFF_DELAY = gettimetick(2) + 2; //2 seconds if(!isequipped(4263)){ .@i = select(.menu$) -1; sc_start .elements[.@i],180000,5; //atcommand "@refresh "+strcharinfo(0); end; } message strcharinfo(0),"Won't work with Samurai Incantation."; end; OnInit: setarray .buffs$, "^800080Envenenar Arma^000000", "^40E0D0Aspersio^000000", "^000000Sombrio^000000", "^FFD700Encantar com Ventania^000000", "^0000FFEncantar com Geada^000000", "^FF0000Encantar com Chama^000000", "^B8860BEncantar com Terremoto^000000"; setarray .elements, 26, 37, 144, 98, 97, 96, 99; bindatcmd "encantar", strnpcinfo(3) + "::OnBuffs",0,99; for( .@i = 0; .@i < getarraysize(.buffs$); .@i++){ .menu$ = .menu$ + ""+.buffs$[.@i]+"" + ":"; } end; } if this still didn't work , if i were you , i would look into the src (i would do that either ways)
-
- script pvp_points -1,{ OnPCKillEvent: if(killedrid == getcharid(3)) end; for(.@i=0;.@i<.s;.@i++){ if(getmapflag(strcharinfo(3),.m[.@i])){ .@battle_map = true; } } if(!.@battle_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
-
i still don't understand but did you add a delay ? for example like this - script buffs2 -1,{ end; OnBuffs: disable_items; if(getgroupid() <= 4) { message strcharinfo(0),"Falha, você não possui VIP."; end; } if (@STAT_BUFF_DELAY > gettimetick(2)) end; @STAT_BUFF_DELAY = gettimetick(2) + 2; //2 seconds if(isequipped(4263)) { message strcharinfo(0),"Won't work with Samurai Incantation."; end; } .@size = getarraysize(.buffs$); for( .@i = 0; .@i < .@size; .@i++){ .@menu$ = .@menu$ + ""+.buffs$[.@i]+"" + ":"; } .@i = select(.@menu$) -1; sc_start .elements[.@i],180000,5; //atcommand "@refresh "+strcharinfo(0); end; OnInit: setarray .buffs$, "^800080Envenenar Arma^000000", "^40E0D0Aspersio^000000", "^000000Sombrio^000000", "^FFD700Encantar com Ventania^000000", "^0000FFEncantar com Geada^000000", "^FF0000Encantar com Chama^000000", "^B8860BEncantar com Terremoto^000000"; setarray .elements, 26, 37, 144, 98, 97, 96, 99; bindatcmd "encantar","paytowinbuffs::OnBuffs",0,99; end; } also , i see the script name != what the command calls make sure you don't have 2 npcs and you are editing the wrong one this will also be better - script buffs2 -1,{ end; OnBuffs: disable_items; if(getgroupid() <= 4) { message strcharinfo(0),"Falha, você não possui VIP."; end; } if (@STAT_BUFF_DELAY > gettimetick(2)) end; @STAT_BUFF_DELAY = gettimetick(2) + 2; //2 seconds if(isequipped(4263)) { message strcharinfo(0),"Won't work with Samurai Incantation."; end; } .@i = select(.menu$) -1; sc_start .elements[.@i],180000,5; //atcommand "@refresh "+strcharinfo(0); end; OnInit: setarray .buffs$, "^800080Envenenar Arma^000000", "^40E0D0Aspersio^000000", "^000000Sombrio^000000", "^FFD700Encantar com Ventania^000000", "^0000FFEncantar com Geada^000000", "^FF0000Encantar com Chama^000000", "^B8860BEncantar com Terremoto^000000"; setarray .elements, 26, 37, 144, 98, 97, 96, 99; bindatcmd "encantar", strnpcinfo(3) + "::OnBuffs",0,99; for( .@i = 0; .@i < getarraysize(.buffs$); .@i++){ .menu$ = .menu$ + ""+.buffs$[.@i]+"" + ":"; } end; } however make sure that the script name is correct and what i mean by editing the item script like that , you create a function that remove those stats and call it onequip the item function script F_RemoveSTATBUFF { setarray .@e, 26, 37, 144, 98, 97, 96, 99; for(.@i=0;.@i<getarraysize(.@e);.@i++){ sc_end .@e[.@i]; } return; } ID,AegisName,Name,Type,Buy,Sell,Weight,ATK[:MATK],DEF,Range,Slots,Job,Class,Gender,Loc,wLV,eLV[:maxLevel],Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script } == ID,AegisName,Name,Type,Buy,Sell,Weight,ATK[:MATK],DEF,Range,Slots,Job,Class,Gender,Loc,wLV,eLV[:maxLevel],Refineable,View,{ Script },{ callfunc "F_RemoveSTATBUFF"; },{ OnUnequip_Script }
-
i didn't really understand the point of the script but to prevent spamming , you can add delay (for reference check out this https://github.com/rathena/rathena/blob/master/npc/custom/healer.txt) and to remove the element when an item is equipped , you can edit the item OnEquip script it self (in the item db) also you might need to add disable_items; after OnBuffs: so people don't switch to the item after they pass the if statement .
-
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) == .@iEquip) delequip(2); message strcharinfo(0),"your "+getitemname(.@iEquip)+" break!!"; if(getequipid(4) == .@iEquip) delequip(4); message strcharinfo(0),"your "+getitemname(.@iEquip)+" 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 {} )
- 1 reply
-
- 1
-
-
"#" - A permanent local account variable. They are stored by char-server in the `acc_reg_num` table and `acc_reg_str`. https://github.com/rathena/rathena/blob/752d3143f5f9cabcc5a6326db2cf75102954e887/doc/script_commands.txt#L498
-
How important is 'ClassNum' field in iteminfo.lub?
sader1992 replied to HristDead's question in Client-side Support
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 -
Change the sub menu language from application.php to the langauge file
sader1992 replied to Diana's question in Web Support
https://github.com/rathena/FluxCP/pull/243/files