Jump to content

anticlimax18

Members
  • Content Count

    17
  • Joined

  • Last visited

Posts posted by anticlimax18


  1. Ohh thanks Again!! Yeah I was about to work on that and you replied  :lol:

    Nice Name-The-Quest-Thingy Idea You gave me.

     

    I will create an input for player so they can name their Quest.

     

    I am trying to achieve a new way of Quest system... I know it my look similar to old ways but here its Like being Paid By the Player Publishing the Quest While the publisher get reward if the Quest is successfully completed without Dying 5 times or Logging out while battling. (however it comes). Else It Quest Fails and will go into Abandon/ Failed Quest. So it can be taken again.The Trickier Part for me will be to figure out how to track them if they are in battle or not.

     

    SO not only players will try to avoid death by also Logging out. ;)


  2. Perhaps something like this:

    -	script	sql_quest_generator	-1,{OnHuntingCreate:freeloop(1); // Freeloop to prevent infinite loop error.while( .@hunting != .hunting_generate ){ // Loop through the below until a total of (.hunting_generate) amount of quests have been created.    .@a = rand(.min_hunting_objective, .max_hunting_ojbective); // Select a random amount of objectives for this quest.    .@name$ = "Hunting:"; // Start of the quest name.        // Loop the below until the selected amount of objectives have been added to the proper variables.    while( .@b != .@a ){	.@i = rand(1001,3000); // Selecting a random mob_id # from 1001 (Scorpion) -> 3000 ( Just going beyond what exists to add support for custom mobs ).	if( !compare( .blacklist$, ""+ getmonsterinfo( .@i, 0 ) +"" ) ){ // Compares monster ID number to see if it is blacklisted or not.		.@mob_objectives[.@b] = .@i; // Adds the monster as an objective.		.@mob_obj_amount[.@b] = rand(.min_hunting_amount, .max_hunting_amount); // Adds a random amount to be killed to complete that objective.		.@name$ = .@name$ + getmonsterinfo( .@i, 0 ); // Adds the monster's name as part of the quest name.	        .@b++;		}	}        // We create an entry in our custom quest_database using just the Quest name for now.        // This will serve as a pointer when adding in all the objectives later, since the amounts were dynamically chosen and not set in stone.	query_sql("INSERT INTO quest_database `quest_name` = '"+ .@name$ +"'");        // Loop through this until ALL objectives & the amount needed to complete it, have been added to the quest we listed above.	while( .@c < getarraysize( .@mob_objectives ) ){                // Adding in each objective and it's amount to the quest we just created above.		query_sql("Update quest_database SET( `obj"+ .@c +"`, `amt"+ .@c +"'`) VALUES( '"+.@mob_objectives[.@c]+"', '"+.@mob_obj_amount[.@c]+"') WHERE `quest_name`='"+ .@name$ +"'");		.@c++;	}        // Set this variable +1 to say we have completed creating a quest. And to continue looping if not all of them have been created.	.@hunting++;}// Freeloop(0) to let server know we are done looping and to stop trying to prevent infinite loops.freeloop(0);end;// This is where the settings go to configure the above to do what you want.OnInit:.hunting_generate = 3; // How many hunting quests to create and add to sql.// Minimum and Maximum amount of different monsters to be used as an objective..min_hunting_objective = 1;.max_hunting_objective = 5; // Note - This can not be higher than the number of objectives listed in your sql table. So if your sql table only supports 3, this can be no higher than 3.// Minimum and Maximum amount to be killed for each objective..min_hunting_amount = 5;.max_hunting_amount = 20;// Bonus, a custom command that when used, will attempt to create a (.hunting_generate) more quests and add them to the database.bindatcmd "huntgen", strnpcinfo(3)+"::OnHuntingCreate";end;}

     

    It's untested, but if it works, it should generate 3 hunting quests, with random amount of 1-5 different monsters to hunt, ranging from 5-20 of each to kill. And place them into a sql database.

    Thanks But I managed to get with my own designed script.. it was updated .. you can see it again. An many thanks to your script it helped a lot.  +1 for you. As also you can see It take me long time to manage to get till this part which take  5 to 10 mins for a Good Scripter like you.

     

    EDIT: I WILL TEST THIS SCRIPT TOO AND TRY TO OPTIMIZE MY SCRIPT.


  3. Sorry my bad, I meant to use getmonsterinfo( .@i, 0); but I forgot to change it after I was done writing out the template. I updated my previous post. And again, I haven't tested whether or not it will fully work, I just know it doesn't have syntax errors.

     

    Your Scripts is a good sample unless you comment what you are trying to do.. I don't understand it quit well. Comment it.


  4. Player Paid Quest Generator Script 

     

     

    TO DO:

    OnNPCKillEvent

     

    I Am Trying to make this Script that Uses SQL to store Quest Auto Generated.

    I have scraped that Auto generate idea instead i now made it player to select combining Gather and hunting together.

     

    Players Pay Some to Create a Quest in return for Reward if someone Completes his Quest.

    Also The Quest Taker gets a Reward.

    So why not use Flux Credit and add another Custom Credit for other purposed and also utilized Cash Points for Cash Shop.

     

    My NEW Aim here is to make a Quest NPC System used by players to create and earn credits or kafra Cash points.

     

    The Player Publish Quest.

    Other Player Takes Available Quest.

    The Publisher get Kafra Cash Points when his Publish Quest Completes.

    The Player who took the Quest get some Custom Credits which he can use for other purposes.

     

     

     

    Also I intend to RELEASE THIS SCRIPT AS SOON AS IT COMPLETES.

     

    STATUS:  ALMOST COMPLETE

     

    Thanks to gmOcean till now. [For sample codes]

     

    DataBase Table : [sUBJECTED TO CHANGE AS SCRIPT DEVELOPS.]

     

    Table name >>  "Paid_Quest"

    // SQL TABLE TO BE USED.

    /*
    CREATE TABLE `master_main`.`paid_quests` (
      `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(255) NOT NULL,
      `pub_id` INT(11) NOT NULL,
      `TrackID` INT(11) NOT NULL DEFAULT 0,
      `mob_id` INT(11) NOT NULL DEFAULT 0,
      `item_id` INT(11) NOT NULL DEFAULT 0,
      `tar_kill` INT(11) NOT NULL DEFAULT 0,
    `tar_collect` INT(11) NOT NULL DEFAULT 0,
      `reward` INT(11) NOT NULL DEFAULT 0,
      `time` BIGINT NOT NULL DEFAULT 0,
      PRIMARY KEY (`id`),
      UNIQUE INDEX `id_UNIQUE` (`id` ASC));
    */

    Now What I have not done in this Script.

    1. Not added OnNPC Events.
    2. SQL Queries for storing Information
    3. checking if player has already posted quest of that name.
    4. Rewarding Player. Which has to be done while calling Status from @pqstatus and OnPCLoginEvent:

     

    Yes Yes I know .. Its taking more than a week. (I am very busy got job and do this in spare time + I am not good at scripting so I need help develop it)

     

    BELOW SCRIPT IS A COMPLETE QUEST

    /************************************************************Player Paid Quest Generator Script Created By: Anticlimax18Helped by: gmOceanVersion: 1.0**************************************************************/prontera,147,168,4	script	QuestMachine	877,{function mobinfo;mes "[Quest Machine]";mes "Your Reward is ^FF0000Cash Shop Points^000000";mes "^FF0000NOTE: REWARD WILL ONLY BE AWARDED ONCE THE QUEST IS COMPLETE BY SOMEONE.^000000";.@option = select("[Post Quest?]:[My Quest Status]");if (.@option == 1) goto PostQuest;goto QuestStatus;PostQuest:	switch(select("New Quest : How it Works?")){	case 1:	.@questcheck = query_sql("SELECT `name` From `paid_quests` where `pub_id`='"+getcharid(3)+"'",@name$);	if(.@questcheck) { next; mes "[Quest Machine]"; mes "Quest Limit Reached. Max 1 Quest"; mes "Last Quest Published "+ @name$; close; }	next;	mes "[Follow 6 Steps]";	mes "1. Type Monster Tag ID";	mes "2. Confirm  Randomize Ammount"; 	mes "3. View Monster Kill Details";	mes "4. Select Drop Pick for Quest";	mes "5. Set Amount for Pick";	mes "6. Proceed and Pay";	next;	input .@id;		//Check Exist	if (getmonsterinfo(.@id,0) == "null"){ mes "[Quest Machine]"; mes "No monsters with that ID tag"; mes "Lets Try again and Read Steps please"; next; goto PostQuest;}		mes mobinfo(.@id);		set .@option,select("Next Monster:Close");		while ( .@option == 1){		mes mobinfo(.@id);		}	close;//For Safety is something goes wrong above.	end;		case 2:	next;	mes "[Quest Machine]";	mes "You can create a Paid quest by follow steps given at the time of creation.";	next;	mes "[Quest Machine]";	mes "Reward is 'Cash Shop Points' [Charged Credit x 2].";	mes "Eg. You where charged 200 Credit. You are rewarded 400 Cash Shop points.";	next;	mes "[Quest Machine]";	mes "Once someone completes your quest You will be rewarded";	next;	mes "[Quest Machine]";	mes "Remember Credits are charged based upon Monster Level";	close;	end;	}end;QuestStatus:mes ".... Type @pqstatus to view status.";close;end;OnPCDieEvent:end;		function mobinfo	{		 .@id = getarg(0);	//Loop While Selected is Randomized Kill Amount		.@lvl =  getmonsterinfo(.@id,1); //get level		if(.@lvl < 20) set .@val,1;		if(.@lvl >= 21 && .@lvl <= 30) set .@val,2;		if(.@lvl >= 31 && .@lvl <= 50) set .@val,4;		if(.@lvl >= 51 && .@lvl <= 60) set .@val,5;		if(.@lvl > 60) set .@val,6;			mes "[Quest Machine]";				mes "Monster Selected : ^ff0000"+getmonsterinfo(.@id,0)+"^000000";		mes "[Amount to Kill Amount] Min 10 | Max 30";		input .@killamt;		if(.@killamt < 10 || .@killamt > 30 || .@killamt == 0 ){		mes "Out of Range. Random Amount in Range Selected.";		 set .@killamt,rand(10,30);		}		//Set Credit charged half of lvl times killamt		set .@charge,(.@lvl * .@killamt)/2;		next;				//Display Info		mes "Monster: ^0000FF"+getmonsterinfo(.@id,0)+"^000000";		mes "Level: ^00ff00"+.@lvl+"^000000";		mes "Kill Amount:["+.@killamt+"]";		mes "Amount Charged: "+.@charge+" Credits";		mes getmonsterinfo(.@id,0) +"x"+ .@killamt;		if(.@lvl < 25) mes "Difficulty: ^00FF00Easy^000000";		if(.@lvl >= 25 && .@lvl <= 50) mes "Difficulty: ^0000FFMiddium^000000";		if(.@lvl >= 51 && .@lvl <= 75) mes "Difficulty: ^FF0000Hard^000000";		if(.@lvl > 75 ) mes "Difficulty: ^FF0000Insane^000000";			next;				mes "[Quest Machine]";		mes "Enter Available Item Pick Up [Min 20,Max 50]:";		if (getmobdrops(getarg(0))){		.@count = $@MobDrop_count;		copyarray .@item[0],$@MobDrop_item[0],.@count;		copyarray .@rate[0],$@MobDrop_rate[0],.@count;		for (.@i = 0; .@i < .@count; ++.@i) {                         //HELP HERE			//Show ONLY Items Drop Rate > 50% in Mes			if(.@rate[.@i] >= 5500) {			mes .@item[.@i] + " (" + getitemname(.@item[.@i]) + ") " + .@rate[.@i]/100 + ((.@rate[.@i]%100 < 10) ? ".0":".") + .@rate[.@i]%100 + "%";			}		}		input .@item;		while( !compare(.@item, getmobdrops(getarg(0)))) mes "Only Input Item Listed";  input .@item;		input .@itm,20,50;	   if(.@itm < 10 || .@itm > 50 || .@itm == 0 ){		mes "Out of Range. Random Amount in Range Selected.";		 set .@itm,rand(10,50);		}		                  .@ChargedCredit = .@itm + .@charge;			mes"Net Amount Charged: "+.@ChargedCredit;			next;  		mes "[Quest Machine]";		mes "Final Step. Name You Quest.";		mes "Min :5 | Max:15 - Characters.";		input .@name$,5,31;		next;					}		mes "[Quest Machine]";		        mes "Quest Name:^00FF00"+.@name$+"^000000";                mes "Total Credit Charged: "+ .@ChargedCredit; 				if (select("Proceed?:CreateAgain") == 2) goto PostQuest;                //Query_SQL (Get credit Balance) 				query_sql("SELECT balance FROM `cp_credits` WHERE `account_id`='"+getcharid(3)+"'",.@CreditAmount);				if(!.@CreditAmount) set .@CreditAmount,0;				if (.@CreditAmount < .@ChargedCredit ) { mes "Sorry You dont have enough credit"; mes"Credit Balance: "+.@CreditAmount;  close;}				//query_sql (Update) 				query_sql("UPDATE `cp_credits` SET `balance` VALUE `balance`='balance-"+.@ChargeCredit+"'");				query_sql("SELECT balance FROM `cp_credits` WHERE `account_id`='"+getcharid(3)+"'",.@NewAmount);				mes "Credits Charged. Credit Blance Remaining: "+.@NewAmount; 				.@reward = .@CreditAmount/2; //Reward is 50% Cash Credit that of Charged Credit.				query_sql("INSERT INTO `paid_quests` (`name`,`pub_id`,`TrackID`,`mob_id`,`item_id`,`tar_kill`,`tar_collect`,`reward`,`time`) VALUE('"+.@name$+"','"+getcharid(3)+"','0','"+.@id+"','"+.@item+"','"+.@killamt+"','"+.@itm+"','"+.@reward+"','"+.today+"')");				mes "Quest Added.";				mes "You Can Check status with @pqstatus";				mes "Thank you for Your Time.";				close;				}//End FunctionOnInit:OnClock0000:	.today = gettimestr("%Y-%m/%d %H:%M:%S",21);//OnEvents Are Set in other Files for Customize purposes. }//Additional Script for Status Display.-	script	atcmd	-1,{OnInit:bindatcmd "pqstatus",strnpcinfo(3)+"::OnPQStatus";OnPQStatus:mes "[Paid Quest Status]";.@progress = query_sql("SELECT `name`,`trackid`,`time` FROM `paid_quests` WHERE pub_id='"+getcharid(3)+"'",.@quest$,.@status,.@date);if (!.@progress) { mes "No Quest Alloted. Only use if you have posted a Quest."; close;}mes "Quest Name: ^00FF00"+.@quest$+"^000000";mes "Status:"+((.@status)?"^0000ffIn Progress^000000":"^ff0000Waiting to be taken^000000");mes "Post Date:"+.@date;close;end;}

     

     

     

    ANY ONE WHO PARTICIPATE IN HELPING WILL GET ITS NAME IN THE CREDITS. 


  5. I guess it's time for me to step in. 

     

    First off, the fact that you created 3 support topics in total regarding the same thing is beyond me. Please don't duplicate your topics. 1 is more than enough.

     

    If people want to charge you to complete the script, they can. Just because we're a free community, doesn't mean individuals need to do things for free. If they want to do things for free, the more the merrier. But you can't expect everyone to do things for free. Welcome to the internet world; or the world in general.

     

    Please keep this topic on topic or it will be closed.

    Please dont go out of topic and I am on the topic

     

     

     

     

    Now can someone elp


  6. It can, sure. I wouldn't recommend doing so though... It's tedious to maintain, as every application or newer versions of your client will expect the System folder to be there. You'll have to do this everytime.

     

    Get a hex editor, look for all the occurrences of the words System/ and System, and replace them with whatever you want (data/). Be very careful not to erase, but rather replace. The amount of characters afterwards must be the same, just add 00 trailing characters.

     

    For example :

    JKUHfNi.gif

    That just might give him more issues to handle.


  7. :excl:Anticlimax18's Lua 2014 :excl:

    Hi guys,


    If you have problem with 2014 Clients lua files.

    Then this is the one which do not give Errors.


    Let me know any issues if you face using them.


    There are lub files which I am using from latest 2014-10 iRO Client


    Somehow the old files where too outdated so I decided to use them and they worked like a charm.

    Lua+System2014.7z


  8. I think you are contradicting yourself... you want to be helped and you are asking for a free support community or wth and then you want to copyright/not post the script you are asking for? so why people would help you?  :huh:

     

     

    You dint get me.

     

    I was saying "IF I were to invest .. "

    not that i want to.. 


  9.  

    dude, seriously, if you are in ragnarok just for money, at least try to spend some of your own hiring a scripter instead of begging for help lol

     

     

    hahah made my day

     

     

    hahaha +1 lol

     

     

    Can we Move on Please?


  10. dude, seriously, if you are in ragnarok just for money, at least try to spend some of your own hiring a scripter instead of begging for help lol

     

     

     

    I am requesting Support  you Idiot.

    And If I invest in it then i may copyright it or sell it and not post here.

    I am not in for money Nor am I begging. Stupid. Are you that stupid?  I am requesting for help. This is Scripting Support.

    You also don't get it right? Players will earn and as well as invest. 

    I am only doing this for the purpose to see if this works.

    So anyone who are here to help are welcome.

     
    I really hate this free community now started taking such people who wants them to be hired.
    eathena , rathena and hercules was made by people who work free. 

    .

×
×
  • Create New...

Important Information

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