-
Posts
186 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by GodLesZ
-
-
Maybe you will get some help on this while posting @ Source Modification Support.
I tried to translte your question using google translation but it isent understandable ..
-
Try to plug it out & in again, just to be sure.
If it dosnt help, reset your color & lightning/brightness settings.
If anything fails, try another monitor (+ cable!) instead. If it looks like normally, your other monitor seems to be bugged.
If the second monitor looks also like the first, your graphics card maybe has some problems.
- 1
-
but, i would like to modify it / add a check on
certain cell / coordinate cant use @AFK
by refering to this 2 cell
cell_novending 6 cell_nochat 7
Example :
if i have an area that already run with either cell_nochat / cell_novending then it will display a message to inform you cant use @AFK at this spot.
This is how its done
/*========================================== * @afk * Turns on/off logout on player *------------------------------------------*/ ACMD_FUNC(afk) { nullpo_retr(-1, sd); // Map checks if ( map[sd->bl.m].flag.novending // No vending on the whole map || map[sd->bl.m].flag.nochat // No chats on the whole map || map[sd->bl.m].flag.autotrade != battle_config.autotrade_mapflag // Autotrade config dosnt match ) { clif_displaymessage(fd, "AFK is not allowed on this map."); return -1; } // Cell checks if ( map_getcell(sd->bl.m, sd->bl.x, sd->bl.y, CELL_CHKNOVENDING) // No vending on the current cell || map_getcell(sd->bl.m, sd->bl.x, sd->bl.y, CELL_CHKNOCHAT) // No chats on the current cell ) { clif_displaymessage(fd, "AFK is not allowed on this spot."); return -1; } // All checks passed sd->state.monster_ignore = 0; sd->state.autotrade = 1; if( battle_config.at_timeout ) { int timeout = atoi(message); status_change_start(&sd->bl, SC_AUTOTRADE, 10000, 0, 0, 0, 0, ((timeout > 0) ? min(timeout,battle_config.at_timeout) : battle_config.at_timeout) * 60000, 0); } clif_authfail_fd(fd, 15); return 0; }
- 1
-
Even if the problem itself is solved, just to correct you & as info for any other looking in this topic..
prontera,159,193,3 script Job Changer 65,{ enablewaitingroomevent {" Job Changer"};
Please look @ the wiki: [wiki]enablewaitingroomevent[/wiki]
The bracklets { and } means that this argument/parameter is optional.
And also, the syntax for calling embedded functions is (using enableWaitingRoomEvent as example)
enableWaitingRoomEvent; enableWaitingRoomEvent(); enableWaitingRoomEvent "NPC name"; enableWaitingRoomEvent("NPC name");
As you can see, it isent case intensitive. so you dont need to write all in lowercase, uppercase or any other format.
I'm preffer camel-case style, but thats just my favorite.
-
Written from scratch, more an idea, so please dont bother me..
// Variable syntax // $PARADIGM_<CharID>_<ParadigmType>_COUNT // $PARADIGM_<CharID>_<ParadigmType>_ID[<index>] // $PARADIGM_<CharID>_<ParadigmType>_LV[<index>] // CharID to store vars set .@cID, getCharID(0); // Paradigm menu mes("Paradigm management"); next; set .@paradigmType, select("Offensive", "Defensive", "Magic"); // Display skills of the paradigm mes("^FF0000Current skills^000000"); set .@count, getD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_COUNT"); for (set .@i, 0; .@i < .@count; set .@i, .@i + 1) { set .@skillID, getD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_ID[" + .@i + "]"); set .@skillName$, skillID2Name(.@skillID); mes(" - " + .@skillName$); } // Enable to manage set .@manage, select("+ Add skills", "- Delete skills", "= Apply paradigm"); if (.@manage == 1) { //------------------------------------------- // Add skills to paradigm //------------------------------------------- mes("Please choose the skill to be add to the paradigm"); // At this step we had to reset the existing paradigm tree and grant all standard skills the character had before // because we need to fetch all skills the character currently have to allow them to be added to the paradigm // TODO: reset skilltree function // After reset, fetch all skills and build a menu getSkillList(); set .@menu$, ""; for (set .@i, 0; .@i < @skilllist_count; set .@i, .@i + 1) { // TODO: Search all existing skills in the paradigm and dont display them to prevent the same skills more than once set .@skillID, @skilllist_id[.@i]; set .@skillName$, skillID2Name(.@skillID); set .@menu$, (.@menu$ == "" ? "" : .@menu$ + ":") + "+ " + .@skillName$; } // Display menu & get selected skillID set .@choice, select(.@menu$) - 1; set .@choosenSkillID, @skilllist_id[.@choice]; set .@choosenSkillLv, getSkillLv(.@choosenSkillID); // Get new index fror the skillID set .@skillCount, getD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_COUNT"); // Append to paradigm and raise skill count setD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_ID[" + .@skillCount + "]", .@choosenSkillID); setD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_LV[" + .@skillCount + "]", .@choosenSkillLv); setD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_COUNT", .@skillCount + 1); // TODO: Back to management menu.. } else if (.@manage == 2) { //------------------------------------------- // Remove skills from paradigm //------------------------------------------- mes("Please choose the skill to be removed from the paradigm"); // Build menu based on all skills in the paradigm set .@menu$, ""; set .@skillCount, getD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_COUNT"); for (set .@i, 0; .@i < .@skillCount; set .@i, .@i + 1) { // TODO: Search all existing skills in the paradigm and dont display them to prevent the same skills more than once set .@skillID, getD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_ID[" + .@i + "]"); set .@skillName$, skillID2Name(.@skillID); set .@menu$, (.@menu$ == "" ? "" : .@menu$ + ":") + "- " + .@skillName$; } // Display menu and get choosen skill index set .@choice, select(.@menu$) - 1; // Delete skill index setD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_ID[" + .@choice + "]", 0); setD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_LV[" + .@choice + "]", 0); // TODO: reorder array to fill the wasted space // Redurce skill count in the paradigm setD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_COUNT", .@skillCount - 1); // TODO: Back to management menu.. } else if (.@manage == 3) { //------------------------------------------- // Apply paradigm //------------------------------------------- // Reset the skills resetSkill(); // Remove skill points set SkillPoint, 0; // Grand all skills form the paradigm set .@skillCount, getD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_COUNT"); for (set .@i, 0; .@i < .@skillCount; set .@i, .@i + 1) { set .@skillID, getD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_ID[" + .@i + "]"); set .@skillLv, getD("$PARADIGM_" + .@cID + "_" + .@paradigmType + "_Lv[" + .@i + "]"); // Grant the skill skill(.@skillID, .@skillLv, 0); } }
Of course global vars arent that good, but without a source mod i cant see any other ways for storing them.
Before granting the first paradigm or maby on the first npc visit you have to save the current skill tree to reset them later on.
€dit: I forgot the skillID2Name script command..
BUILDIN_FUNC(skillid2name) { int skillID = script_getnum(st, 2); script_pushstrcopy(st, skill_get_name(skillID)); return 0; }
-
I guess you wouldn't have to turn it off... but, rather than give people a place to "play" which is what I see would end up happening, you make it a place of "work" beta testing, doesn't mean... "Oh sweet, I can do whatever I want all day long..." it's used primarily for trying to find bugs in the said problem...
I just see it end up being a playground if it's 24x7
If we allow only specific members aka "beta tester" to join the server, i dont think could be happen.
If its puplic access, of course, this will end up as a playground
Anyways, i think this could be nice idea, if we had everything done right, i.e. a build bot.
- 1
-
AFAIK the expire time display can't be changed on serverside because of it's just a entry in the message string table in your client.
So you need some assembler knowledge to change the display in the way you want.
-
My problem is how to update Character's status immediately whithout
re-logining or taking off/on equipment ?
Maybe try a
atCommand("@refresh");
to refresh the client display.
I don't know if it isen't just displayed or need a complete re-calculation.
-
Elemental Stuffs doesn't have slots right?.
Sure they have.
Forged equipment can't have slots, because of the infos about the forger is saved in the places of the slots, so no space is left for card ID's or something else.
Equipment with an attack or defence element are still able to be slotted or forged.
-
Good job!
I hope this will speed up the search for someone.
The search on the old eathena.ws board was just pain in your .. everone know what i mean
- 1
-
nvm. Close the topic please.
Maybe someone else is interested in this too?
If you solved your problem, you should also say how.
Basicly, there are 2 simple ways.
#1 check for users on the battleground map, i.e.
getmapusers("bat_b02"); // Flavius getmapusers("bat_a01"); // Tierra
#2 after joining the battleground you receive a quest. Each Battleground has its own quest.
So just check the quest i.e.
set(.@questTime, checkQuest(2070, PLAYTIME)); // Value of .@questTime (taken from script_commands.txt) -1 = Quest not started (not in quest log) 0 = the time limit has not yet been reached 1 = the time limit has not been reached but the quest is marked as complete 2 = the time limit has been reached
- 1
-
Nice, i never tought there is developing on it again.
Good luck with it!
PS: You should try to post or sync the news posts with your svn log.
Everytime i visited the site, i didnt see any changes on the news & left it afterwards.
Could you also? do a 'VOTE FOR POINTS' on Ceres?
Looking forward in this Topic.
Regards,
Mindless
I've released one long time before in the old eAthena.ws forum: here.
Its a simple addon and should still working for simple purposes.
Maybe a hint for @Brian to come up with?
- 1
-
Number One:
All Item and Equipment in Current GRF or Whatever it's called (from RO) I want all images, items, equipment, npc's and everything!
I've got a bunch of scripts/tools @ home for extracting & converting sprites from a folder or GRF.
If no one comes up, i will send it to you today in the evening or @ least tomorrow.
-
another reason for a open source client XD
Lets see how KeyWorld's roBrowser comes up.
@LMF: Any results on testing yet?
-
Yes! I am curious how convenient or inconvenient it would be for the majority of users if we used Google Code's issue tracker.
Yuki: I use Google Docs docs too
Sounds nice, i like there tracker.
I'm using many google services & have a gmail account too
"Google Plus"-style: "+1 for the issue tracker idea <3
-
Done, sub-forums added!
Yea, I was wondering what do people consider low/mid/high nowadays?
- Low = up to 25x ?
- Mid = up to 500x ish ?
- High = over 1k ?
Maybe I'm a bit old-school or outdated, but in my opinion its something like:
- Low up to 25x
- Mid up to 500x
- High up to 2.000x
- Super high above 2.000x
But we should reserv some space to deal with it.
A description on each sub-forum like "1x - <50x" on Low Rates and so on.
Just to let the user know which rates are found in the sub-forum, regardless if its called "low", "mid" or "high".
Btw, no sub-forum for "super high"? I think they are important today for many players.
- Low = up to 25x ?
-
Yeah, I think I have to change some more files to fix that.
I dont think so.
The object status is sent to client in this function.
Also updates should be passed through it.
Where could I find that clip_updatestatus?clif_updatestatus can be found in clif.c
This is how eAthena orders there namespaces..
clif_* functions are in clif.c, pc_* functions in pc.c, and so on.
By the way... I'd like to 1:1 chat with someone who's very knowledgeable with Hexes and stuffs like that. I have so much to edit but I have limited knowledge. lol. If you're interested, just pm me. Thanks.Just PM & ask, i will try to answer as soon as possible.
-
if (sd->sc.count && //no "chatting" while muted.
((sd->sc.data[SC_NOCHAT] && sd->sc.data[SC_NOCHAT]->val1&MANNER_NOCHAT) ||
(sd->sc.data[SC_DEEPSLEEP] && sd->sc.data[SC_DEEPSLEEP]->val2) ||
sd->sc.data[SC_SATURDAYNIGHTFEVER]))
return -1;
can be this way? cause i see the starting should be in ((sd->sc.count && and end at fever]))
Yep, here the same a bit better:
// No "chatting" while muted if ( sd->sc.count && ( (sd->sc.data[sC_NOCHAT] && sd->sc.data[sC_NOCHAT]->val1&MANNER_NOCHAT) || (sd->sc.data[sC_DEEPSLEEP] && sd->sc.data[sC_DEEPSLEEP]->val2) || sd->sc.data[sC_SATURDAYNIGHTFEVER] ) ) return -1;
If I remember correctly it's also a client issue (the client avoid to send talk packet to server when you are berserk)
Strange if so. But yea, this sounds like Gravity
-
so it should be..
- (sd->sc.data[sC_BERSERK] ||
something like this only?
Without the beginning (, yes.
The block should be
if (sd->sc.count && //no "chatting" while muted. ((sd->sc.data[sC_NOCHAT] && sd->sc.data[sC_NOCHAT]->val1&MANNER_NOCHAT) || (sd->sc.data[sC_DEEPSLEEP] && sd->sc.data[sC_DEEPSLEEP]->val2) || sd->sc.data[sC_SATURDAYNIGHTFEVER])) return -1;
-
I've attached a small diff.
Its untested but removed the berserk check on talk-related functions.
Let me know if it works.
-
@GodLesZ: we changed the error/info/success/warning BBCodes so only staff can use them.
Too bad, i liked them =/
Anyways thanks for the infos
- 1
-
UP
Seems that with the IPB "upgrade" we loose:
- codebox feature
test
- select text button.
Even other custom bbcodes like
[info="Box title"]Content in the info box[/info]
are also lost in space =/
- codebox feature
-
Nice, i never tought there is developing on it again.
Good luck with it!
PS: You should try to post or sync the news posts with your svn log.
Everytime i visited the site, i didnt see any changes on the news & left it afterwards.
- 2
-
I would try a combination of hex edit and faking.
Search the Strings of HP and SP; change them (HP to SP and SP to HP) and edit clif_updatestatus to send status.hp instead of SP and so on.
I dont know if this breaks other things, but i would give it a try.
The HP and SP values on clientside are taken form offsets, so you cant change them without decent assembler knowledge.
How To Enable Aura when you're in a max level.
in Client-side Support
Posted
Please read the comments above these 2 configs again and then set them correctly.