Jump to content

evilpuncker

Community Contributors
  • Content Count

    2178
  • Joined

  • Last visited

  • Days Won

    66

Posts posted by evilpuncker


  1. Okay, I'm with a kind of a newbie issue, wanted to edit the pc_has_second_costume to include soul linker and star gladiator too, but its not working, seems my logic is failed :(

     

    static bool pc_has_second_costume(struct map_session_data *sd)
    {
    	nullpo_retr(false, sd);
    
    //	FIXME: JOB_SUPER_NOVICE_E(4190) is not supposed to be 3rd Job. (Issue#2383)
    	if ((sd->job & JOBL_THIRD) != 0 && (sd->job & MAPID_BASEMASK) != MAPID_NOVICE || (sd->job & MAPID_UPPERMASK) != MAPID_SOUL_LINKER || (sd->job & MAPID_UPPERMASK) != MAPID_STAR_GLADIATOR)
    		return true;
    	return false;
    }

    same with my script:

    .@choose = select( "Hair Style", "Hair Color", "Cloth Color", (!(eaclass() & EAJL_THIRD) || BaseJob == Job_SuperNovice || Class != Job_Star_Gladiator || Class != Job_Soul_Linker )? "": _("Body Style") ) -1;

     

    btw why don't we have an official has_second_costume script command though, so we don't need to repeat code :P 


  2. 2 hours ago, AnnieRuru said:

    only the DD are not necessary and you are good to go

     

    you mean the day? I don't get it xD now its confused me, btw this is the script I'm using:

    //set_attendance_requirement(); allow the player to get the attendance
    function	script	set_attendance_requirement	{
    	setd "#Attendance_" + gettime(DT_YYYYMMDD),true;
    	return;
    }
    //get_attendance_requirement(); return true if the requirement already met
    function	script	get_attendance_requirement	{
    	return getd("#Attendance_" + gettime(DT_YYYYMMDD));
    }
    -	script	DailyLogin	-1,{
    
    OnPCLoginEvent:
    	if (Baselevel < 75) {
    		dispbottom "You must be at least level 75 before you qualify for Daily Attendance.";
    		end;
    	}
    	if (get_attendance_requirement()) {
    		dispbottom "You already got the attendance today.";
    		end;
    	}
    	if (#DailyReward > gettimetick(2)) {
    		dispbottom .n$+": You can't currently receive the Daily Reward, you still have to wait "+callfunc("Time2Str", #DailyReward);
    		dispbottom .n$+": After this, visit the Attendance NPC in Prontera.";
    		end;
    	}
    	set #DailyReward,0;
    	dispbottom .n$+": Stay active for "+( (.rew_login%3600 == 0)?.rew_login/3600+" Hour(s)":.rew_login/60+" Minute(s)")+" to receive the Daily Reward.";
    	dispbottom .n$+": Then talk to the Attendance NPC in Prontera.";
    	attachnpctimer;
    	initnpctimer;
    	end;
    
    OnTimer60000: // Every Minute
    	stopnpctimer;
    	set #daily,#daily + 60;
    	if(#daily == .rew_login) {
    		set #daily,0;
    		set #DailyReward,Daily + 1;
    		dispbottom .n$+": You can now receive your Daily Reward. Please visit the Attendance NPC in Prontera.",.bc_self;
    		end;
    	}
    	attachnpctimer;
    	initnpctimer;
    	end;
    
    OnInit:
    	set .n$, "[Attendance]";
    	set .rew_time, 72000; // Timer until next Reward in seconds
    	// How long does someone have to stay online to recieve the reward in seconds
    	// Default: 3600 = 1 Hour
    	// Minimum: 60 = 1 Minute, because the Timer checks every Minute
    	set .rew_login, 3600;
    	end;
    }
    
    prontera,147,175,6	script	Attendance Checker	888,{
    	if (Baselevel < 75) {
    	dispbottom "You must be at least level 75 to get your daily attendance bonus.";
    	end;
    	}
    	if (get_attendance_requirement()) {
    		mes "You already got the attendance today.";
    		end;
    	}
    	mes .n$;
    	mes "Welcome, "+strcharinfo(0)+"!";
    	if (!#DailyReward) {
    		mes "I'm sorry, but you can't recieve your Daily Reward yet. You still have to wait for "+callfunc("Time2Str",(getvariableofnpc(.rew_login,"DailyLogin")-#daily)+gettimetick(2));
    		next;
    		mes "Talk to me when the timer is finished.";
    		close;
    	}
    	mes "Your attendance has been verified. Click at the arrow button below your Alt+V.";
    	set_attendance_requirement();
    	set #DailyReward,gettimetick(2) + .rew_time;
    	set Daily,#DailyReward;
    	set #DailyReward,0;
    	next;
    	mes "Press Alt+V and click Attendance Check";
    	next;
    	mes "Then click the prize of the day. Your item will be sent via RODex.";
    	next;
    	mes "Check your RODex mail to get your item.";
    	close;
    }

     


  3. Hello everyone, I'm trying to add the attendance system requirement to hercules, and there is a small code that need to be added to the clif_parse_attendance_reward_request function, I managed to fix a few errors but there is still some that I wasn't able to fix, the code is the following:

     

    	char attendance_requirement[NAME_LENGTH];
    	sprintf(attendance_requirement, "#Attendance_%d", date_get(DT_YYYYMMDD));
    	if (!pc_readaccountreg2str(sd, attendance_requirement)) {
    		clif->msgtable_color(sd, "You don't meet the requirement.", COLOR_RED);
    		return;
    	}

    the errors:

    hgZRTtH.png


  4. hey @AnnieRuru this is a nice script, the most complete one that I found, I have only one question and a few suggestions if you plan to do any update to it:

     

    question:

    - how do I change the class check so I could show the body style menu to a few more classes (soul linker and star gladiator)

     

    suggestions:

    - add a setting to block cloth color change if you have a body style > than 0 (people using custom palettes will love this because body style palette is different than current one)

    - make the npc change the color only if the user chose option: "I want this color", otherwise just make it show the colors but if user close the npc or exit, revert to original color

    - arrange the menu dynamically so if I select the Previous option, it will become the first menu option so I can browse the colors backward easily, until I select Next again

     

    not so useful suggestion, but kinda a dream:

    - option to save/load style set (cloth, hair color and hair style), just like those npc that save builds, saving them with an account variable so for example you could save a style that you liked and then instead of having to browse between everything again in another char, you just talk with npc and load that same style you saved before


  5. 6 hours ago, meruem said:

    I dont know if this is a correct section to post this?
    But is hercules DEAD?

    No one is answering anymore on discord / scripts section/ db section/ client section and other section that I posted for the past 3-4 weeks.

     

    Im just new to hercules I dont know what happened but is there some kind of anything that happened on the forums why no one is posting and answering anymore? 

    Please enlighten me. 

    Well, the entire (private) ragnarok scene has been like this for years already, people are coming and going all the time

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.