Jump to content

Kuya Jeo

Members
  • Content Count

    596
  • Joined

  • Last visited

  • Days Won

    25

Posts posted by Kuya Jeo


  1. Is there a way to change the starting job from Novice to High Novice?

     

    you can try this, test it first, i didn't test it :P

    -	script	Sample Name	FAKE_NPC,{OnPCLoginEvent:	if ( (Class == Job_Novice) && ( BaseLevel == 1 && JobLevel == 1) ) {	jobchange 4001;	end;	}end;}

  2.  

    @@badneko

     

    You can use this updated one: link

     

    I have updated the said plugins to work for latest Hercules revision and added a new feature

    =O

    Can i ask if that runs on eamod ?

    eAmod don't have plugins, you can apply that only for hercules or you can do it manually by putting it in your source

     

    EDIT : Compatible only for Hercules


  3. @@minx123 try to use this

     

    {	Id: 30329	AegisName: "Ultimate_Valkyrja's_Shield"	Name: "Ultimate Valkyrja's Shield"	Type: 5	Buy: 60000	Weight: 1000	Def: 4	Slots: 1	Job: 0xFFFFFFFE	Loc: 32	View: 4	Script: <"		bonus2 bSubEle,Ele_Water,25;		bonus2 bSubEle,Ele_Fire,25;		bonus2 bSubEle,Ele_Dark,25;		bonus2 bSubEle,Ele_Undead,25;		bonus bMdef,15;		bonus bAgi,10;		bonus bLuk,10;		bonus bMaxHPrate,5;		bonus bDef,15;	">},

    i think you forgot to put the view
    view : 4


  4. i use this script

    prontera,162,180,3    script    Soul Linker    719,{  OnLink:switch ( BaseJob ) {    case Job_Alchemist: set .@spirit, 445; break;    case Job_Monk: set .@spirit, 447; break;    case Job_Star_Gladiator: set .@spirit, 448; break;    case Job_Sage: set .@spirit, 449; break;    case Job_Crusader: set .@spirit, 450; break;    case Job_SuperNovice: set .@spirit, 451; break;    case Job_Knight: set .@spirit, 452; break;    case Job_Wizard: set .@spirit, 453; break;    case Job_Priest: set .@spirit, 454; break;    case Job_Bard: case Job_Dancer: set .@spirit, 455; break;    case Job_Rogue: set .@spirit, 456; break;    case Job_Assassin: set .@spirit, 457; break;    case Job_Blacksmith: set .@spirit, 458; break;    case Job_Hunter: set .@spirit, 460; break;    case Job_Soul_Linker: set .@spirit, 461; break;    default:    if ( Upper == 1 && BaseLevel < 70 )        set .@spirit, 494;    break;} if ( .@spirit ) {    sc_start4 SC_SOULLINK, 360000, 5, .@spirit,0,0;    skilleffect .@spirit, 5;} end; OnInit:defpattern 1, "link","OnLink";activatepset 1;end;}

    After soul, the WhiteSmish Job not display "Full Adrenaline Rush" skill and The Clown Job not display skill of Gyps too -> so can't use these skill, please help !

     

    try to use this

    turbo_room,100,130,4	script	Soul Link NPC	865,{switch ( BaseJob ) {    case Job_Alchemist: set .@spirit, 445; break;    case Job_Monk: set .@spirit, 447; break;    case Job_Star_Gladiator: set .@spirit, 448; break;    case Job_Sage: set .@spirit, 449; break;    case Job_Crusader: set .@spirit, 450; break;    case Job_SuperNovice: set .@spirit, 451; break;    case Job_Knight: set .@spirit, 452; break;    case Job_Wizard: set .@spirit, 453; break;    case Job_Priest: set .@spirit, 454; break;    case Job_Bard: case Job_Dancer: set .@spirit, 455; break;    case Job_Rogue: set .@spirit, 456; break;    case Job_Assassin: set .@spirit, 457; break;    case Job_Blacksmith: set .@spirit, 458; break;    case Job_Hunter: set .@spirit, 460; break;    case Job_Soul_Linker: set .@spirit, 461; break;    default:    if ( Upper == 1 && BaseLevel < 70 )        set .@spirit, 494;    break;} if ( .@spirit ) {    sc_start4 SC_SOULLINK, 360000, 5, .@spirit,0,0;    skilleffect .@spirit, 5;}}

  5. @@bnymark oh my bad..

    Folders
    _tmpEmblem
    AI

    AI_backup

    AI_sakray

    BGM

    data

    savedata

    ScreenShot

    System

     

    All the .DLL Files

    All .INF Files

     

    GRFS

    Custom Grfs

    rdata.grf

    data.grf

     

    Other Files

    npkcrypt.sys

    npkcusb.sys

    npkcrypt.vxd

    tipOfTheDay.txt

    supdate.txt

    questID2display.txt

    GuildTip.txt

    vcredist_x86

    Mp3dec.asi
    DATA.INI

     


  6. @@bnymark you have a clean kRO files right?

     

    to make a lite installer the files you need are :

     

    1. customgrfs

    2. Client.exe ( your game client )

    3. Patcher

    4. data.ini ( if you are using it )

    5. setup.exe

    6. System Folder

    7. Data Folder ( if read data first )

    8. BGM Folder ( if you have custom BGM )
    9. dinput.dll


  7.  

    I think this kind of stuff should be given as a quest ...

    so it wont trigger globally

     

    for example, if the player taken a quest, and the player complete it, then give 20 status points

    this method is more practical

     

    Master thanks for the idea,, But im planning on having just up to level 100 renewal server,,

     

    the idea is like just to be able to have max all stats upto 100 also,, but still just level 100,, but dont want to have a quest for it,,

     

    actually,, that script is just like a basis,, but i'll be setting limitation,, like for exampl killing a number of porings can only support you upto 20 luk,, then from 20~40 luk there'll be a different set of monsters to help you improve your stats,,

     

     

     

     

     

    >>OMG, NO,

    you increased poringkill several times in 1 kill, only increase it at start and check conditions....

    Also poringkill is set to 0 if first condition is met, so it won't give any other stat,

    Put poringkill=0 on end of line

    (And last, this is Soo unoptimized, you could use array and make it simpler to manage.)

     
    lockquote>lockquote>

     

    uhm,,

    increasing poringkill several times in 1kill,,

    i dont know if i got that correctly,, you mean like 1 poring kill triggers all the 13 "if"s?? but there's a set paramater each right?? like this:

     

    //	kill 10 monsters gets 1 status point-	script	PoringKill	FAKE_NPC,{OnNPCKillEvent:	if ( readparam(bLuk) < 5 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 10 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	end;}

    would only work if LUK is below 5,,

     

    about the unoptimized,, yes,, i thinks so too,, its actually hard to replicate this for other monsters as its too time consuming,,

     

    so how about this??

     

    //	kill 10 monsters gets 1 status point-	script	PoringKill	FAKE_NPC,{OnNPCKillEvent:	if ( killedrid == PORING ) 	if ( readparam(bLuk) < 5 ) {		poringkill++;		if ( poringkill == 10 ) {			statusup2 bLuk, 1;		}	}	if ( readparam(bLuk) >= 5 && readparam(bLuk) <= 10 ) {		poringkill++;		if ( poringkill == 15 ) {			statusup2 bLuk, 1;		}	}		if ( readparam(bLuk) >= 10 && readparam(bLuk) <= 15 ) {		poringkill++;		if ( poringkill == 25 ) {			statusup2 bLuk, 1;		}	}	if ( readparam(bLuk) >= 15 && readparam(bLuk) <= 20 ){		poringkill++;		if ( poringkill == 40 ) {			statusup2 bLuk, 1;		}	}	if ( readparam(bLuk) >= 20 && readparam(bLuk) <= 25 ) {		poringkill++;		if ( poringkill == 100 ) {			statusup2 bLuk, 1;		}	}		if ( readparam(bLuk) >= 25 && readparam(bLuk) <= 30 ) {		poringkill++;		if ( poringkill == 150 ) {			statusup2 bLuk, 1;		}	}	if ( readparam(bLuk) >= 30 && readparam(bLuk) <= 40 ) {		poringkill++;		if ( poringkill == 200 ) {			statusup2 bLuk, 1;		}	}			poringkill = 0;	end;}

    i dont know if a place the poringkill at the right place,, and if the (killerid = PORING) is also at the right place,,

     

    can someone verify this out please,, thanks,, 

     

    added:

     

    ouch I also quoted out my own reply,, 

     

    I dont know what is the purpose of this, i just fix the Boolean, anyway like @@AnnieRuru said, it much better if you put it on the quest but the same process by killing monster or an item exchange to stats... something like that


  8. Uhm,, can someone please check out a script for me please,,

     

    I started the script from a request from this thread: http://herc.ws/board/topic/11244-help-monster-kill/

     

    well,,

     

    basically this script will give stats (like str, agi, vit, etc),, depending on the number of kills of a certain monster,, but the amount of kills required per monster will increase checking the stat of the player,,

     

    here's the script that i was able to make,,

    //	kill 10 monsters gets 1 status point-	script	PoringKill	FAKE_NPC,{OnNPCKillEvent:	if ( readparam(bLuk) < 5 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 10 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 10 >= 5)	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 15 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 15 >= 10 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 50 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 20 >= 15 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 100 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 30 >= 20 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 150 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 40 >= 30 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 250 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 50 >= 40 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 500 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 60 >= 50 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 1000 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 70 >= 60 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 2500 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 80 >= 70 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 5000 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 90 >= 80 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 10000 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) < 100 >= 90 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 25000 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	end;}

    I started out from poring as my basis for the monster,, but i also was able to make some for fabre, picky, willow, drops, and chonchon,.,,

     

    i placed them here:

     

    npc: npc/custom/monsterkillexp/strmonsters/picky.txtnpc: npc/custom/monsterkillexp/agimonsters/chonchon.txtnpc: npc/custom/monsterkillexp/vitmonsters/fabre.txtnpc: npc/custom/monsterkillexp/intmonsters/willow.txtnpc: npc/custom/monsterkillexp/dexmonsters/drops.txtnpc: npc/custom/monsterkillexp/lukmonsters/poring.txt

    input the code in scripts_custom.conf

     

     

    then when testing,, i summoned each monster out,, but,, it only worked 1 time on each monster after the amount of kill,,

     

    after it gave 1 stat,, it never worked again,,

     

    can someone please check it out,,

     

    and enlighten me,,

     

    test this you forgot to put a Boolean on each if statement

     

    Test this script and check the amount of poring, don't use @reloadscript if you edit the script or else script won't load, restart your server to load the script.

    //	kill 10 monsters gets 1 status point-	script	PoringKill	FAKE_NPC,{OnNPCKillEvent:	if ( readparam(bLuk) < 5 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 5 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) >= 5 && readparam(bLuk) <= 10 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 10 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}		if ( readparam(bLuk) >= 10 && readparam(bLuk) <= 15 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 15 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) >= 15 && readparam(bLuk) <= 20 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 20 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) >= 20 && readparam(bLuk) <= 25 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 25 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}		if ( readparam(bLuk) >= 30 && readparam(bLuk) <= 40 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 40 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}		if ( readparam(bLuk) >= 40 && readparam(bLuk) <= 50 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 50 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) >= 50 && readparam(bLuk) <= 60 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 60 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) >= 60 && readparam(bLuk) <= 70 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 70 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) >= 70 && readparam(bLuk) <= 80 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 80 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) >= 80 && readparam(bLuk) <= 90 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 90 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	if ( readparam(bLuk) >= 90 && readparam(bLuk) <= 99 )	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 100 ) {			statusup2 bLuk, 1;			poringkill = 0;		}	}	end;}

  9. @@humble maybe the easiest way to do it is..

     

    Since there is only 1 ITEM for Top 1 Player then if the top 1 has been down to top 2 then this is my idea.

     

    1. If the former Top 1 Player is OFFLINE ( automatically remove item if he will login in game by using OnPCLoginEvent of course their will be a sql query for that ), then the new TOP 1 player will have the item

     

    2. If the Top 1 Player is ONLINE, npc script will sort out the ladder and remove the item on his inventory, since item cannot be put in STORAGE/CART/MAIL/GSTORAGE


  10. @@cumbe11

    goto src/map/storage.c

    find this and remove those line of codes
     

    	if (!itemdb_canguildstore(item_data, pc_get_group_level(sd)) || item_data->expire_time) {		//Check if item is storable. [Skotlex]		clif->message (sd->fd, msg_sd(sd,264));		return 1;	}

     

    after editing recompile your server

    Note : Item that has a group level can be store in guild storage (like convex mirror) 


  11. Hello Zhao Chow,

     

    Thank you for your reply.

    I wil go try it out thanks keep you updated if it worked or not.

     

    Kind regards

     

    @@JoyRo Test this
     

    prontera,100,100,3	script	Random Item	123,{	mes "[ Random Item Giver ]";	mes "Get Random Item Here";	next;	mes "[ Random Item Giver ]";	mes "Here you go";	setarray .@item_id,505,506,507,508,509,510;	set .@item_count,1;	getitem .@item_id[rand(getarraysize(.@item_id))], .@item_count,1;	close;}

     

    EDIT : you can just put that script when giving the reward or item

     

    Thank you its working! 

    kindly mark as solve so that other members can easily search for this kind of topic they looking for.

×
×
  • Create New...

Important Information

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