Jump to content

Capuche

Developer
  • Posts

    2407
  • Joined

  • Last visited

  • Days Won

    52

Everything posted by Capuche

  1. Try to recompile. ./configure make clean make sql
  2. 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
  3. This item script doesn't exist. You should ask in source support. Lod already works with long range attack
  4. 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 ?
  5. Capuche

    GoldRoom

    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
  6. 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; }
  7. Post your whole script or a script with your real conditional statements
  8. 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; } .@id = getequipid( EQI_ARMOR ); .@ref = getequiprefinerycnt( EQI_ARMOR ); .@card1 = getequipcardid( EQI_ARMOR, 0 ); .@card2 = getequipcardid( EQI_ARMOR, 1 ); .@card3 = getequipcardid( EQI_ARMOR, 2 ); .@card4 = getequipcardid( EQI_ARMOR, 3 ); if ( .@card1 == 255 || .@card1 == 254 ) { mes "[^0000FFArmor Enchant^000000]"; mes "I can't enchant a signed equipment."; close; } if ( .@card4 ) { mes "[^0000FFArmor Enchant^000000]"; mes "Sorry, this ^0000FFArmor^000000 has already been enchanted."; close; } if ( .item ) { for ( .@j = 0; .@j < getarraysize( .item ); .@j += 2 ) if ( countitem( .item[.@j] ) < .item[.@j+1] ) { mes "[^0000FFArmor Enchant^000000]"; mes "You need "+ (.item[.@j+1] - countitem( .item[.@j] )) + " " + getitemname( .item[.@j] ) + " to process."; close; } for ( .@j = 0; .@j < getarraysize( .item ); .@j += 2 ) delitem .item[.@j], .item[.@j+1]; } .@rand = rand(.totalchance); while ( ( .@rand = .@rand - .rate[.@r] ) >= 0 ) .@r++; .@o = rand(0,5); // orb of str/int/dex .... delitem2 .@id, 1,1, .@ref, 0, .@card1, .@card2, .@card3, 0; getitem2 .@id, 1,1, .@ref, 0, .@card1, .@card2, .@card3, 4700 + .@o * 10 + .@r; equip .@id; close; OnInit: setarray .rate, 55,50,45; // rate of getting +1 is 55%, +2 is 50% .... +10 is 10% ... while ( .@i < 10 ) { .totalchance = .totalchance + .rate[.@i]; .@i++; } setarray .item, 7227, 10; // ID / number of items while ( .@j < getarraysize( .item ) ) { .ask$ = .ask$ + .item[.@j+1] + " " + getitemname( .item[.@j] ) + ( .@j+2 > getarraysize( .item ) ? ",":"." ); .@j += 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 ?
  9. Capuche

    GoldRoom

    http://rathena.org/wiki/Mapflag#nomobloot yourmap<tab>mapflag<tab>nomobloot
  10. prontera,155,155,4 script Converter 83,{ .@name$ ="[^FF0000Converter^000000]"; mes .@name$; 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 .@name$; mes "How many TCG(s) do you want?"; input .@num; next; if( .@num <= 0 || #CASHPOINTS < .@num * 10 ) { mes .@name$; mes "Sorry, you don't have enough cashpoints!"; close; } mes .@name$; mes "This will cost ^FF0000" +(.@num * 10)+ " cashpoints^000000."; next; if( select("Proceed:Nevermind") -1 ) { mes .@name$; mes "Goodbye!"; close; } set #CASHPOINTS, #CASHPOINTS - .@num * 10; dispbottom "Lost: " +(.@num * 10)+ " cashpoints. Total: " +#CASHPOINTS+" cashpoints."; getitem 7227, .@num; break; case 2: mes .@name$; mes "How many TCG(s) will you give?"; input .@num; next; if( .@num <= 0 || countitem(7227) < .@num ) { mes .@name$; mes "Sorry, you don't have enough TCG!"; close; } mes .@name$; mes "I can give you ^FF0000" +(.@num * 10)+ " cashpoints^000000 for this."; next; if( select("Proceed:Nevermind") -1 ) { mes .@name$; mes "Goodbye!"; close; } set #CASHPOINTS, #CASHPOINTS + .@num * 10; dispbottom "Gained: " +(.@num * 10)+ " cashpoints. Total: " +#CASHPOINTS+" cashpoints."; delitem 7227,.@num; } close; }
  11. 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."; ...
  12. 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!";
  13. that ? mes "Ok, stopping now"; close;
  14. Nice idea, to search the treasure and to find the password is a good idea. Something like a triathlon virtual (miss one) lol
  15. 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
  16. Capuche

    GoldRoom

    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; }
  17. Example : L8: if( agitcheck() == 0 ) { mes "[ ^8B0000Buffer^000000 ]"; mes "Welche Waffenverzauberung möchtest du?"; set .@i, select("Feuer Waffe:Eis Waffe:Blitz Waffe:Erd Waffe:Holy Waffe")-1; if (.@i<7) { setarray .@SC[0],96,97,98,99,37; sc_start .@SC[.@i],7600000,5; } } else mes "While WoE you can't use Full or Weapon Buff"; close;
  18. Use search function ! Example : Pvp ladder
  19. 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)
  20. 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/
  21. 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 .@account_id,getarg(0); set .@nb, query_sql ("SELECT `credits`,`id` FROM `cp_votes` WHERE account_id="+.@account_id+" LIMIT 100",.@points,.@id); //-- if multi banner_id if( .@nb > 1 ) { //-- adding all points in one variable for( set .@i, 0; .@i < .@nb; set .@i, .@i + 1 ) set .@p, .@p + .@points[.@i]; //-- delete and create 1 row for 1 account containing all points query_sql("DELETE FROM `cp_votes` WHERE account_id="+.@account_id+" AND id!="+.@id[0]+""); query_sql("UPDATE `cp_votes` SET credits="+.@p+" WHERE account_id="+.@account_id+" AND id="+.@id[0]+""); set .@points, .@p; } return .@points; } It delete and create 1 row for 1 account containing all points
  22. 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; .@XX++; sleep 995; } while ( .@XX < 10 ); stopnpctimer; delwaitingroom strnpcinfo(0); end; } Create a chatroom which display the time (seconds) between 10 seconds
  23. Simple NPC prontera,150,155,5 script hyuikol 456,{ //-- ID coupon .@ID = 30004; //- mes "^770000~~ Thana Warper ~~^000000"; mes "I can warp you inside Thanatos Tower !"; mes "Shall we go ?"; next; if( select( "Yes:No" ) -1 ) { //-- Leave mes "^770000~~ Thana Warper ~~^000000"; mes "Maybe another day ?"; close; } //-- Check inventory if( countitem( .@ID ) < 1 ) { mes "^770000~~ Thana Warper ~~^000000"; mes "Sorry a ^CC00CC"+getitemname( .@ID )+"^000000 is required for the process."; close; } close2; message strcharinfo(0),"Here we go ! Get ready..."; delitem .@ID, 1; //-- 2 seconds delay before warp sleep2 2000; warp "thana_boss",0,0; end; }
×
×
  • Create New...