-
Posts
562 -
Joined
-
Last visited
-
Days Won
7
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by iraciz
-
-
: DB error - Table 'ragnarok.autotrade_merchants' doesn't exist
[Debug]: at C:\Users\Mario Zicari\Desktop\rAthena\src\map\script.cpp:16996 - SELECT `login`.`account_id` FROM `login` INNER JOIN `char` ON `char`.`account_id` = `login`.`account_id` WHERE `last_ip` = '127.0.0.1' AND `char`.`online` = 1 AND `login`.`account_id` NOT IN ( SELECT `account_id` FROM `autotrade_merchants` )
[Debug]: Source (NPC): Only1perIP (invisible/not on a map) -
Solved by my own means.
Autotrade merchants are not counting in the multi login ip filter,
Only 3 accounts per IP and the fourth was kicked.Also added an exception, just in case there are confirmed brothers, couples, etcm in different pcs but using same ip:
if (#brothers) end;
- script Only3perIP -1,{ OnPCLoginEvent: if (getgmlevel() >= 99) end; if (#brothers) end; set .@myname$, strcharinfo(0); if (query_sql("SELECT `char`.`name` FROM `char` LEFT JOIN login ON `char`.account_id=login.account_id WHERE login.last_ip='"+getcharip()+"' AND `char`.online=1 AND `char`.char_id!="+getcharid(0), .@name$) >= 2) { for (set .@i,0; .@i<getarraysize(.@name$); set .@i,.@i+1) { if (!checkvending(.@name$[.@i]) ) set .@sameip, .@sameip +1; } if (.@sameip >= 3) { announce "Lo sentimos, Solo se permite un maximo de 3 cuentas logeadas por IP.", bc_self; mes "Suzaku Ro"; mes "Lo sentimos, solo se permite un maximo de 3 cuentas logeadas por IP!"; sleep 4000; atcommand "@kick " + .@myname$; } } end; }
- 1
-
9 minutes ago, IsabelaFernandez said:
oh, I just check, this?
case TK_JUMPKICK: skillratio += -70 + 10*skill_lv; if (sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == skill_id) skillratio += 10*status_get_lv(src)/3; //Tumble bonus if (wd.miscflag) { skillratio += 10*status_get_lv(src)/3; //Running bonus (TODO: What is the real bonus?) if( sc && sc->data[SC_SPURT] ) // Spurt bonus skillratio *= 2; } break; You have to replace that, for the one I provided and compile your server.
case TK_JUMPKICK: //Different damage formulas depending on damage trigger if (sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == skill_id) skillratio += -100 + 4 * status_get_lv(src); //Tumble formula [4%*baselevel] else if (wd->miscflag) { skillratio += -100 + 4 * status_get_lv(src); //Running formula [4%*baselevel] if (sc && sc->data[SC_SPURT]) //Spurt formula [8%*baselevel] skillratio *= 2; } else skillratio += -70 + 10 * skill_lv; break;
-
Your lines are not the same as latest rathena, that's why your damage formula is messed up in game.
-
Can't reproduce your issue in latest revision
Please go to the battle.c in your SCR and check your damage formula, your line must be the same as below:
case TK_JUMPKICK: //Different damage formulas depending on damage trigger if (sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == skill_id) skillratio += -100 + 4 * status_get_lv(src); //Tumble formula [4%*baselevel] else if (wd->miscflag) { skillratio += -100 + 4 * status_get_lv(src); //Running formula [4%*baselevel] if (sc && sc->data[SC_SPURT]) //Spurt formula [8%*baselevel] skillratio *= 2; } else skillratio += -70 + 10 * skill_lv; break;
-
On 6/12/2020 at 9:29 PM, Emistry said:
function Go { if ((getmapflag(getarg(0), mf_gvg_castle) || getmapflag(getarg(0), mf_gvg_dungeon)) && (getcharid(2) == 0 || getcharid(2) != getcastledata(getarg(0), 1)) ) { mes "^0000FFAgente Warp^000000"; cutin "jpn_mid03",2; mes "You are not an owner of any this Casttle, or member of any guild who owns one."; next; mes "^0000FFAgente Warp^000000"; mes "Conquest the castle, or join a guild who owns one in order to access!"; close3; } else { set lastwarp$, getarg(0); set lastwarpx, getarg(1,0); set lastwarpy, getarg(2,0); warp getarg(0),getarg(1,0),getarg(2,0); } end; }
Dont know how or where to apply this, sorry for taking your time.
-
Good Day,
I found this script, and it's working fine, but is also counting the autotrade merchants! to the point if you have an autotrade logged out, you can't dual login!Any possible way to not count the autotrade merchants in this script? In order to keep an autotrade vending and still log with two maximun same ip accounts.
Thanks in advance.
- script Only2perIP -1,{ OnPCLoginEvent: if (getgmlevel() >= 99) end; set .@myname$, strcharinfo(0); if (query_sql("SELECT `char`.`name` FROM `char` LEFT JOIN login ON `char`.account_id=login.account_id WHERE login.last_ip='"+getcharip()+"' AND `char`.online=1 AND `char`.char_id!="+getcharid(0), .@name$) >= 2) { for (set .@i,0; .@i<getarraysize(.@name$); set .@i,.@i+1) { if (checkvending(.@name$[.@i]) != 2) set .@sameip, .@sameip +1; } if (.@sameip >= 2) { announce "Sorry, only 2 accounts per IP can be logged in at a time.", bc_self; sleep 1000; atcommand "@kick " + .@myname$; } } end; }
-
13 minutes ago, Kreustoo said:
Hello,
I think you just need to add an else to make it work they wya you want:if (getgmlevel()>=99) showscript strcharinfo(0)+" : Admin Level Account Confirmed!."; else if (vip_status(VIP_STATUS_ACTIVE)){
if a gm => admin level
else if a vip => vip confirmed
else => (not a gm nor a vip) => kickThank you, that was just the scripting lesson I needed! Now is woking fine... This will prevent GM's recalling normal users to enjoy the vip features map..
by the way, I noticed that the VIP status will be updated on player relog , if the vip timer expires in an account, she/he will still vip until reloggin.
-
I need help to let only vip accounts and game masters lvl 99 stay in the script map "vip".
Is difficult for me because I have to apply 3 filters and I'm not good scripter.
//-----VIP MAP FILTER ACCES----- - script VIPFILTER -1,{ OnPCLoadMapEvent: if (getgmlevel()>=99) showscript strcharinfo(0)+" : Admin Level Account Confirmed!."; if (vip_status(VIP_STATUS_ACTIVE)){ showscript strcharinfo(0)+" : VIP Account Confirmed!."; }else{ showscript strcharinfo(0)+" : Your account is not VIP! or i'ts time has expired! Defaulting Save Point."; sleep2 2000; specialeffect2 18; savepoint "new_1-1",47,63; sleep2 2000; warp "new_1-1",47,63; end; } } //------Enable map OnPCLoadMapEvent------------------- vip mapflag loadevent
Non VIP accounts and Not GM's, who enter "vip" map will have their save point defaulted and also be warped to that spot,
GMs and vip will have the allowance message! and can stay there, I tried my best but i can't get it work as expected, could you lend me a hand? upvote spolier.
-
Edit:
I managed to stop them a little bit changing some numbers..
//Make sure walk delay is not decreased
if (DIFF_TICK(ud->canmove_tick, tick+delay) > 450)//Immune to being stopped for double the flinch time
if (DIFF_TICK(ud->canmove_tick, tick-delay) > 300)I don't understand C+ but I think those are the timers for the walk delay time applied and the can move time after the delay, and it's applied in a kind of cycle.
I wish to make this timers tighter, Not so much walk delay and not so much imune to walk delay time.
In the attached video bellow you wil see, the damage move delay and the can move grace time
The whole lines in unit.c
/** * Applies a walk delay to a unit * @param bl: Object to apply walk delay to * @param tick: Current tick * @param delay: Amount of time to set walk delay * @param type: Type of delay * 0: Damage induced delay; Do not change previous delay * 1: Skill induced delay; Walk delay can only be increased, not decreased * @return Success(1); Fail(0); */ int unit_set_walkdelay(struct block_list *bl, t_tick tick, t_tick delay, int type) { struct unit_data *ud = unit_bl2ud(bl); if (delay <= 1 || !ud) return 0; if (type) { //Bosses can ignore skill induced walkdelay (but not damage induced) if(bl->type == BL_MOB && status_has_mode(status_get_status_data(bl),MD_STATUS_IMMUNE)) return 1; //Make sure walk delay is not decreased if (DIFF_TICK(ud->canmove_tick, tick+delay) > 450) return 1; } else { // Don't set walk delays when already trapped. if (!unit_can_move(bl)) { unit_stop_walking(bl,4); //Unit might still be moving even though it can't move return 0; } //Immune to being stopped for double the flinch time if (DIFF_TICK(ud->canmove_tick, tick-delay) > 300) return 0; } ud->canmove_tick = tick + delay; if (ud->walktimer != INVALID_TIMER) { // Stop walking, if chasing, readjust timers. if (delay == 100) // Minimal delay (walk-delay) disabled. Just stop walking. unit_stop_walking(bl,0); else { // Resume running after can move again [Kevin] if(ud->state.running) add_timer(ud->canmove_tick, unit_resume_running, bl->id, (intptr_t)ud); else { unit_stop_walking(bl,4); if(ud->target) add_timer(ud->canmove_tick+1, unit_walktobl_sub, bl->id, ud->target); } } } return 1; }
-
Nice script Emistry! But the edited lines are not blocking the access to the guild dungeons, they are blocking the casttle maps instead.
@Emistry Can I attach my script, so you can note what I want exactly? I will be totally grateful and indebted to you, if you help me with this part
I need to PREVENT non castle owners access
to the second edition guild dungeon warper in my warper script but I can't do it, I tried copying the flower script but it's difficult to know their arrays.Line 3653 and line 3654 block that users for going into Guild dungeons
//-NEED RACHEL CASTTLE OWNER FILTER Go("arug_dun01",0,0); //-NEED YUNO CASTTLE ONWER FILTER Go("schg_dun01",0,0);
-
-
1 hour ago, umsdavid said:
Thanks for the replies,
Where can i exactly check this sprite id?
Here
-
7 minutes ago, IsabelaFernandez said:
the mob is not attacking alone, it is necessary to hit first to be attacked
Ok you mean the aggresive mode, you can guide using the mob db structure
// Structure of Database : // ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion,MEXP,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,DropCardid,DropCardper
0x3095
1585,MIME_MONKEY,Mime Monkey,MimeMonkey,40,6000,0,200,22,3,300,350,40,40,1,40,40,40,40,30,10,12,1,3,21,0x3095,400,1872,672,480,0,0,0,0,0,0,0,909,7000,1202,100,938,400,512,1000,713,1500,741,5,619,20,0,0,0,0,0,0
-
3 hours ago, IsabelaFernandez said:
hello everyone, i would like to know how to edit a mob to attack any target, and have a 100% chance to use the skill (271 / MO_EXTREMITYFIST) with a 2 second cast. Mob ID: 1585
El mime monkey eh?
agregale la skill al mob_skill_db
1585,Mime Monkey@MO_EXTREMITYFIST,chase,271,5,1000,2000,0,no,target,always,0,,,,,,,
si quieres que pase un tiempo entre reuso de skill agregale el delay al cero antes del no en milisegundos
Tambien puedes ver la estructura, no hace daño aprender un poco.
// Structure of Database:
// MobID,Dummy value (info only),State,SkillID,SkillLv,Rate,CastTime,Delay,Cancelable,Target,Condition type,Condition value,val1,val2,val3,val4,val5,Emotion,Chat -
On 6/4/2020 at 7:41 PM, Brynner said:
i still update a make a working diff patch for the extended battleground so it can still be active and works on the latest git hash thats why im wondering it was been hidden now. but its okay atleast i know what just happen.
Pheww..
I knew this was going to happen
Thankyou my friend, because of your last diff, I managed to get those battleground in my server, I feel myself lucky.
-
-
-
Same problem Here! help
CheckAttendance.lub
Config = { StartDate = 20200601, EndDate = 20201231 } Reward = { { 1, 501, 1 }, { 2, 501, 1 }, { 3, 501, 5 }, { 4, 501, 5 }, { 5, 501, 1 }, { 6, 501, 1 }, { 7, 501, 3 }, { 8, 501, 5 }, { 9, 501, 5 }, { 10, 501, 1 }, { 11, 501, 2 }, { 12, 501, 3 }, { 13, 501, 5 }, { 14, 501, 5 }, { 15, 501, 5 }, { 16, 501, 5 }, { 17, 501, 5 }, { 18, 501, 5 }, { 19, 501, 10 }, { 20, 501, 1 } } function main() result, msg = InsertCheckAttendanceConfig(Config.EvendOnOff, Config.StartDate, Config.EndDate) if not result then return false, msg end for k, rewardtbl in pairs(Reward) do result, msg = InsertCheckAttendanceReward(rewardtbl[1], rewardtbl[2], rewardtbl[3]) if not result then return false, msg end end return true, "success" end
Attendance YML
# This file is a part of rAthena. # Copyright(C) 2019 rAthena Development Team # https://rathena.org - https://github.com/rathena # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # ########################################################################### # Attendance Database ########################################################################### # # Attendance Settings # ########################################################################### # - Start Start date. # End End date. # Rewards: List of rewards for each day. # - Day Reward day. # ItemId Item ID. ########################################################################### Header: Type: ATTENDANCE_DB Version: 1 Body: - Start: 20200601 End: 20201231 Rewards: - Day: 1 ItemId: 501 Amount: 2 - Day: 2 ItemId: 501 Amount: 2 - Day: 3 ItemId: 501 Amount: 2 - Day: 4 ItemId: 501 Amount: 2 - Day: 5 ItemId: 501 Amount: 2 - Day: 6 ItemId: 501 Amount: 2 - Day: 7 ItemId: 501 Amount: 2 - Day: 8 ItemId: 501 Amount: 2 - Day: 9 ItemId: 501 Amount: 2 - Day: 10 ItemId: 501 Amount: 2 - Day: 11 ItemId: 501 Amount: 2 - Day: 12 ItemId: 501 Amount: 2 - Day: 13 ItemId: 501 Amount: 2 - Day: 14 ItemId: 501 Amount: 2 - Day: 15 ItemId: 501 Amount: 2 - Day: 16 ItemId: 501 Amount: 2 - Day: 17 ItemId: 501 Amount: 2 - Day: 18 ItemId: 501 Amount: 2 - Day: 19 ItemId: 501 Amount: 2 - Day: 20 ItemId: 501 Amount: 2
Battleconf checked
Permissions checked.
Why still giving me the currently no attendance check event?
I used your generator from this link
https://secretdataz.github.io/attendance-generator/
Is not opening! -
not working
-
Good day, I added a shortcut in the warper to go guild dungeons, I want limit this only to the respective casttle owners.
But my script is ignoring the castle owner condition, and everyone can warp too, I want to avoid this,
could you lendme a hand to fix this?Rachgd: if (getcharid(2) != 0 && getcharid(2) == getcastledata("arug_cas01",1)) goto chek2; Go("arug_dun01",200,36); chek2: if (getcharid(2) != 0 && getcharid(2) == getcastledata("arug_cas02",1)) goto chek3; Go("arug_dun01",200,36); chek3: if (getcharid(2) != 0 && getcharid(2) == getcastledata("arug_cas03",1)) goto chek4; Go("arug_dun01",200,36); chek4: if (getcharid(2) != 0 && getcharid(2) == getcastledata("arug_cas04",1)) goto chek5; Go("arug_dun01",200,36); chek5: if (getcharid(2) != 0 && getcharid(2) == getcastledata("arug_cas05",1)) goto Falta; Go("arug_dun01",200,36); Falta: mes "^0000FFAgente Warp^000000"; cutin "jpn_mid03",2; mes "You are not an owner of any Arunafeltz Rachel Casttle, or member of any guild who owns one."; next; mes "^0000FFAgente Warp^000000"; mes "Conquest an Arunafeltz casttle in Rachel, or join a guild who owns one in order to access!"; close3;
-
5 minutes ago, iseeyou21 said:
It shouldn't be doing that though. Sorry I don't know why it changed colors lol.
Ok I changed the color of one layer, when fusing it gather everything, nothing to worry bout.
-
-
On 5/13/2020 at 10:40 PM, iseeyou21 said:
I don't know what I did, but I also changed itemID 1219, saved it using the "Compact" option (redirecting indexes) and it worked. I didn't need to do that layer thing, but maybe it'll be better if I did. I'll look into merging the layers.
EDIT: I have merged the layers, and now it looks a lot better. It's true it only reads the first layer in the game, that's why the last frame of the attack doesn't show the weapon, only the swish effect. Thank you again!
Could you explain the merge layer and the compact save option?
I am using that Program, and I don't find such thing as COMPACT or Redirect Index option.
I'm having problems because I edit my act and is not showing the frames in game.Now in Game is not showing it, dunno what to do! PLEASE HELP
Character Hair Color and Style Problem
in Client-side Support
Posted · Edited by iraciz
Edit your pal grf, you have to import the kro default palletes just for the hairstyles! not bodies to your first read grf..... save and problem will be solved.. by the way.. diff your exe with char name height to 17 to show the whole name in the char creation panel.