Jump to content

Craves

Members
  • Posts

    19
  • Joined

  • Last visited

Everything posted by Craves

  1. I saw this in some servers, but I can't seem to find it in rA, eA or even google... This command is an autoloot command, but it's somehow better.. Firstly, players can type @aloot help, to view the options of @aloot available, such as "@aloot item", "@aloot rate", "@aloot info", "@aloot clear". @aloot item allows you to autoloot the items you typed.. it can be more than one.. for example, you type @aloot item apple, then type @aloot item orange, you can autoloot that 2 items only.. @aloot rate is like @autoloot.. @aloot rate 50 = autoloot items 50% or below.. @aloot info shows you what you are currently autolooting.. @aloot clear, clears all your current autoloots.. Can anyone share this? Thanks in advance..
  2. I'm sorry for reviving this topic, but I still can't make it done.. The thing I've tried is to make @go and @warp having 5 second delay after being hit, and change the item script of Fly Wing to " warp "Random",0,0;" , but it doesn't have delay too.. Any optional way of doing this thing?
  3. What I meant is that, every time you get hit, you have to wait few second before you are able to use Fly Wing or Wing of Butterfly..
  4. That was what I was saying... That only gives delay for item use. What I want is delay after being hit..
  5. Can someone help me with this? I want to make Fly Wing and Wing of Butterfly have delay after being hit. I found @go/@warp delay, but I can't seem to find the delay for items... changing it in db doesn't help much as pplayers can still use them after being hit..
  6. - script KillAnnounce -1,{ OnPCKillEvent: if(getgmlevel() >= 50) end; if( killedrid == getcharid(3) ) end; set @killstreak, @killstreak+1; if (@killstreak == 1){ announce ""+strcharinfo(0)+" had just killed "+rid2name(killedrid)+" at "+strcharinfo(3)+".",bc_all; } else { announce ""+strcharinfo(0)+" had just killed "+rid2name(killedrid)+" at "+strcharinfo(3)+".["+@killstreak+"]",bc_all; } attachrid killedrid; if (@killstreak >= 2){ announce ""+rid2name(killedrid)+" had ended "+strcharinfo(0)+"'s ["+@killstreak+"] streak at "+strcharinfo(3)+".",bc_all; set @killstreak,0; } if (@killstreak < 2){ set @killstreak,0; } end; } The problem with this is that, if A hit B but didn't kill him, then C killed B, the announcement would announce that A killed B instead of C killing B.. Anyone have any idea where did I did wrong? I'm quite new to scripting
  7. Erm..the one i gave is KvM ones, I'm not sure if there's one for flavius/tierra.. anyways, does it goes like.. bg_get_data(&@FlaviusBG1_id1) ?
  8. I'm not sure if it's called scripting commands, or whatever..anyways, straight to the point.. I'm trying to make a randomizer that could randomly assign players to random team balance-ly. Which means, if there's 5 players in Red, and 6 players in blue, the next player that goes in using the randomizer would go to the red team. But when there's equal players on both team, the next player using the randomizer would randomly assign the player to 1 of the team. ( Red and Blue are reffering to Croix and Guillaume) But here's the problem I faced.. I can't seem to find a "scripting command" that could trace how many players which is in that team.. (for Flavius, and Tierra.) For example, there's "bg_get_data($@KvM03BG_id1) for Kvm. My question is, is there any "scripting command" to trace how many players for Flavius/Tierra BG like the one from the example above? If no, anyway that I could possibly make the npc that I wanted? Thanks in advance.
  9. Erm...Is there anything wrong with the Woe Prize giver? I tried it on a test server, and it seems like.. for example, I'm holding prtg_cas02, but I need to choose the prtg_cas01 castle name to get the reward, same for the others, need to choose 1 castle before, then only can obtain the reward.. Is there anyway to fix that?
  10. Hello.. Basically I'm thinking if it's possible for the NPC to allow only 1 account per IP to enter the map. For example, after your first account's character entered the room and is still in that room, the second account from the same IP can't enter the NPC.. Hope someone could help me out here. Thanks in advance.
  11. I'm thinking of making only 1 map that can use dead branch and bloody branch... and what I've found on google is this..I'm curious if this still works because that post was made on 2006.. http://www.eathena.ws/board/index.php?showtopic=120709
  12. @Emistry , I only have 1 script for this pvp announcer.. what do you mean by loaded it several times? Sorry, I'm quite new on these stuffs.. @Aerie , Erm..it doesn't fix it..it still announces 3 times when I only kill the opponent once.. This is the edited script.. - script C_login -1,{ OnInit: setarray $pvpmap$[0],"izlude"; OnPCKillEvent: getmapxy .@map$, .@x, .@y, 0; for( set .@i, 0; .@i < getarraysize($pvpmap$); set .@i, .@i +1 ) if (@map$ == $pvpmap$[.@]) { set @killstreak, @killstreak + 1; if (@killstreak <= 3) {announce ""+strcharinfo(0)+" had just killed "+rid2name(killedrid)+" at "+strcharinfo(3)+".",bc_map;} if (@killstreak >= 3) {announce ""+strcharinfo(0)+" had just killed "+rid2name(killedrid)+" at "+strcharinfo(3)+".["+@killstreak+"]",bc_all;} } OnPCDieEvent: getmapxy @map$,@x,@y,0; for( set .@i, 0; .@i < getarraysize($pvpmap$); set .@i, .@i +1 ) if (@map$ == $pvpmap$[.@i]) { if (@killstreak >= 3) {announce ""+rid2name(killedrid)+" had just ended "+strcharinfo(0)+"'s ["+@killstreak+"] streak at "+strcharinfo(3)+".",bc_all;} set @killstreak,0; } } Any idea what seems to be the problem? Thank you for you helps I found out a way to make it work..as simple as i wanted Thanks guys..
  13. Erm..I've got some question regarding that.. I've made the sql addition, and i've edited some of the script for that.. but seems like every time i kill 1 player, it announces that i killed that player 3 times..and the kill count increases 3 in the sql.. This is basically my script.. can you have a look at it? Thank you.. - script C_login -1,{ OnInit: //For set map used setarray $pvpmap$[0],"izlude","pvp_map2","pvp_map3"; OnPCKillEvent: getmapxy @map$,@x,@y,0; for( set .@i, 0; .@i < getarraysize($pvpmap$); set .@i, .@i +1 ) if (@map$ == $pvpmap$[.@]) { set .@x,getcharid(0); //Char ID set .@y,strcharinfo(0); set @deathstreak,0; set @killstreak,@killstreak+1; if (@killstreak >= 1) {announce ""+.@y+" had just killed "+rid2name(killedrid)+" at "+strcharinfo(3)+".["+@killstreak+"]",bc_map;} //Par Joueur query_sql("SELECT `pvp_Kill` FROM `char` WHERE `char_id` = '"+.@x+"'",.@countX); //Verif le nom setarray .@countX[0],.@countX[0]+1; query_sql "UPDATE `char` SET `pvp_Kill` = '"+.@countX[0]+"' WHERE `char_id` ='"+.@x+"'"; } }
  14. I've seen a lot of PvP Announcers including AnnieRuru's Dota announcer, but I'm wondering if anyone could make me a simple one? Basically what I'm using now only announces : Player 1 has killed Player 2 in xxx_fild01. But I'm wondering if anyone could teach me how to let it show the streak of the kills behind the announcement, such as : Player 1 has killed Player 2 in xxx_fild01. [10] Hopefully someone could help me with this. Thanks in advance.
  15. Basically I've been having this error when I recompile my src after trying to do this http://www.eathena.w...howtopic=279381. Can anyone tell me what's the problem? This is the screenshot of the error. Here are some location of the error stated. static int pc_daynight_timer_sub(struct map_session_data *sd,va_list ap) { << Line 8709 if (sd->state.night != night_flag && map[sd->bl.m].flag.nightenabled) { clif_status_load(&sd->bl, SI_NIGHT, night_flag); sd->state.night = night_flag; return 1; } return 0; } static int duel_showinfo_sub(struct map_session_data* sd, va_list va) { <<< Line 8799 struct map_session_data *ssd = va_arg(va, struct map_session_data*); int *p = va_arg(va, int*); char output[256]; if (sd->duel_group != ssd->duel_group) return 0; sprintf(output, " %d. %s", ++(*p), sd->status.name); clif_disp_onlyself(ssd, output, strlen(output)); return 1; } static int duel_leave_sub(struct map_session_data* sd, va_list va) { <<Line 8872 int did = va_arg(va, int); if (sd->duel_invite == did) sd->duel_invite = 0; return 0; } static bool pc_readdb_skilltree(char* fields[], int columns, int current) { <<< Line 8996 unsigned char joblv = 0, skilllv; unsigned short skillid; int idx, class_; unsigned int i, offset = 3, skillidx; class_ = atoi(fields[0]); skillid = (unsigned short)atoi(fields[1]); skilllv = (unsigned char)atoi(fields[2]); if(columns==4+MAX_PC_SKILL_REQUIRE*2) {// job level requirement extra column joblv = (unsigned char)atoi(fields[3]); offset++; } if(!pcdb_checkid(class_)) { ShowWarning("pc_readdb_skilltree: Invalid job class %d specified.\n", class_); return false; } idx = pc_class2idx(class_); //This is to avoid adding two lines for the same skill. [skotlex] ARR_FIND( 0, MAX_SKILL_TREE, skillidx, skill_tree[idx][skillidx].id == 0 || skill_tree[idx][skillidx].id == skillid ); if( skillidx == MAX_SKILL_TREE ) { ShowWarning("pc_readdb_skilltree: Unable to load skill %hu into job %d's tree. Maximum number of skills per class has been reached.\n", skillid, class_); return false; } else if(skill_tree[idx][skillidx].id) { ShowNotice("pc_readdb_skilltree: Overwriting skill %hu for job class %d.\n", skillid, class_); } skill_tree[idx][skillidx].id = skillid; skill_tree[idx][skillidx].max = skilllv; skill_tree[idx][skillidx].joblv = joblv; for(i = 0; i < MAX_PC_SKILL_REQUIRE; i++) { skill_tree[idx][skillidx].need[i].id = atoi(fields[i*2+offset]); skill_tree[idx][skillidx].need[i].lv = atoi(fields[i*2+offset+1]); } return true; } /*========================================== * pc? ŒW‰Šú‰» *------------------------------------------*/ void do_final_pc(void) { return; } int do_init_pc(void) { pc_readdb(); pc_read_motd(); // Read MOTD [Valaris] memset(&duel_list[0], 0, sizeof(duel_list)); add_timer_func_list(pc_invincible_timer, "pc_invincible_timer"); add_timer_func_list(pc_eventtimer, "pc_eventtimer"); add_timer_func_list(pc_inventory_rental_end, "pc_inventory_rental_end"); add_timer_func_list(pc_calc_pvprank_timer, "pc_calc_pvprank_timer"); add_timer_func_list(pc_autosave, "pc_autosave"); add_timer_func_list(pc_spiritball_timer, "pc_spiritball_timer"); add_timer_func_list(pc_follow_timer, "pc_follow_timer"); add_timer_func_list(pc_endautobonus, "pc_endautobonus"); add_timer_func_list(pc_rageball_timer, "pc_rageball_timer"); add_timer(gettick() + autosave_interval, pc_autosave, 0, 0); if (battle_config.day_duration > 0 && battle_config.night_duration > 0) { int day_duration = battle_config.day_duration; int night_duration = battle_config.night_duration; // add night/day timer (by [yor]) add_timer_func_list(map_day_timer, "map_day_timer"); // by [yor] add_timer_func_list(map_night_timer, "map_night_timer"); // by [yor] if (!battle_config.night_at_start) { night_flag = 0; // 0=day, 1=night [Yor] day_timer_tid = add_timer_interval(gettick() + day_duration + night_duration, map_day_timer, 0, 0, day_duration + night_duration); night_timer_tid = add_timer_interval(gettick() + day_duration, map_night_timer, 0, 0, day_duration + night_duration); } else { night_flag = 1; // 0=day, 1=night [Yor] day_timer_tid = add_timer_interval(gettick() + night_duration, map_day_timer, 0, 0, day_duration + night_duration); night_timer_tid = add_timer_interval(gettick() + day_duration + night_duration, map_night_timer, 0, 0, day_duration + night_duration); } } return 0; } <<< Line 9330 Hope that someone could help me out here..
×
×
  • Create New...