-
Content Count
520 -
Joined
-
Days Won
69
Posts posted by Angelix
-
-
2 hours ago, Methz said:Show us the error.
And tell me what's is Love Line Skill cause I don't know
"Love Line" is a skill obtained after marriage by a "couple" which lets them instantly teleport themselves to the other player they're married to.
- 1
-
2 hours ago, Ximboliex said:Explain more
Maybe he's trying to setup a website on a recent version of Xampp, which won't work or maybe he just can't setup a site due to misconfiguration. I'm guessing the first though.
- 1
-
Well, in that case I already gave you the answer then.
-
One way to make that would be them opening every two hours:
SetMapEntryTime(map, "2006/10/18/14/0", "0/2/0", "0/0/30", "0/0/45")
SetMapEntryTime(map, "2006/10/18/15/0", "0/2/0", "0/0/30", "0/0/45")
That way they wouldn't overlap, but it's not what you wanted of one map being every two hours and another every three hours without overlapping.
-
47 minutes ago, Blanquitoh said:I know how the app acted (worked) *i think* ... but it is not how newbie devs see it, trust me... x)
I see your point about "developers" not trusting V3ctor, but lets be honest, if they can't or didn't do the simplest thing of just modifying a single configuration file given by him, who would actually go and modify the code of a website and then give a link to V3ctor? I mean, it's a great concept, but who do you see that knows what to do about Lua scripts? If they can't learn that by themselves, why would they learn about php? People just tend to grab server files and they're already struggling with placing an NPC, what do you think will happen if making a personal website was a requirement to open a server? No one would open one. Very few people know how to create custom Lua scripts and even less know about PHP.
- 2
-
1 hour ago, KONG said:I checked this a few years ago. if I remember correctly, Game.exe have hardcoded Demonic Fruit values.
If anyone needs guide to patch, feel free to pm.
+ few years ago, @Angelix released a ready-made FairySystem with tables to handle almost all related functionality with fairies.
(all u needed to do was a simple dofile())
Til now, I have not seen a single person use it besides me so Kudos to him!Codes need to become shorter and simpler, not longer and harder.
That file is somewhere in the pkoDev archive in MEGA just in case anyone wants it. It contains everything for rations, fruits, marriage and possession.
- 2
-
The variables for reputation is also on the same file.
- 1
-
You're the one asking that on Discord, right? If so, the mentor/disciple reputation and item gained are done through the file "AttrCalculate.lua". The reputation gained is handled by variables at the beginning of the file while the items gained are done through a function somewhere below halve of the file, can't remember exactly what it's called.
- 1
-
So basically you want something like this?
function SkillSp_Xlcz(SkillLevel) return (30 + SkillLevel * 2) end function SkillCooldown_Xlcz(SkillLevel) return (6000 - SkillLevel * 300) end function Skill_Xlcz_Begin(role, SkillLevel) if Sp(role) - SkillSp_Xlcz(SkillLevel) < 0 then SkillUnable(role) return end Sp_Red(role, SkillSp_Xlcz(SkillLevel)) end function Skill_Xlcz_End(ATKER, DEFER, SkillLevel) if ValidCha(ATKER) == 0 or ValidCha(DEFER) == 0 then return end local LV_DIF = math.max((-1) * 10, math.min(10, Lv(TurnToCha(ATKER)) - Lv(TurnToCha(DEFER)))) local Damage = math.floor((10 + Sta(ATKER) * 2) * (1 + SkillLevel * 0.25) * (1 + LV_DIF * 0.025)) * 1.1 if (GetChaMapName(ATKER) == "garner2" or GetChaMapName(DEFER) == "garner2") and Is_NormalMonster(DEFER) == 0 then Damage = math.floor((MAGIC_Atk_Dmg(ATKER, DEFER)) * (1 + SkillLevel * 0.1)) end Damage = Cuihua_Mofa(Damage, GetChaStateLv(ATKER, STATE_MLCH)) Damage = Damage + ElfSkill_MagicAtk(Damage, ATKER) if GetChaAttr(ATKER, ATTR_CSAILEXP) > 0 and GetChaAttr(ATKER, ATTR_CSAILEXP) < 100 then Damage = Damage * 1.055 end if GetChaAttr(ATKER, ATTR_CSAILEXP) >= 100 and GetChaAttr(ATKER, ATTR_CSAILEXP) < 12100 then Damage = Damage * (1.05 + math.floor(math.pow((GetChaAttr(ATKER, ATTR_CSAILEXP) / 100), 0.5)) * 0.005) end if IsPlayer(DEFER) == 0 then local Percentage = GetChaAttr(DEFER, ATTR_HP) / GetChaAttr(DEFER, ATTR_MXHP) Percentage = (1 - Percentage) * 0.5 Damage = Damage * (1 + Percentage) end Hp_Endure_Dmg(DEFER, Damage) if IsPlayer(ATKER) == 1 and IsPlayer(DEFER) == 1 then LG("Skill Log", GetChaDefaultName(ATKER), GetChaDefaultName(DEFER), GetChaMapName(ATKER), "Spiritual Bolt", SkillLevel, Damage) end Check_Ys_Rem(ATKER, DEFER) CheckAttackState(ATKER, DEFER) GivePetState(ATKER, DEFER) end
An example would be:
- Monster has 45,000 HP out of 50,000 max HP.
- That means the monster has lost a 10% of their total HP.
- We then multiply that percentage by 0.5 (otherwise known as dividing by 2).
- We add a 1 to the above result, so it would be 1 + 0.05.
- Then we multiply that by the damage already calculated from Spiritual Bolt.
- An example would be that the user is dealing damage of 2,000, then multiplied by the above result, we now get 2,100.
- This means, for every 10% of total HP that the monster has lost, the attacker's spiritual bolt damage is increased by 5%.
That's what you meant? If so, then that's the script.
- 2
-
Things to consider:
-
Illusion Slash originally has its damaged increased by skill level and by attack speed of user.
- How will you put that into play?
- What do you mean by "damage will be based on how much HP is lost"? Since normally HP is lost after the damage.
- Will you be trying to work with percentages or something like?
- Dual Shot, same issues as above, except for that fact that it doesn't take into consideration the attack speed.
-
Spiritual Bolt initially depends on the spirit attribute from both (attacker and defender).
- You're going to try an ignore defender's spirit and deal damage (maybe percentages as well?) based on monster's HP?
- 1
-
Illusion Slash originally has its damaged increased by skill level and by attack speed of user.
-
Hello! I come from the English part of the forum. I do not know Russian, but looking at scripts, I guess you are trying to do some percentages with attributes. Here is a script I did a while ago from a skill effect that involved reducing stats by percentages. There is a slight note, that some percentages are a bit off in player stats like attack and attack speed if I remember correctly. Hope it helps!
Google translate:
SpoilerЗдравствуйте! Я родом из английской части форума. Я не знаю русского языка, но, глядя на скрипты, я предполагаю, что вы пытаетесь сделать некоторые проценты с атрибутами. Вот скрипт, я сделал некоторое время назад от навыка эффекта, который участвует восстанавливающего статистику по процентным. Существует небольшое примечание, что некоторые проценты являются откусил в статистике игрока, как атаки и скорость атаки, если я правильно помню. Надеюсь, поможет!
function State_EmoYuYan2_Add(Player, StateLv) local Defense = 0.05 local Movement = 0.15 local Attack = 0.1 local Speed = 0.25 Defense = Defense * StateLv Movement = Movement * StateLv Attack = Attack * StateLv Speed = Speed * StateLv local DEF = math.floor((DefSa(Player) + (-1 * Defense)) * ATTR_RADIX) local MOV = math.floor((MspdSa(Player) + (-1 * Movement)) * ATTR_RADIX) local MNATK = math.floor((MnatkSa(Player) + (-1 * Attack)) * ATTR_RADIX) local MXATK = math.floor((MxatkSa(Player) + (-1 * Attack)) * ATTR_RADIX) local ASPD = math.floor((AspdSa(Player) + (-1 * Speed)) * ATTR_RADIX) SetCharaAttr(DEF, Player, ATTR_STATEC_DEF) SetCharaAttr(MOV, Player, ATTR_STATEC_MSPD) SetCharaAttr(MNATK, Player, ATTR_STATEC_MNATK) SetCharaAttr(MXATK, Player, ATTR_STATEC_MXATK) SetCharaAttr(ASPD, Player, ATTR_STATEC_ASPD) ALLExAttrSet(Player) end function State_EmoYuYan2_Rem(Player, StateLv) local Defense = 0.05 local Movement = 0.15 local Attack = 0.1 local Speed = 0.25 Defense = Defense * StateLv Movement = Movement * StateLv Attack = Attack * StateLv Speed = Speed * StateLv local DEF = math.floor((DefSa(Player) - (-1 * Defense)) * ATTR_RADIX) local MOV = math.floor((MspdSa(Player) - (-1 * Movement)) * ATTR_RADIX) local MNATK = math.floor((MnatkSa(Player) - (-1 * Attack)) * ATTR_RADIX) local MXATK = math.floor((MxatkSa(Player) - (-1 * Attack)) * ATTR_RADIX) local ASPD = math.floor((AspdSa(Player) - (-1 * Speed)) * ATTR_RADIX) SetCharaAttr(DEF, Player, ATTR_STATEC_DEF) SetCharaAttr(MOV, Player, ATTR_STATEC_MSPD) SetCharaAttr(MNATK, Player, ATTR_STATEC_MNATK) SetCharaAttr(MXATK, Player, ATTR_STATEC_MXATK) SetCharaAttr(ASPD, Player, ATTR_STATEC_ASPD) ALLExAttrSet(Player) end
- 2
-
-
49 minutes ago, Abdelrahman Hajjaj said:hi @KONG
thnx for answering.
as for the pet, idk it just wont work, when i i use the fairy body skill it consumes sp but wont increase any states (str,con,agi..etc.).
and i just found that even the growth rate is not working even though i made the fairy growth rate 7000x the growth bar just wont budge
that's weird..
Have you modified anything related to fairies?
-
4 hours ago, xSeth said:lel man u forget the nab one gm Satan = Volcher/Yudha=Stoci/Heitor=Pain
"300+" if u count 250+ alts on minning and tree u can say that 300+. If u count normal players u can say 10-15 max in the first days, then later was pk by 3-4 vs 3-4 + count alts like champs-sm-etc
Also the funny part i ever heard is that CA set effect + rank list = more tanky in ca.
Lol from when that dumb thing is available ? I have NEVER EVER heard abut this crap lol , even in TOP 1-2/ Or any privates , first time i see here lol + i didn't realise any difference , i heard that Minov ss had full CA set + rank list but for me it's was a trash, so i don't get it that "effect " lol
And like i said before too if u want x1 srv rates go and fking advert it everywhere, facebook, all not spamm here and on discord lmao...
Look at pko after advert a lot time now he got 900 on , 890 alts minning/tree and pk is dead ther too 3-4 vs 4-5 lmao . But at least system show 900 on , and u r like " wow , omg 900 " and when u enter u see STALLS everywhere , every place , afk every1 24/7 , and only pk map CA u see " 5 inside " lmao .
TOP is dead to keep x1 rates , every1 want PK srv
IF even IGG didn't want create TOP 1 again , they might know it's not worth to do it so they just give up , but we will always see some nobs trying open srv and close after 1 week .
You never see the Chaos Equipment effect in display since many servers go around the fact of giving overpowered equipment at the beginning (like level 65+) and players go for that since there's no need for equipment in Chaos Argent. There is a function in every server that if a player has a full set of equipment from Chaos Argent and is registered in the ranking from the NPC, that player will receive a bonus. If the player is in first rank, it will receive a 50% damage reduction, second receives a 40%, third a 30%, fourth a 20% and fifth a 10% damage reduction.
- 4
-
3 hours ago, KONG said:Hello. There is a better method that requires 2 byte to be changed at client side, then it can be extracted with the native ui. Also the lua in variable.lua
And you were completely ignored, hahah. Mind sharing a guide on how to do that?
- 3
-
Give this a try, place this:
function QuestFunc(Player, Mission, Type, Func) local Name = GetChaDefaultName(Player) local Day = (tonumber(os.date("%Y")) * 10000) + (tonumber(os.date("%m")) * 100) + (tonumber(os.date("%d"))) local Week = (tonumber(os.date("%Y")) * 100) + (os.date("%V")) if QuestLog[Name] == nil then QuestLog[Name] = {} end if QuestLog[Name][Mission] == nil then QuestLog[Name][Mission] = {} end if Type == "Daily" then if QuestLog[Name][Mission][Day] == nil then QuestLog[Name][Mission][Day] = false end if Func == "Check" then if QuestLog[Name][Mission][Day] == false then return LUA_TRUE elseif QuestLog[Name][Mission][Day] == true then return LUA_FALSE end elseif Func == "Completed" then QuestLog[Name][Mission][Day] = true return LUA_TRUE end elseif Type == "Weekly" then if QuestLog[Name][Mission][Week] == nil then QuestLog[Name][Mission][Week] = false end if Func == "Check" then if QuestLog[Name][Mission][Week] == false then return LUA_TRUE elseif QuestLog[Name][Mission][Week] == true then return LUA_FALSE end elseif Func == "Completed" then QuestLog[Name][Mission][Week] = true return LUA_TRUE end end end
Before this function:
function ConditionsTest( character, conditions, param1, param2, npc ) ... end
As for the other quests not working, that ain't up to me. You might have move something else.
-
I suggested the "RefreshCha" on "cha_timer" since I ran into the same issue when altering attributes and that screwed monsters, leaving them on a 5 ~ 10 hits regardless of damage.
-
Are you somehow calling "RefreshCha" within cha_timer? Or anything that updates a player's attributes.
- 1
-
I'm using v2.X from public files. If you want help, please do what I told you.
-
8 hours ago, blazi10 said:What files are you using? Can u share me it?
i need Serialize.lua or something else to run daily quest?
No, I won't share my files. I don't use serialize nor other files for the daily things.
Upload your MissionSdk, the script for the quest and any error log regarding those.
-
That's odd, I'm using the script in my files and no errors show up regarding that.
Look, in my MissionSdk.lua
function QuestFunc(Player, Mission, Type, Func) local Name = GetChaDefaultName(Player) local Day = (tonumber(os.date("%Y")) * 10000) + (tonumber(os.date("%m")) * 100) + (tonumber(os.date("%d"))) local Week = (tonumber(os.date("%Y")) * 100) + (os.date("%V")) if QuestLog[Name] == nil then QuestLog[Name] = {} end if QuestLog[Name][Mission] == nil then QuestLog[Name][Mission] = {} end if Type == "Daily" then if QuestLog[Name][Mission][Day] == nil then QuestLog[Name][Mission][Day] = false end if Func == "Check" then if QuestLog[Name][Mission][Day] == false then return LUA_TRUE elseif QuestLog[Name][Mission][Day] == true then return LUA_FALSE end elseif Func == "Completed" then QuestLog[Name][Mission][Day] = true return LUA_TRUE end elseif Type == "Weekly" then if QuestLog[Name][Mission][Week] == nil then QuestLog[Name][Mission][Week] = false end if Func == "Check" then if QuestLog[Name][Mission][Week] == false then return LUA_TRUE elseif QuestLog[Name][Mission][Week] == true then return LUA_FALSE end elseif Func == "Completed" then QuestLog[Name][Mission][Week] = true return LUA_TRUE end end end
-
Well, if you're trying to operate a multiple instance map an using v1.x files, MapCopyNum should not be "1".
-
3 hours ago, Methz said:@Angelix you're right, but in theory, this should not work, since it is necessary to develop a part of logic. The part necessary to verify if all the equipment is active AFTER entering the initial condition of the effect. Something like this:
if check_stone < 1 then -- Checking if the player has the Remove Effect Stone if Dina_xl_ID==2577 and Dina_x2_ID==2817 then local statelv = 1 local statetime = 3600 AddState ( role , role , STATE_BBRING1 , statelv , statetime ) else -- Checking if the player has all items local statelv_bbring1 = GetChaStateLv ( role , STATE_BBRING1 ) if statelv_bbring1~=0 then RemoveState ( role , STATE_BBRING1 ) end end
I think this happens because we have two situations to remove the effect: player without all the items and player with the Remove Effect Stone. So we need to check these situations as well.
Of course the above code is awful and not optimized at all, but it's just to show the logic I'm thinking. Do you have any suggestions optimized and that works? I mean, without adapting the script you created, hahaha.
Btw, I really enjoyed your script, thanks for sharing. I just didn't understand the function of math.random at the end. It's only a option?
My script were created for that purpose, to simplify the process of creating more effects for equipment.
The randomness was place since in that thread they were talking about Kylin effect and it only has a 10% of activating.
-
Go ahead and try this script.
DefineMission(2003, "Daily Quest 1", 2003) MisBeginTalk("Do you have a time? Can you get items from list For me? please. I will pay you") MisBeginCondition(LvCheck, ">", 1) MisBeginCondition(LvCheck, "<", 20) MisBeginCondition(QuestFunc, 2003, "Daily", "Check") MisBeginAction(AddMission, 2003) MisBeginAction(AddTrigger, 20031, TE_GETITEM, 4404, 15) MisBeginAction(AddTrigger, 20032, TE_GETITEM, 3116, 20) MisBeginAction(AddTrigger, 20033, TE_GETITEM, 1577, 20) MisBeginAction(AddTrigger, 20034, TE_GETITEM, 1653, 15) MisCancelAction(ClearMission, 2003) MisNeed(MIS_NEED_DESP, "Get Items from list") MisNeed(MIS_NEED_ITEM, 4404, 15, 10, 15) MisNeed(MIS_NEED_ITEM, 3116, 20, 20, 20) MisNeed(MIS_NEED_ITEM, 1577, 20, 30, 20) MisNeed(MIS_NEED_ITEM, 1653, 15, 40, 15) MisPrize(MIS_PRIZE_Money, 10000) MisPrizeSelAll() MisResultTalk("Thank you, come back tommorow.") MisHelpTalk("Are you waiting for? Go Get the items.") MisResultAction(QuestFunc, 2003, "Daily", "Completed") MisResultCondition(HasMission, 2003) MisResultCondition(HasItem, 4404, 15) MisResultCondition(HasItem, 3116, 20) MisResultCondition(HasItem, 1577, 20) MisResultCondition(HasItem, 1653, 15) MisResultAction(TakeItem, 4404, 15) MisResultAction(TakeItem, 3116, 20) MisResultAction(TakeItem, 1577, 20) MisResultAction(TakeItem, 1653, 15) MisResultAction(AddExp, 300, 300) MisResultAction(ClearMission, 2003) InitTrigger() TriggerCondition(1, IsItem, 4404) TriggerAction(1, AddNextFlag, 2003, 10, 15) RegCurTrigger(20031) InitTrigger() TriggerCondition(1, IsItem, 3116) TriggerAction(1, AddNextFlag, 2003, 20, 20) RegCurTrigger(20032) InitTrigger() TriggerCondition(1, IsItem, 1577) TriggerAction(1, AddNextFlag, 2003, 30, 20) RegCurTrigger(20033) InitTrigger() TriggerCondition(1, IsItem, 1653) TriggerAction(1, AddNextFlag, 2003, 40, 15) RegCurTrigger(20034)
Also, I never modified that function. If you're having error, it can also be due to another mistype or something from other script, if so, please close your server completely, delete logs and then open again the server. If your issue persists, then go into the log folder and look for lua_err.txt and there should be an issue there.
[Help] Quest vocabulary
in Questions & Help
Posted · Report reply
Fixing a typo:
MisBeginTalk: "What? Death Weapons? Oh... This is a mystery, only one person has ever succeeded while many have died trying!" MisHelpTalk: "If you really want this, search for Guard - Zhou at [Spring Island - 3298,2534]."
Next:
Quest Name: The Way [Death Weapons] NPC: Guard - Zhou MisBeginTalk: "It's not a good idea, believe me! This power... Maybe you will never come back. Search inside Abaddon, Blacksmith Goldie can help you. This is all I can say." MisNeed: "Search and talk with Blacksmith - Goldie again." MisHelpTalk: "You can find Blacksmith - Goldie at Dark Forest Town" (COMPLETE_SHOW) NPC: Blacksmith Goldie MisResultTalk: "He talks about Abaddon? Hmm... This is starting to get interesting."