Jump to content

Kuya Jeo

Members
  • Content Count

    596
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by Kuya Jeo

  1. @@MikZ can you make it clear? or make a scenario so that we can understand it
  2. Kuya Jeo

    Bug Npc Soul

    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;}}
  3. @@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
  4. @@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
  5. 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,, 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
  6. @@xlaws27 you can experiment any combination unless it will passed
  7. @@AnnieRuru i think you misunderstood the topic
  8. 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. Thank you its working! kindly mark as solve so that other members can easily search for this kind of topic they looking for.
  12. @@iwarez and @@mrlongshen themes for rAthena are not compatible with Hercules, some of the dbase tables are not the same. if you want to convert the theme from rAthena to Hercules or vise versa kindly send us a message in our facebook page, its free https://facebook.com/plugandplayPH
  13. @@satoshi214 if the fluxcp theme isn't working, then download the default fluxCP and install it on your webhost after installing it get the theme you want and rename ng folder name "default" to anything you want. then upload the theme you want and name it "default". Kindly pm me in our facebook, we have free installation of fluxcp EDIT : to fix this just clear the history of your browser https://facebook.com/plugandplayPH
  14. @@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
  15. Oh what's happening now! i need to get back on the track! hello everyone im back

    1. Rascal4susee

      Rascal4susee

      Yo zhao I'm looking for paid Dev are you interested to work with me?

    2. Kuya Jeo

      Kuya Jeo

      Kindly send me private message or chat me on facebook https://facebook.com/plugandplayPH

  16. wazzup guys!! im back!!

  17. Do i miss alot of things now?

  18. @@crossxxx try to use this one // ----------------------------------- //- shop Cash_Shop -1,512:100arza,180,98,1 script Cash Items#cashnpc 812,{function ShopSettings;function ValidateCost;function CurrencyInfo;function ClearData;function ValueConvert;function ErrorNotice;mes "Each Shop from the Menu may purchase using ^FF0000Different Currency^000000.";mes "^00FF00____________________________^000000";mes "So,Which shop you would like to look at it";next;// Menu Selectionselect("Purchase Now?");ClearData();ShopSettings( @menu );npcshopitem "Cash_Shop",512,100;npcshopdelitem "Cash_Shop",512;for(set .@i,0; .@i < getarraysize( @ItemLists ); set .@i,.@i+1) npcshopadditem "Cash_Shop",@ItemLists[.@i],@ItemCost[.@i];mes "Okay...wait awhile";mes "^00FF00____________________________^000000";CurrencyInfo( @Currency$ );mes "^00FF00____________________________^000000";callshop "Cash_Shop",1;npcshopattach "Cash_Shop";end;function ShopSettings { switch( getarg(0) ){ case 1: // Currency [ Item ID / Variable Name ] set @Currency$,"#CASHPOINTS"; // Item ID Lists setarray @ItemLists[0],505,506,507,508,509,510; // Item Price setarray @ItemCost[0],1,2,3,4,5,6; break; // Case 2,3,4.....etc... default: ErrorNotice( "Invalid Menu Selection for Menu "+@menu+"." ); close; } if( @Currency$ == "" ) ErrorNotice( "Invalid Currency Setting in Menu "+@menu+" ." );if( getarraysize( @ItemCost ) != getarraysize( @ItemLists ) || getarraysize( @ItemLists ) != getarraysize( @ItemCost ) ) ErrorNotice( "Missing or Extra Value of Item or Cost Settings in Menu "+@menu+" ." );return;}function ErrorNotice { mes "^FF0000ERROR^000000 - "+getarg(0); mes "^00FF00____________________________^000000"; mes "Inform this Message to ^0000FFGame Staffs^000000 immediately !"; close;}function CurrencyInfo { if( getitemname( atoi( getarg(0) ) ) != "null" ){ mes "Item Currency : ^FF0000"+getitemname( atoi( getarg(0) ) )+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( countitem( atoi( getarg(0) ) ) )+"^000000"; }else if( getitemname( atoi( getarg(0) ) ) == "null" ){ mes "Variable Currency : ^FF0000"+getarg(0)+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( getd( getarg(0) ) )+"^000000"; }return;}function ValidateCost { if( getitemname( atoi( getarg(0) ) ) != "null" ){ if( countitem( atoi( getarg(0) ) ) < getarg(1) ) return 1; }else{ if( getd( getarg(0) ) < getarg(1) ) return 1; }return 0;}function ClearData { set @Currency$,""; set @TotalCost,0; deletearray @bought_nameid[0],getarraysize( @bought_nameid ); deletearray @bought_quantity[0],getarraysize( @bought_quantity ); deletearray @ItemLists[0],getarraysize( @ItemLists ); deletearray @ItemCost[0],getarraysize( @ItemCost );return;}function ValueConvert { set .@num, atoi(""+getarg(0)); if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0); set .@l, getstrlen(""+.@num); for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) { set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$; if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$; } return .@num$;}OnBuyItem: ShopSettings( @menu ); for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) for(set @j,0; @j < getarraysize( @ItemLists ); set @j,@j+1) if( @ItemLists[@j] == @bought_nameid[@i] ) set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] ); mes "^FF0000 BILLING LIST^000000"; mes "^00FF00____________________________^000000"; for( set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1 ) mes "^FF0000"+@bought_quantity[@i]+" x ^0000FF"+getitemname( @bought_nameid[@i] )+"^000000"; mes "^00FF00____________________________^000000"; if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" x "+getitemname( atoi( @Currency$ ) )+"^000000"; else if( getitemname( atoi( @Currency$ ) ) == "null" ){ mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" "+@Currency$+"^000000"; } mes "^00FF00____________________________^000000"; if( ValidateCost( @Currency$,@TotalCost ) ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+getitemname( atoi( @Currency$ ) )+"^000000"; else{ mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+@Currency$+"^000000"; } }else{ if( select( "^0000FFPurchase^000000:Cancel" ) == 1 ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) delitem atoi( @Currency$ ),@TotalCost; else{ set getd( @Currency$ ),getd( @Currency$ ) - @TotalCost; } for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) getitem @bought_nameid[@i],@bought_quantity[@i]; message strcharinfo(0),"Purchased "+getarraysize( @bought_nameid )+" Items."; mes "Thank you for shopping."; } }ClearData();close;} just change the ITEM NUMBER and the COST of the items
  19. maybe diffing your client is the best solution but ask @@Neo or @@Yommy for this matter
  20. @@snowflake1963 got no problem, im using the latest svn
  21. for the body sprite : dataspriteÀΰ£Á·¸öÅë for the head sprite : dataspriteÀΰ£Á·¸Ó¸®Åë
  22. @@jaiko23 i think those weapon sprites are for lord knight, and check the .act file
  23. @@Angelmelody thank you for the correction, i thought it was included in the pc.h, didn't notice that
×
×
  • Create New...

Important Information

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