Jump to content

Cyro

Members
  • Posts

    1138
  • Joined

  • Last visited

  • Days Won

    30

Everything posted by Cyro

  1. *cutin "<filename>",<position>; This command will display a picture, usually an NPC illustration, also called cutin, for the currently attached client. The position parameter determines the placement of the illustration and takes following values: 0 - bottom left corner 1 - bottom middle 2 - bottom right corner 3 - middle of screen in a movable window with an empty title bar 4 - middle of screen without the window header, but still movable The picture is read from data\texture\유저인터페이스\illust, from both the GRF archive and data folder, and is required to be a bitmap. The file extension .bmp can be omitted. Magenta color (#ff00ff) is considered transparent. There is no limit placed on the size of the illustrations by the client, although loading of large pictures (about 700x700 and larger) causes the client to freeze shortly (lag). Typically the size is about 320x480. New illustrations can be added by just putting the new file into the location above. The client is able to display only one cutin at the same time and each new one will cause the old one to disappear. To delete the currently displayed illustration without displaying a new one, an empty file name and position 255 must be used. // Displays the Comodo Kafra illustration in lower right corner. cutin "kafra_07",2; // Typical way to end a script, which displayed an illustration during a // dialog with a player. mes "See you."; close2; cutin "",255; end;
  2. you mean card monster image? if yes add bmp image in data>texture>À¯ÀúÀÎÅÍÆäÀ̽º >cardbmp (the card size must be 300x400px) enter your custom card ID & Name in these following txt files in your Data folder. idnum2cardillustnametable.txt num2cardillustnametable
  3. Cyro

    Anti BOT

    i think you looking for this one
  4. thats weird, you using PHP or SMTP?
  5. prontera,155,181,5 script Sample#vip 4_F_KAFRA1,{ OnTalk: if ( vip_status(0) ) { mes "You're VIP."; } else { mes "Buy VIP ?"; .@i = select( .vip_day[0] + " Days", .vip_day[1] + " Days", .vip_day[2] + " Days" ) - 1; mes "VIP "+.vip_day[.@i]+" Days"; mes "Cost: "+.vip_cashpoint[.@i]+" or "+.vip_pod[.@i]+"x "+getitemname( .pod_id ); if ( select( "Pay by CashPoint","Pay by "+getitemname( .pod_id ) ) == 1 ) { if ( #CASHPOINTS < .vip_cashpoint[.@i] ) { mes "Not enough cash point. You got only "+#CASHPOINTS; } else { #CASHPOINTS -= .vip_cashpoint[.@i]; vip_time ( .vip_day[.@i] * 1440 ); } } else { if ( countitem( .pod_id ) < .vip_pod[.@i] ) { mes "Not enough "+getitemname( .pod_id )+". You got only "+countitem( .pod_id ); } else { delitem .pod_id,.vip_pod[.@i]; vip_time ( .vip_day[.@i] * 1440 ); } } } close; OnCheck: if (vip_status(0)) { dispbottom "Expire Time : "+vip_status(3); } end; OnInit: .pod_id = 7179; setarray .vip_day,1,7,30; setarray .vip_cashpoint,4000,7000,10000; setarray .vip_pod,1,2,3; bindatcmd("vip", strnpcinfo(3)+"::OnTalk"); bindatcmd("vipstatus", strnpcinfo(3)+"::OnCheck"); end; } this script for 1,7,30 vip subscription, with commands @vip @vipstatus //credits to emistry 2617,auto_trade_voucher,Voucher of autotrade,2,10000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ atcommand "@autotrade"; },{},{} this is autotrade coupon
  6. 1.check spam folder 2. try checking error log, it would be helpful posting error if any
  7. Pretty sure you must edit lua files also, \data\lua files\skillinfo\skilltreeview.lua
  8. you have to manually enter all dbs and npcs and dont use what doesnt match up to the episode you want to use Here is link to check what exactly in that particular version you want to set http://rode.doddlercon.com/db/guide/ep111.html
  9. in groups.conf check item_unconditional: false
  10. because its game master lmao xD, hope your problem solved anyways gm char can bypass this kinda stuff
  11. can you try testing with normal account? i mean without gm sprite maybe
  12. just curious to know you using this item with gm account? is this happening with normal account too?
  13. prontera,155,187,5 script cardcheck 100,{ mes "blah"; next; select "search by input player name/ID", "search by card ID"; if ( @menu == 1 ) { switch ( select ( "Char Name", "Account ID", "Char ID" ) ) { case 1: input .@id$; if ( isloggedin( getcharid( 3, .@id$ ) ) ) { .@cid = getcharid( 0, .@id$ ); .@aid = getcharid( 3, .@id$ ); .@name$ = rid2name( getcharid( 3, .@id$ ) ); } else { if ( !query_sql( "select char_id, account_id, name from `char` where name = '"+ escape_sql( .@id$ ) +"'", .@cid, .@aid, .@name$ ) ) { mes "There is no such Character Name exist"; close; } } break; case 2: input .@id; if ( !( .@nb = query_sql( "select char_id, name, char_num, account_id from `char` where account_id = "+ .@id +" order by char_num asc", .@cid, .@name$, .@gid, .@aid ) ) ) { mes "There is no such Account ID"; close; } for ( .@i = 0; .@i < .@nb; .@i++ ) { mes ( .@gid[.@i] +1 )+". "+ .@cid[.@i] +" "+ .@name$[.@i]; .@menu$ = .@menu$ +( .@gid[.@i] +1 )+". "+ .@cid[.@i]; } next; .@s = select( .@menu$ ) -1; .@cid = .@cid[.@s]; .@aid = .@aid[.@s]; .@name$ = .@name$[.@s]; break; case 3: input .@id; if ( !query_sql( "select char_id, account_id, name from `char` where char_id = "+ .@id, .@cid, .@aid, .@name$ ) ) { mes "There is no such Character ID exist"; close; } } mes "The player ^0000FF"+ .@name$ +"^000000 is "+( ( isloggedin(.@aid) )?"^00FF00Online":"^FF0000Offline" )+"^000000"; if ( isloggedin( .@aid, .@cid ) ) { .@origin = getcharid(3); attachrid .@aid; getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) { if ( compare( .mvpcard_compare$, "#"+ @inventorylist_id[.@i] +"#" ) || compare( .mvpcard_compare$, "#"+ @inventorylist_card1[.@i] +"#" ) || compare( .mvpcard_compare$, "#"+ @inventorylist_card2[.@i] +"#" ) || compare( .mvpcard_compare$, "#"+ @inventorylist_card3[.@i] +"#" ) || compare( .mvpcard_compare$, "#"+ @inventorylist_card4[.@i] +"#" ) ) { .@itemid[.@c] = @inventorylist_id[.@i]; .@amount[.@c] = @inventorylist_amount[.@i]; .@identify[.@c] = @inventorylist_identify[.@i]; .@refine[.@c] = @inventorylist_refine[.@i]; .@broken[.@c] = @inventorylist_attribute[.@i]; .@card1[.@c] = @inventorylist_card1[.@i]; .@card2[.@c] = @inventorylist_card2[.@i]; .@card3[.@c] = @inventorylist_card3[.@i]; .@card4[.@c] = @inventorylist_card4[.@i]; attachrid .@origin; mes @itemname2_info$[0] + callfunc( "getitemname2", .@itemid[.@c], .@identify[.@c], .@refine[.@c], .@broken[.@c], .@card1[.@c], .@card2[.@c], .@card3[.@c], .@card4[.@c] ) +":^000000 "+ .@amount[.@c] +" ea."; attachrid .@aid; .@c++; } } attachrid .@origin; } else { .@nb = query_sql( "select nameid, amount, identify, refine, attribute, card0, card1, card2, card3 from inventory where "+ .query_sql$ +" and char_id = "+ .@cid, .@itemid, .@amount, .@identify, .@refine, .@broken, .@card0, .@card1, .@card2, .@card3 ); for ( .@i = 0; .@i < .@nb; .@i++ ) mes @itemname2_info$[0] + callfunc( "getitemname2", .@itemid[.@i], .@identify[.@i], .@refine[.@i], .@broken[.@i], .@card0[.@i], .@card1[.@i], .@card2[.@i], .@card3[.@i] )+":^000000 "+ .@amount[.@i] +" ea."; } } close; OnInit: query_sql "select dropcardid from mob_db where mexp != 0 and dropcardper = 1", .mvpcard; .mvpcard_size = getarraysize( .mvpcard ); .mvpcard_compare$ = "#"; for ( .@i = 1; .@i < .mvpcard_size; .@i++ ) { .@nameid$ = .@nameid$ +","+ .mvpcard[.@i]; .@card0$ = .@card0$ +","+ .mvpcard[.@i]; .@card1$ = .@card1$ +","+ .mvpcard[.@i]; .@card2$ = .@card2$ +","+ .mvpcard[.@i]; .@card3$ = .@card3$ +","+ .mvpcard[.@i]; .mvpcard_compare$ = .mvpcard_compare$ + .mvpcard[.@i] +"#"; } for ( .@i = 0; .@i < .mvpcard_size; .@i++ ) { } .query_sql$ = "( nameid in ("+ .mvpcard + .@nameid$ +") or card0 in ("+ .mvpcard + .@card0$ +") or card1 in ("+ .mvpcard + .@card1$ +") or card2 in ("+ .mvpcard + .@card2$ +") or card3 in ("+ .mvpcard + .@card3$ +") )"; end; }
  14. - script hourlypoints -1,{ //--Start of the Script OnPCLoginEvent: attachnpctimer ""+strcharinfo(0)+""; initnpctimer; end; OnTimer30000: //Check if Vending (normal or @at) if(checkvending() >= 1) { dispbottom "The hourly badge rewards has stopped because you were vending . Please relog if you wish to start again."; stopnpctimer; end; } OnTimer60000: set @minute, @minute + 1; //Check for 1 Minute if(@minute == 60){ set @minute,0; getitem 7859,1; dispbottom "You received 1 "+getitemname( 7859 )+" by staying ingame for 1 hour."; set @consecutive_hour, @consecutive_hour + 1; } //Check for 12 hours consecutive if(@consecutive_hour == 5) { set @consecutive_hour,0; getitem 7859,5; dispbottom "You received 5 "+getitemname( 7859 )+" by staying ingame for consecutive of 5 hours."; } stopnpctimer; initnpctimer; end; }
  15. this script work for POD to ROK only
  16. prt_in,38,107,7 script Meleis 97,{ set .@coinid,7179; mes "[^0000FFMelies^000000]"; mes "Hi ^ff8800"+strcharinfo(0)+"^000000,"; mes "What can i do for you?"; mes "The Exchange ratio is 10:1"; mes "Your RoK Point: [^ff0000"+#ROK_POINTS+"^000000]"; switch(select("Cancel: coins to RoK points:RoK points to Chaos coins")) { case 1: break; case 2: next; mes "[^0000FFMelies^000000]"; mes "Please input the amount of coins that you want to exchange."; mes "Note: Put ^0000ff0^000000 to exit."; L_inpcoin: input @hcoins; set @hhcoins,@hcoins; if(@hhcoins == 0) { break; } if(countitem(.@coinid) < @hhcoins) { mes "* ^ff0000Please input a valid amount^000000"; mes "(Put ^0000ff0^000000 to exit)."; goto L_inpcoin; } next; delitem .@coinid,@hhcoins; set #ROK_POINTS,#ROK_POINTS+@hhcoins; mes "[^0000FFMeleis^000000]"; mes "You've exchanged (^ff0000"+@hhcoins+"^000000) "+getitemname(.@coinid)+"(s). Total RoK Points: [^0000ff"+#ROK_POINTS+"^000000]"; dispbottom "[Meleis] You've exchanged ("+@hhcoins+") "+getitemname(.@coinid)+"(s). Total RoK Points: ["+#ROK_POINTS+"]"; break; case 3: next; mes "[^0000FFMeleis^000000]"; mes "Please input the amount of RoK that you want to exchange."; mes "Note: Put ^0000ff0^000000 to exit."; L_inpcash: input @hcash; set @hhcash,@hcash; if(@hhcash == 0) { break; } if(#ROK_POINTS < @hhcash) { mes "* ^ff0000Please input a valid amount^000000"; mes "(Put ^0000ff0^000000 to exit)."; goto L_inpcash; } //I know they weight 0 but just in case you change its weight if (!checkweight(.@coinid,@hhcash)) { mes "* ^ff0000You're overweight please store some items.^000000"; dispbottom "[Meleis] You're overweight please store some items."; break; } next; set #ROK_POINTS,#ROK_POINTS - @hhcash; getitem .@coinid,@hhcash; mes "[^0000FFMeleis^000000]"; mes "You've exchanged (^ff0000"+@hhcash+"^000000) RoK Points to "+getitemname(.@coinid)+"(s). Total RoK Points: [^0000ff"+#ROK_POINTS+"^000000]"; dispbottom "[Meleis] You've exchanged ("+@hhcash+") RoK Points to "+getitemname(.@coinid)+"(s). Total RoK Points: ["+#ROK_POINTS+"]"; break; } close; OnInit: waitingroom "RoK Exchanger",0; end; } try this script
  17. You need delete all guilds and guild data in sql tables, if there was guilds before you reduced the max guild members in your server
  18. - script pvp_point -1,{ OnPCKilLEvent: if ( getcharid(3) != killedrid && strcharinfo(3) == "yourmanonamhere" ) { getotem 7227,1; dispbottom "One Tcg card"; } end; }
  19. Cyro

    Ally Mob

    You can use @slaveclone to summon friendly clone, Else you can use mercenary system If you want a monster kill another monster by itself Refer to this link
  20. Cyro

    GM Sprite

    Make new client and patch it
  21. i just tested the script, working good no issues may be u using older version download latest version in tehre
  22. if(checkvending() >= 1) { dispbottom "The hourly rewards has stopped because you were vending . Please relog if you wish to start again."; stopnpctimer; end; } try adding this
  23. add this OnTimer30000: //Check if Vending (normal or @at) if(checkvending() >= 1) { dispbottom "The hourly rewards has stopped because you were vending . Please relog if you wish to start again."; stopnpctimer; end; }
  24. rAthena just update official client version recently, if you are looking for pre-re i suggest you to use 2013 client which is also officially supported by rathena and i dont think we can disable dorem char creation since it is from client side
×
×
  • Create New...