Jump to content

trizzy

Members
  • Posts

    92
  • Joined

  • Last visited

Everything posted by trizzy

  1. check /root/trunk/npc/mapflag/nowarpto.txt /root/trunk/npc/mapflag/nowarp.txt and delete the mapflag
  2. Find 4359,B_Eremes_Card,Assassin Cross Card,6,20,,10,,,,,,,,4,,,,,{ skill "AS_CLOAKING",3; },{},{ sc_end SC_CLOAKING; } and replace 4359,B_Eremes_Card,Assassin Cross Card,6,20,,10,,,,,,,,2,,,,,{ skill "AS_CLOAKING",3; },{},{ sc_end SC_CLOAKING; } or find 4359,B_Eremes_Card,Assassin Cross Card,6,20,,10,,,,,,,,4,,,,,{ skill "AS_CLOAKING",3; },{},{ sc_end SC_CLOAKING; } change the number 4 into 2 Don't forget to @reloaditemdb otherwise it will not take effect. About Kiel i don't understand sorry. do you want to put 3 kiel cards on 1 headgear?
  3. As the title said, how to disable /stat+ example: /str+ 99 on player? and enable @stat example: @str 99 on player is there any solution on this? Thanks in advance! i don't know how to edit anyone please? even bind command would be help. ACMD_DEF2("str", param), ACMD_DEF2("agi", param), ACMD_DEF2("vit", param), ACMD_DEF2("int", param), ACMD_DEF2("dex", param), ACMD_DEF2("luk", param), /*========================================== * *------------------------------------------*/ ACMD_FUNC(param) { uint8 i; int value = 0; const char* param[] = { "str", "agi", "vit", "int", "dex", "luk" }; short new_value, *status[6], max_status[6]; //we don't use direct initialization because it isn't part of the c standard. nullpo_retr(-1, sd); memset(atcmd_output, '\0', sizeof(atcmd_output)); if (!message || !*message || sscanf(message, "%d", &value) < 1 || value == 0) { clif_displaymessage(fd, msg_txt(sd,1013)); // Please enter a valid value (usage: @str/@agi/@vit/@int/@dex/@luk <+/-adjustment>). return -1; } ARR_FIND( 0, ARRAYLENGTH(param), i, strcmpi(command+1, param[i]) == 0 ); if( i == ARRAYLENGTH(param) || i > MAX_STATUS_TYPE) { // normally impossible... clif_displaymessage(fd, msg_txt(sd,1013)); // Please enter a valid value (usage: @str/@agi/@vit/@int/@dex/@luk <+/-adjustment>). return -1; } status[0] = &sd->status.str; status[1] = &sd->status.agi; status[2] = &sd->status.vit; status[3] = &sd->status.int_; status[4] = &sd->status.dex; status[5] = &sd->status.luk; if( pc_has_permission(sd, PC_PERM_BYPASS_MAX_STAT) ) max_status[0] = max_status[1] = max_status[2] = max_status[3] = max_status[4] = max_status[5] = SHRT_MAX; else { max_status[0] = pc_maxparameter(sd,PARAM_STR); max_status[1] = pc_maxparameter(sd,PARAM_AGI); max_status[2] = pc_maxparameter(sd,PARAM_VIT); max_status[3] = pc_maxparameter(sd,PARAM_INT); max_status[4] = pc_maxparameter(sd,PARAM_DEX); max_status[5] = pc_maxparameter(sd,PARAM_LUK); } if(value > 0 && *status[i] + value >= max_status[i]) new_value = max_status[i]; else if(value < 0 && *status[i] <= -value) new_value = 1; else new_value = *status[i] + value; if (new_value != *status[i]) { *status[i] = new_value; clif_updatestatus(sd, SP_STR + i); clif_updatestatus(sd, SP_USTR + i); status_calc_pc(sd, SCO_FORCE); clif_displaymessage(fd, msg_txt(sd,42)); // Stat changed. } else { if (value < 0) clif_displaymessage(fd, msg_txt(sd,41)); // Unable to decrease the number/value. else clif_displaymessage(fd, msg_txt(sd,149)); // Unable to increase the number/value. return -1; } return 0; }
  4. Now i'm having problem with this sql script when i restart my server all the mvp logs are gone. and in the top 10 list only it doesn't show the right ladder. if someone can add this script like check my stats and resest mvp ladder this is much better for me. prontera,139,159,6 script MvP Rank 411,{ query_sql( "SELECT `name`,`Count` FROM `E-MVPRank` ORDER BY `Count` DESC LIMIT 10",.@Name$,.@Count ); if( getarraysize( .@Name$ ) ){ for( set .@i,0; .@i < getarraysize( .@Name$ ); set .@i,.@i + 1 ) mes "[ "+( .@i + 1 )+". ] "+.@Name$[.@i]+" - "+.@Count[.@i]+" ^ff0000Killed^000000 MVP."; }else{ mes "No Record Found."; } OnInit: delwaitingroom; waitingroom "Top 10 MVP Rank",0; end; close; OnNPCKillEvent: if( getmonsterinfo( killedrid,MOB_MVPEXP ) ) query_sql( "INSERT INTO `E-MVPRank` SET `char_id`='"+getcharid(0)+"',`name`='"+strcharinfo(0)+"',`Count`='1' ON DUPLICATE KEY UPDATE `Count`=`Count`+1" ); end; }
  5. going to try now. thanks btw i'll be right back
  6. Hello, i'm having problem in prt_in, whenever i warp my character in any prt_in maps my client it crashes immediately. and i don't know why, i don't see any error on my SVN.
  7. I tried the script and it works perfect smooth. this what i'm looking for, well i saw this script somewhere but without the SQL. BTW Thank you so much~
  8. Can someone add a simple menu on this script? Menu 1. Check TOP 10 MVP ranking. [ it shows here the Top 1-10 names ] 2. Check my rank [ it shows here how many mvp have you kill. ] 3. nothing just passing by. and if possible to add also reset ranking. thanks in advance. Original Topic https://rathena.org/board/topic/66423-mvp-rank/
  9. Hi i just found this somewhere. How can i add message on screen? example: Your character is spamming packets too fast? then in 3 seconds character will be disconnected? but is much better if it's like announce for all map like announce ""+ strcharinfo(0) +" is spamming packets too fast. , bc_all, 0x00FFFF; anyone? ====================Index: src/common/socket.c========================= uint32 max_packet_spam = 20; { if( !session[fd]->flag.server && session[fd]->packet_counter > max_packet_spam) { ShowWarning("Client %s is spamming packets too fast!\n", ip2str(session[fd]->client_addr, NULL)); //set_eof(fd); // } session[fd]->packet_counter = 0; session[fd]->last_reset = last_tick; } session[fd]->packet_counter++; return 0; } =================Index: src/common/socket.h========================= SendFunc func_send; ParseFunc func_parse; // packet flood detection uint32 packet_counter; // counts received packets per iteration time_t last_reset; // time when the counter was last reset void* session_data; // stores application-specific data related to the session };
  10. As the title said, i'm looking for a script that you can change your current job into transcendent class! example: my current job is assassin cross NPC how can i help you? next; would you like to change your current job? menu High Wizard High Priest etc etc etc .. Thanks.
  11. check here. http://guides.pony-vps.com/discussion/14/guide-how-to-change-max-base-level
  12. where to put this script ? i want it in inventory ! this npc wont work i used all command all/map but when i use all nothing happen and when i use map i got this massage bellow thanks i just tried the script, the all one is working fine with me but when i try also to put prontera#969#10, i received message the same like yours. Dude i get it now. you don't need to put map name example map#969#10 it will give gold in your current map! The Script is Working Fine. npc:itemall in whisper box and on chat box map#<item ID>#<amount> [ Current Map ] note you don't need to write izlude#969#10 it's default. npc:itemall in whisper box and on chat box all#<item ID>#<amount> [ All Maps ]
  13. I'm on it! be patient. There you go, just edit this part to add your restriction job and pvp map. if (class == 4049 || class == 25) {mes "[PvP Warper]"; mes "Only Transcendents are allowed here"; close;} warp "guild_vs2",0,0; it means soul linker and ninja are prohibited on Trans pvp. i also add count user on menu is much better. pvp_warper.txt
  14. Try this, it's similar for what you looking for. https://rathena.org/board/files/file/2505-limited-items/
  15. //===== eAthena Script ============================================ //= #itemall //===== By: ======================================================= //= Originally by goddameit //= redo by ~AnnieRuru~ //===== Current Version: ========================================== //= 1.0 //===== Compatible With: ========================================== //= eAthena 14910 Trunk TXT/SQL //===== Description: ============================================== //= give items to all players in the map, or on the server //===== Topic ===================================================== //= http://www.eathena.ws/board/index.php?showtopic=276326 //===== Additional Comments: ====================================== //= topic splitted //================================================================= - script itemall -1,{ OnWhisperGlobal: if ( getgmlevel() < 89 ) end; // configure minimum GM level here if ( compare( @whispervar0$, "map" ) ) set .@map$, strcharinfo(3); else if ( compare( @whispervar0$, "all" ) == 0 ) { dispbottom "[itemall] Please enter \"map#<item id>#<item amount>\" or \"all#<item id>#<item amount>\""; end; } set .@itemid, atoi( @whispervar1$ ); set .@amount, atoi( @whispervar2$ ); if ( getiteminfo( .@itemid, 0 ) == -1 ) { dispbottom "[itemall] Invalid item ID"; end; } if ( .@amount == 0 ) set .@amount, 1; set .@origin$, strcharinfo(0); while ( .@i < $online_count ) { attachrid getd("$online_aid"+ .@i ); if ( .@map$ == "" || strcharinfo(3) == .@map$ ) { message strcharinfo(0), .@origin$ +" gives all players online in this map "+ .@amount +" "+ getitemname(.@itemid); getitem .@itemid, .@amount; } set .@i, .@i +1; } end; OnPCLoginEvent: setd "$online_aid"+ $online_count, getcharid(3); set $online_count, $online_count +1; end; OnPCLogoutEvent: while ( .@i < $online_count && getd("$online_aid"+ .@i ) != getcharid(3) ) set .@i, .@i +1; if ( $online_count == .@i ) end; // prevent @loadnpc/@reloadscript bug becos not in the array while ( .@i < $online_count ) { setd "$online_aid"+ .@i, getd("$online_aid"+ ( .@i +1 ) ); set .@i, .@i +1; } set $online_count, $online_count -1; end; OnInit: if ( getusers(1) ) end; while ( .@i < $online_count ) { setd "$online_aid"+ .@i, 0; set .@i, .@i +1; } set $online_count, 0; end; } Try this! how to use? here: map#<item ID>#<amount> if you want to give prices on your current map all#<item ID>#<amount> if you want to give prices on all of your players example: prontera#969#50 all players in prontera will receive 50x Gold
  16. ACMD_FUNC(broadcast) { nullpo_retr(-1, sd); memset(atcmd_output, '\0', sizeof(atcmd_output)); if (!message || !*message) { clif_displaymessage(fd, msg_txt(sd,1149)); // Please enter a message (usage: @broadcast <message>). return -1; } sprintf(atcmd_output, "%s: %s", sd->status.name, message); intif_broadcast(atcmd_output, strlen(atcmd_output) + 1, BC_DEFAULT); return 0; } Anyone knows how? thanks.
  17. Can someone fix this script? there's only 2 problem in this script. 1st. it keep charging me after i used @warp. 2nd. @warp is not working. - script atcmd_sample_inject -1,{ OnInit: bindatcmd("warp", "atcmd_sample_inject::OnAtCmd"); end; OnAtCmd: if(Zeny >= 1000) { set Zeny, Zeny - 1000; useatcmd "@warp " + .@atcmd_parameters$[0] + " " + .@atcmd_parameters$[1] + " " + .@atcmd_parameters$[2]; } else { dispbottom "Sorry... you need at least 1000z to use this service"; } end; }
  18. trizzy

    Stalker NPC.

    i tried but is not working, nevermind i will the capuche script. Thanks alot. Closed Topic.
  19. trizzy

    Stalker NPC.

    Sorry for late reply, i almost forgot this topic, @emi so what should id should i put? i tried the script on 2012 client that i posted on top of the topic and i don't get any error. but in my 2013 client it gives me error. here's what i get on your script [Error] script:op_2: invalid data for operator C_LAND [Debug]: Data: number value=0 [Debug]: Data: string value="14" [Debug]: Source (NPC): Stalker at prontera (155,180) yeah im using also the script of Capuche prontera,155,180,5 script dksfsdfkb 100,{ mes "select which skill you want to be copy, your existing one will be overwrite"; next; set .@menu, select(.menu$) -1; if ( getskilllv(.skill$[.@menu * 3 +1]) ) { mes "you already copied that skill"; close; } mes "are you sure you want to copy "+ .skill$[.@menu * 3] +"?"; mes "you'll need to relogin again"; next; if ( select ( "Yes", "No" ) == 2 ) close; .@text$ = atoi( .skill$[.@menu * 3 +2] ) > 1 ? "-" + .skill$[.@menu * 3 +2] : "" ; mes "choose a level (1" + .@text$ + ")"; if ( input( .@input, 1, ( atoi( .skill$[.@menu * 3 +2] ) > 1 ? atoi( .skill$[.@menu * 3 +2] ) : 1 )) != 0 ) { mes "wrong level"; close; } set CLONE_SKILL, atoi( .skill$[.@menu * 3 +1] ); set CLONE_SKILL_LV, .@input; atcommand "@kick "+ strcharinfo(0); end; OnInit: setarray .skill$, // "< Remove >", 0, 0, "Fire Bolt", 19, 10, "Cold Bolt", 14, 10, "Lightning Bolt", 20, 10; set .@skillsize, getarraysize(.skill$); for ( set .@i,0; .@i < .@skillsize; set .@i, .@i +3 ) set .menu$, .menu$ + .skill$[.@i] +":"; end; } this script it works well for me. but i don't know how to add more skill to copy sorry! mes "Which skill you need me to cast on you ?"; set .@SkillID, select( implode( .SkillName$, ":" ) ) - 1; mes "Selected "+ .Skillname$[ .@SkillID ]; close2; npcskill .SkillID[ .@SkillID ], .SkillLv[ .@SkillID ], 50, 99; if( .SkillID[ .@SkillID ] == 421 ) { getmapxy .@map$, .@x, .@y, 0; movenpc strnpcinfo(0), .@x, .@y; sleep 3000; movenpc strnpcinfo(0),241,87; } end; OnInit: setarray .SkillID,14,19,20,421; setarray .SkillLv,3,5,10,5; setarray .SkillName$,"Cold Bolt","Fire Bolt","Lightning Bolt","Fly Kick"; end; } this is much much better for me, the only problem is when i try to copy Fly Kick the Npc will Fly Kick on and then suddenly disappear.
  20. 1st time i heard this kind of thing. post more info about your server client. 2013 or 2012 and your revision.
  21. Hi rAthena people, i don't know if you are guys familiar with Super Quest Item, but i need this kind of Quest/Script. Lest's get started well To begin the challenge, you must find 2 other teammates to form a party of 3 people. Each person must also possess 1 of each TCG (1-4) example: TCG 1,TCG 2,TCG 3,TCG 4. TCG can be found by defeating certain MVP monsters. How to Begin In central Prontera, speak with the Arena Guide (prontera 155,181) with one of each TCG. Your TCGwill be taken from you as an admission fee when you enter the waiting room, and will be refunded if you leave the room without entering the challenge. Once all members are present, enter the NPC Chatroom to begin the challenge. When all 3 members have entered, you will be warped to the arena. Skills are disabled in the waiting room. A short briefing of the rules will be broadcasted in the arena, then the challenge will begin. The Challenge Once the challenge begins, you will have 10 minutes to defeat 10 MVP monster. example: 1st Summon Baphomet, when baphomet has been defeated and then in 2 seconds 2nd Summon Thanatos? event map: guild_vs2 MVP spawn spot at the center of guild_vs2. if possible: announce if monster has been defeat? You may re-enter the Arena Challenge as many times as you like (even if you have already completed the test before), provided you possess a set of 4 seals. Upon completion of the SQI Arena Challenge, you will be warped to Arena Guard (prontera 160,181) to where all the SQI Masters are located. In order to gain permanent access turbo_room you MUST exit through the south portal of the hall (do NOT Teleport, Warp Portal, or use Butterfly Wing). Once you do, you may return toturbo_room at any time by speaking with the Arena Guard (prontera 160,181), near Arena Guide in Prontera.
  22. trizzy

    Stalker NPC.

    still the same error
  23. i'm getting this error after using this script. [Error]: pc_checkskill: Invalid skill id 0 (char_id=15001). Can someone explain this? thanks prontera,155,180,5 script Stalker 100,{ mes "select which skill you want to be copy, your existing one will be overwrite"; next; set .@menu, select(.menu$) -1; if ( getskilllv(.skill$[.@menu * 3 +1]) ) { mes "you already copied that skill"; close; } mes "are you sure you want to copy "+ .skill$[.@menu * 3] +"?"; mes "you'll need to relogin again"; next; if ( select ( "Yes", "No" ) == 2 ) close; set CLONE_SKILL, .skill$[.@menu * 3 +1]; set CLONE_SKILL_LV, .skill$[.@menu * 3 +2]; atcommand "@kick "+ strcharinfo(0); end; OnInit: setarray .skill$, "< Remove >", 0, 0, "Fire Bolt", 19, 10, "Cold Bolt", 14, 10, "Lightning Bolt", 20, 10; set .@skillsize, getarraysize(.skill$); for ( set .@i,0; .@i < .@skillsize; set .@i, .@i +3 ) set .menu$, .menu$ + .skill$[.@i] +":"; end; }
×
×
  • Create New...