-
Posts
2,407 -
Joined
-
Last visited
-
Days Won
49
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Capuche
-
find this word? "pc_bonus" No, search a bonus in your customs items that doesn't exist in this file http://svn.rathena.org/svn/rathena/trunk/doc/item_bonus.txt
-
Try to recompile. ./configure make clean make sql
-
You miss one file : ChatWndInfo_U.lua Put it in your data folder http://trac.assembla.com/pro/browser/client/data/ChatWndInfo_U.lua?rev=14 I believe all the button aren't translated
-
This item script doesn't exist. You should ask in source support. Lod already works with long range attack
-
Help me disable the usage of 2 Thanatos Cards
Capuche replied to Dvrstle's question in Database Requests
doc/script_commands.txt 4399,Thanatos_Card,Memory of Thanatos Card,6,20,,10,,,,,,,,2,,,,,{ if( !isequipped(4399) ) { bonus bAtkRate,-60; bonus bDefRatioAtkRace,RC_Boss; bonus bDefRatioAtkRace,RC_NonBoss; bonus bSPDrainValue,-1; bonus bDef,-30; bonus bFlee,-30; } },{},{} Easy isn't it ? -
My Client(GAME) Stop/Freeze/Stock/ when i try to attack
Capuche replied to harmony1515's question in General Support
Try to disable the sound ? -
Like Emistry wrote in this script if( rand(100) < 50 ) getitem 969,1; Adjust it in your script, it's very easy. Disabled Yggdrasil Berry's effect on the map ? Option 1 : In your db/re/item_db.txt folder replace 607,Yggdrasilberry,Yggdrasil Berry,0,5000,,300,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 100,100; },{},{} by 607,Yggdrasilberry,Yggdrasil Berry,0,5000,,300,,,,,0xFFFFFFFF,7,2,,,,,,{ if( strcharinfo(3) != "guild_vs5" ) percentheal 100,100; },{},{} Option 2 : You have got all the informations in this link http://rathena.org/wiki/Mapflag#restricted.txt replace //-- Trigger auto event OnMinute16: announce "Gold Room : I will open my door in One ( 1 ) minute! Head your way to Crystilia 85 , 90.",0; sleep 1000 * .willopenin; //-- Gold room open hideoffnpc "Gold Room"; announce "Gold Room is open ! You have one minute to enter ! Only 8 player are allowed to enter !",0; sleep 1000 * .timeenter; //-- Gold room closed hideonnpc "Gold Room"; announce "Gold Room is close !",0; //-- 10 minutes before players will be warp initnpctimer; while( getmapusers( .Map$ ) ) { delwaitingroom; waitingroom "Countdown "+( 60 - ( getnpctimer(0) / 1000 ) )+" Seconds",0; sleep 1000; } delwaitingroom; end; OnTimer60000: mapannounce .Map$,"Time's Up !! You will be warped out right now..",0; mapwarp .Map$,"prontera",70,71; stopnpctimer; end; by //-- Trigger auto event OnMinute16: announce "Gold Room : I will open my door in One ( 1 ) minute! Head your way to Crystilia 85 , 90.",0; sleep 1000 * .willopenin; //-- Gold room open hideoffnpc "Gold Room"; announce "Gold Room : It is now open ! You have one minute to enter, Only 8 players are allowed to join !",0; //-- 1 minutes before players will be warp initnpctimer; while( 60 - ( getnpctimer(0) / 1000 ) > 0 ) { delwaitingroom; waitingroom "Countdown "+( 60 - ( getnpctimer(0) / 1000 ) )+" Seconds",0; sleep 100; } delwaitingroom; mapannounce .Map$,"Time's Up !! You will be warped out right now..",0; mapwarp .Map$,"prontera",70,71; stopnpctimer; //-- Gold room closed hideonnpc "Gold Room"; announce "Gold Room is now closed !",0; end; Your request will never finish XD
-
Possible Sample prontera,160,150,5 script ghjkl 456,{ mes "For a Poring hat, you need :"; mes "- 5 Cashpoints"; mes "- 5 TCG card."; next; if( select( "I want this hat !", "Leave." ) -1 ) { mes "See you soon !"; close; } //-- check items if( countitem( 7227 ) < 5 || #CASHPOINTS < 5 ) { mes "Sorry you don't have all the items."; close; } mes "Here for you !"; delitem 7227, 5; #CASHPOINTS -= 5; dispbottom "Lost : 5 Cashpoints. Total : "+#CASHPOINTS+" Cashpoints."; getitem 5035, 1; close; }
-
Post your whole script or a script with your real conditional statements
-
Crystilia,63,73,5 script Armor Echant 100,{ mes "[^0000FFArmor Enchant^000000]"; mes "Do you want to Enchat your ^0000FFArmor^000000?"; if ( .item ) mes "You will need "+ .ask$; next; if ( select ( "Yes", "No" ) == 2 ) close; if ( !getequipisequiped( EQI_ARMOR ) ) { mes "You dont have any ^0000FFArmor^000000 that is being equipped."; close; } [email protected] = getequipid( EQI_ARMOR ); [email protected] = getequiprefinerycnt( EQI_ARMOR ); [email protected] = getequipcardid( EQI_ARMOR, 0 ); [email protected] = getequipcardid( EQI_ARMOR, 1 ); [email protected] = getequipcardid( EQI_ARMOR, 2 ); [email protected] = getequipcardid( EQI_ARMOR, 3 ); if ( [email protected] == 255 || [email protected] == 254 ) { mes "[^0000FFArmor Enchant^000000]"; mes "I can't enchant a signed equipment."; close; } if ( [email protected] ) { mes "[^0000FFArmor Enchant^000000]"; mes "Sorry, this ^0000FFArmor^000000 has already been enchanted."; close; } if ( .item ) { for ( [email protected] = 0; [email protected] < getarraysize( .item ); [email protected] += 2 ) if ( countitem( .item[[email protected]] ) < .item[[email protected]+1] ) { mes "[^0000FFArmor Enchant^000000]"; mes "You need "+ (.item[[email protected]+1] - countitem( .item[[email protected]] )) + " " + getitemname( .item[[email protected]] ) + " to process."; close; } for ( [email protected] = 0; [email protected] < getarraysize( .item ); [email protected] += 2 ) delitem .item[[email protected]], .item[[email protected]+1]; } [email protected] = rand(.totalchance); while ( ( [email protected] = [email protected] - .rate[[email protected]] ) >= 0 ) [email protected]++; [email protected] = rand(0,5); // orb of str/int/dex .... delitem2 [email protected], 1,1, [email protected], 0, [email protected], [email protected], [email protected], 0; getitem2 [email protected], 1,1, [email protected], 0, [email protected], [email protected], [email protected], 4700 + [email protected] * 10 + [email protected]; equip [email protected]; close; OnInit: setarray .rate, 55,50,45; // rate of getting +1 is 55%, +2 is 50% .... +10 is 10% ... while ( [email protected] < 10 ) { .totalchance = .totalchance + .rate[[email protected]]; [email protected]++; } setarray .item, 7227, 10; // ID / number of items while ( [email protected] < getarraysize( .item ) ) { .ask$ = .ask$ + .item[[email protected]+1] + " " + getitemname( .item[[email protected]] ) + ( [email protected]+2 > getarraysize( .item ) ? ",":"." ); [email protected] += 2; } end; } Sorry i don't get it. In this script, once the armor is enchanted you can't re-enchant it. You want multi-enchant ? another try to enchant ?
-
http://rathena.org/wiki/Mapflag#nomobloot yourmap<tab>mapflag<tab>nomobloot
-
prontera,155,155,4 script Converter 83,{ [email protected]$ ="[^FF0000Converter^000000]"; mes [email protected]$; mes "Hello, 10 cashpoints is equals to 1 TCG."; mes "What would you like to do?"; next; switch( select("Cash to TCG","TCG to Cash") ) { case 1: mes [email protected]$; mes "How many TCG(s) do you want?"; input [email protected]; next; if( [email protected] <= 0 || #CASHPOINTS < [email protected] * 10 ) { mes [email protected]$; mes "Sorry, you don't have enough cashpoints!"; close; } mes [email protected]$; mes "This will cost ^FF0000" +([email protected] * 10)+ " cashpoints^000000."; next; if( select("Proceed:Nevermind") -1 ) { mes [email protected]$; mes "Goodbye!"; close; } set #CASHPOINTS, #CASHPOINTS - [email protected] * 10; dispbottom "Lost: " +([email protected] * 10)+ " cashpoints. Total: " +#CASHPOINTS+" cashpoints."; getitem 7227, [email protected]; break; case 2: mes [email protected]$; mes "How many TCG(s) will you give?"; input [email protected]; next; if( [email protected] <= 0 || countitem(7227) < [email protected] ) { mes [email protected]$; mes "Sorry, you don't have enough TCG!"; close; } mes [email protected]$; mes "I can give you ^FF0000" +([email protected] * 10)+ " cashpoints^000000 for this."; next; if( select("Proceed:Nevermind") -1 ) { mes [email protected]$; mes "Goodbye!"; close; } set #CASHPOINTS, #CASHPOINTS + [email protected] * 10; dispbottom "Gained: " +([email protected] * 10)+ " cashpoints. Total: " +#CASHPOINTS+" cashpoints."; delitem 7227,[email protected]; } close; }
-
prontera,156,175,3 script LMS Manager 106,{ if(getcharid(1)) { //reject mes "[LMS Manager]"; mes "YOU ARE IN A PARTY YOU ARE NOT ALLOWED TO JOIN."; close; } mes "[LMS Manager]"; mes "Hello What can I do for you?"; next; menu "Register",-,"What is LMS?",what,"Leave",leave; next; mes "[LMS Manager]"; mes "Thank you for registering Mr. " + strcharinfo(0) + ", Have fun!"; close2; npctalk ""+strcharinfo(0)+" has registered for the Last Man Standing."; ...
-
replace mes "What would you like to do? to mes "What would you like to do?"; And mes "Sorry, you don't have enough cashpoints! to mes "Sorry, you don't have enough cashpoints!";
-
that ? mes "Ok, stopping now"; close;
-
Nice idea, to search the treasure and to find the password is a good idea. Something like a triathlon virtual (miss one) lol
-
I'm too late nvm However it seems you forgot an end; after this dispbottom else { dispbottom "Sorry, but you do not have permission to access this feature."; } Thanks for sharing
-
possible XD !
-
Like you ask for + 10 minutes after enter, player will warp out. Crystilia,63,78,5 script Gold Room 757,{ if( getmapusers( .Map$ ) > 7 ) npctalk "You cant go in right now. There are already 8 peoples inside."; else { announce "["+strcharinfo(0)+"] entered Gold Room. "+(7-getmapusers( .Map$ ))+" place left.",0; warp .Map$,0,0; } end; //-- Trigger auto event OnMinute09: announce "Gold Room will open his door in one minute !",0; sleep 1000 * .willopenin; //-- Gold room open hideoffnpc "Gold Room"; announce "Gold Room is open ! You have one minute to enter ! Only 8 player are allowed to enter !",0; sleep 1000 * .timeenter; //-- Gold room closed hideonnpc "Gold Room"; announce "Gold Room is close !",0; //-- 10 minutes before players will be warp initnpctimer; while( getmapusers( .Map$ ) ) { delwaitingroom; waitingroom "Countdown "+( 600 - ( getnpctimer(0) / 1000 ) )+" Seconds",0; sleep 1000; } delwaitingroom; end; OnTimer600000: mapannounce .Map$,"Time's Up !! You will be warped out right now..",0; mapwarp .Map$,"Crystilia",70,71; stopnpctimer; end; OnMobKill: getitem 969,1; monster .Map$,0,0,"Gold",1369,1,strnpcinfo(0)+"::OnMobKill"; end; OnInit: //-- Gold Room will open his door in XX - in seconds -- 60 seconds = 1 minute x.x .willopenin = 60; //-- Time to enter (secondes) before hide the NPC .timeenter = 60; //-- hideonnpc "Gold Room"; set .Map$,"guild_vs5"; monster .Map$,0,0,"Gold",1369,100,strnpcinfo(0)+"::OnMobKill"; end; }
-
Example : L8: if( agitcheck() == 0 ) { mes "[ ^8B0000Buffer^000000 ]"; mes "Welche Waffenverzauberung möchtest du?"; set [email protected], select("Feuer Waffe:Eis Waffe:Blitz Waffe:Erd Waffe:Holy Waffe")-1; if ([email protected]<7) { setarray [email protected][0],96,97,98,99,37; sc_start [email protected][[email protected]],7600000,5; } } else mes "While WoE you can't use Full or Weapon Buff"; close;
-
Use search function ! Example : Pvp ladder
-
I was sure (on the moment) @inventorylist_equip would return a boolean value It's more rational now btw this commands lack a bit of precision, don't you think ? (personally, i should test to know which value they return X.X)
-
It works for me Check your tab dicastes01,266,158,4<tab>script<tab>Party Battle Recruiter<tab>954,{ -<tab>script<tab>pvp4vs4#1<tab>-1,{ or post a screenshot of your mapserv if you have an error. PS. http://rathena.org/board/forum-32/announcement-3-codeboxes/
-
Your cp votes doesn't add up credits by account... I think it would resolve your current problem if it would do it. You're wrong >.< The NPC gets the first value in your database Other option : First at all, what is the purpose of banner_id ? if you don't use it, I propose to update this function : // FUNCTIONS function getPoints { set [email protected]_id,getarg(0); set [email protected], query_sql ("SELECT `credits`,`id` FROM `cp_votes` WHERE account_id="[email protected]_id+" LIMIT 100",[email protected],[email protected]); //-- if multi banner_id if( [email protected] > 1 ) { //-- adding all points in one variable for( set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] + 1 ) set [email protected], [email protected] + [email protected][[email protected]]; //-- delete and create 1 row for 1 account containing all points query_sql("DELETE FROM `cp_votes` WHERE account_id="[email protected]_id+" AND id!="[email protected][0]+""); query_sql("UPDATE `cp_votes` SET credits="[email protected]+" WHERE account_id="[email protected]_id+" AND id="[email protected][0]+""); set [email protected], [email protected]; } return [email protected]; } It delete and create 1 row for 1 account containing all points
-
Non-dynamic : It will do nothing so you don't need to refresh/delete/recreate it source : script_commands.txt A little more dynamic : prontera,150,160,5 script hyuhgfikol 456,{ initnpctimer; end; OnTimer20: do { delwaitingroom strnpcinfo(0); //-- Time - per seconds waitingroom "Time = "+gettime(1), 0; [email protected]++; sleep 995; } while ( [email protected] < 10 ); stopnpctimer; delwaitingroom strnpcinfo(0); end; } Create a chatroom which display the time (seconds) between 10 seconds