Jump to content

Vale

Members
  • Posts

    46
  • Joined

  • Last visited

Everything posted by Vale

  1. yes i tried but it doesn't change sir
  2. Hi @Emistry can you help me with your script? GameMaster3 must Event GM and not just (GM) how can i fix it? here is my script firstcity,207,66,6 script GM Online List 655,{ function get_GM_Title; function get_GM_State; cutin "kafra_09",2; .@size = query_sql( "SELECT `char`.`account_id`,`char`.`char_id`,`char`.`name`,`login`.`lastlogin`,TIMEDIFF( NOW(),`login`.`lastlogin` ),`login`.`group_id` FROM `char` INNER JOIN `login` ON `char`.`account_id` = `login`.`account_id` WHERE `group_id` > "+.min_group_id+" ORDER BY `char`.`online` DESC, `login`.`group_id` DESC LIMIT 10",.@aid,.@cid,.@name$,.@lastlogin$,.@lastlogin_duration$,.@group_id ); mes "There are total ^FF0000"+.@size+"^000000 GM(s)"; while ( .@i < .@size ) { mes get_GM_Title( .@name$[.@i],.@group_id[.@i] )+" - "+get_GM_State( .@aid[.@i],.@cid[.@i],.@name$[.@i] ); mes "Last Seen: ^777777"+.@lastlogin_duration$[.@i]+" hours ago^000000"; mes "Last Login: ^777777"+.@lastlogin$[.@i]+"^000000"; mes " "; .@i++; } close2; cutin "",255; end; OnInit: .min_group_id = 1; .afk_second = 300; end; function get_GM_Title { switch ( getarg( 1,0 ) ) { default: .@title$ = ""; case 1: .@title$ = "(Super Player)"; case 2: .@title$ = "(Support)"; case 3: .@title$ = "(Script Manager)"; case 4: .@title$ = "(Event Manager)"; case 10: .@title$ = "(Law Enforcement)"; case 98: .@title$ = "(Developer)"; case 99: .@title$ = "(GM)"; } return .@title$ + " " + getarg( 0,"NULL" ); } function get_GM_State { .@aid = getarg( 0,0 ); .@cid = getarg( 1,0 ); .@name$ = getarg( 2,"NULL" ); if ( isloggedin( .@aid,.@cid ) ) { .@idle = checkidle( .@name$ ); if ( .@idle >= .afk_second && .afk_second ) { .@state$ = "AFK/Away"; } else { .@state$ = "Online"; } } else { .@state$ = "Offline"; } return .@state$; } }
  3. I have here the error of my script and I don't know what is the problem hmmm.... firstcity,175,85,5 script Copy Cat 779,{ set .@skill_level,getskilllv( "RG_PLAGIARISM" ); mes "[Copy Cat]"; mes "I provide skill to Stalker Class."; if( !.@skill_level ){ mes "[Copy Cat]"; mes "But only who have ^FF0000Plagiarism skill^000000 can use this services."; }else{ mes ""; 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 "[Copy Cat]"; 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, "Flying Side Kick", 421, 7, "Fire Bolt", 19, 10, "Cold Bolt", 14, 10, "Lightning Bolt", 20, 10, "Jupitel Thunder", 84, 5, "Lord Of Vermillion", 85, 10, "Storm Gust", 89, 10, "Meteor Storm", 83, 10, "First Wind", 542, 5, "Crimson Petal", 534, 10, "Freezing Ice Spear", 537, 10; set .@skillsize, getarraysize(.skill$); for ( set .@i,0; .@i < .@skillsize; set .@i, .@i +3 ) set .menu$, .menu$ + .skill$[.@i] +":"; end; } This is my script and I am planning that the player doesn't need to relog please help me Thanks !
  4. Can anyone help me how to reduce critical damage? and 2 axes cannot have a critical? Thanks in advance ^_^
  5. hello, is this based on prontera map only? Thanks ! It really works , i just edit the line "prontera" into my pvp map which is "arena_4" !
  6. Hi, I want my spider web become like ankle snare but when I do this it gets me errors While Anakid there said skill_db.txt and skill_unit_db.txt and skill_cast_db.txt the enemy will just bypass through spiderweb hmmm please help me, Thanks in advance. sorry not good in english
  7. hmmm i mean /quake into a command function hehe
  8. Hello, upon searching @shake function command doesn't exist... can someone help me? Thanks in advance
  9. Hello, I would like to have a PVP Point on a specific map Ex: Map(prontera) In prontera if you kill a person - you will gain 2 points but not cashpoints [ for example: pvppoint ] then if you died you will lose 1 point there Also for PvP Point Shop... As I gathering Scripts - script PVPPOINTS -1,{ OnPCKillEvent: getmapxy.@map$,.@x,.@y,0; if(getcharid(3)==killedrid) end; if(.@map$ != "pvp_y_1-2") end; set .@player1, getcharid(3); set .@player2, killedrid; attachrid(.@player2); set .@player2points, #CASHPOINTS; if(.@player2points) { set #CASHPOINTS, #CASHPOINTS - 1; dispbottom "You Lost 1 Cash Point from "+rid2name(killerrid); } attachrid(.@player1); if(.@player2points) { set #CASHPOINTS, #CASHPOINTS + 1; dispbottom "You Gained 1 Cash Points from "+rid2name(killedrid); } else dispbottom "Sorry no cash points on the "+rid2name(killedrid); end; } This is all I can get, and it is in form of Cashpoints Thanks in advance !
  10. what would i change it to BL_PC or BL_NPC? if ( getgmlevel() >= .gmnokill ) end; getmapxy .@map$, .@x, .@y, 0; if ( .maptrigger$ != "all" ) { for ( set .@i, 0; .@i < .maptriggersize; set .@i, .@i +1 ) { if ( .@map$ == .maptrigger$[.@i] ) break; } if ( .@i == .maptriggersize ) end; } attachrid killedrid; if ( killerrid != getcharid(3) && ( .msg_die || .msg_kill ) ) { if ( .msg_die ) message strcharinfo(0),"You have been killed by "+ rid2name(killerrid); if ( .msg_kill ) message rid2name(killerrid),"You just killed "+ strcharinfo(0); } if ( @PlayersKilledStreak >= .holyshit ) set .@streakname$,"Beyond Godlike"; else if ( @PlayersKilledStreak >= .godlike ) set .@streakname$,"Godlike"; else if ( @PlayersKilledStreak >= .monsterkill ) set .@streakname$,"Monster Kill"; else if ( @PlayersKilledStreak >= .wickedsick ) set .@streakname$,"Wicked Sick"; else if ( @PlayersKilledStreak >= .unstoppable ) set .@streakname$,"Unstoppable"; else if ( @PlayersKilledStreak >= .megakill ) set .@streakname$,"Mega-kill"; else if ( @PlayersKilledStreak >= .dominating ) set .@streakname$,"Dominating"; else if ( @PlayersKilledStreak >= .killingspree ) set .@streakname$,"Killing Spree"; if ( @PlayersKilledStreak >= .killingspree && killerrid == getcharid(3) ) announce strcharinfo(0) +" has ended "+( (sex)?"him":"her" )+" own "+ .@streakname$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ .@map$):""),16|.announce; else if ( @PlayersKilledStreak >= .killingspree ) announce rid2name(killerrid) +" has ended "+ strcharinfo(0) +"'s "+ .@streakname$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ .@map$):""),16|.announce; else if ( .announcekill && killerrid != getcharid(3) ) announce rid2name(killerrid) +" has pawned "+ strcharinfo(0) +"'s head "+( (.announcemap)?("at "+ .@map$):""),16|.announce; set @PlayersKilledStreak,0; set @dota_multikills,0; if ( .ownage && getcharid(.ownage) ) { setd ".dotaown_"+ getcharid(.ownage), 0; set .@killedgroup, getcharid(.ownage); } if ( killerrid == getcharid(3) || baselevel < .lvltokill ) end; if ( .minlvlrange ) set .@killedlvl, baselevel; attachrid killerrid; if ( .minlvlrange && .@killedlvl + .minlvlrange < baselevel ) end; if ( .counttopunish ) { if ( @sitkillminute != gettime(2) ) { deletearray @sitkillid, 128; deletearray @sitkilltimes, 128; set @sitkillminute, gettime(2); } set .@sitkillsize, getarraysize(@sitkillid); for ( set .@i,0; .@i < .@sitkillsize; set .@i, .@i +1 ) { if ( @sitkillid[.@i] != killedrid ) continue; else { set @sitkilltimes[.@i], @sitkilltimes[.@i] +1 ; if ( @sitkilltimes[.@i] >= .counttopunish ) { warp "SavePoint",0,0; announce strcharinfo(0) +" , Stop killing "+ rid2name(killedrid) + " !!!",0; debugmes strcharinfo(0) +" is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[.@i] + " times"; logmes "is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[.@i] +" times"; set @PlayersKilledStreak, @PlayersKilledStreak +1 - .counttopunish; set PlayersKilled, PlayersKilled +1 - .counttopunish; if ( .ownage && getcharid(.ownage) ) setd ".dotaown_"+ getcharid(.ownage), getd(".dotaown_"+ getcharid(.ownage) ) +1 - .counttopunish; end; } break; } } if ( .@i == .@sitkillsize ) { set @sitkillid[.@i], killedrid; set @sitkilltimes[.@i], 1; } } set @PlayersKilledStreak, @PlayersKilledStreak + 1; set PlayersKilled, PlayersKilled + 1; if ( @PlayersKilledStreak == .killingspree ) setarray .@streakname$,"killingspree.wav","is on a KILLING SPREE","!"; else if ( @PlayersKilledStreak == .dominating ) setarray .@streakname$,"dominating.wav","is DOMINATING","!"; else if ( @PlayersKilledStreak == .megakill ) setarray .@streakname$,"megakill.wav","has a MEGA KILL","!"; else if ( @PlayersKilledStreak == .unstoppable ) setarray .@streakname$,"unstoppable.wav","is UNSTOPPABLE","!!"; else if ( @PlayersKilledStreak == .wickedsick ) setarray .@streakname$,"wickedsick.wav","is WICKED SICK","!!"; else if ( @PlayersKilledStreak == .monsterkill ) setarray .@streakname$,"monsterkill.wav","has a MONSTER KILL","!!"; else if ( @PlayersKilledStreak == .godlike ) setarray .@streakname$,"godlike.wav","is GODLIKE","!!!"; else if ( @PlayersKilledStreak >= .holyshit && ( (@PlayersKilledStreak - .holyshit) % .continue == 0 ) ) setarray .@streakname$,"holyshit.wav","is BEYOND GODLIKE",". Someone KILL "+( (sex)?"HIM":"HER" ) +"!!!!!!"; if ( .@streakname$[1] != "" ) { announce strcharinfo(0) +" "+ .@streakname$[1] +"["+ @PlayersKilledStreak +"] "+( (.announcemap)?("at "+ .@map$):"") + .@streakname$[2],16|.announce; if ( .sound == 1 ) soundeffectall .@streakname$[0],0,.@map$; else if ( .sound == 2 ) soundeffectall .@streakname$[0],0; else if ( .sound == 3 ) soundeffect .@streakname$[0],0; } set @dota_multikills, @dota_multikills + 1; deltimer "DOTAPVP::OnStreakReset"; addtimer 18000,"DOTAPVP::OnStreakReset"; if ( .ownage ) { set .@sideid, getcharid(.ownage); if ( .@sideid != .@killedgroup ) setd ".dotaown_"+ .@sideid, getd(".dotaown_"+ .@sideid ) + 1; } set .@dota_multikills, @dota_multikills; set .@origin, getcharid(3); sleep 1500; if ( .@sideid && .ownage && .@sideid != .@killedgroup && getd(".dotaown_"+ .@sideid) >= .owned && ( ( getd(".dotaown_"+ .@sideid) - .owned ) % .owncontinue == 0 ) ) { if ( .announce ) mapannounce .@map$, "The "+( (.ownage == 1)?"party":"guild" )+" ["+( (.ownage == 1)?getpartyname(.@sideid):getguildname(.@sideid) )+"] is OWNING["+ getd(".dotaown_"+ .@sideid) +"] !!!",16; else announce "The "+( (.ownage == 1)?"party":"guild" )+" ["+( (.ownage == 1)?getpartyname(.@sideid):getguildname(.@sideid) )+"] is OWNING["+ getd(".dotaown_"+ .@sideid) +"] !!!",16; if ( .sound == 1 ) soundeffectall "ownage.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "ownage.wav",0; else if ( .sound == 3 && attachrid(.@origin) ) soundeffect "ownage.wav",0; } sleep 1250; if ( !attachrid(.@origin) ) end; if ( .@dota_multikills == 2 ) { if ( .announce ) mapannounce .@map$, strcharinfo(0) +" just got a Double Kill !",16; else announce strcharinfo(0) +" just got a Double Kill !",16; if ( .sound == 1 ) soundeffectall "doublekill.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "doublekill.wav",0; else if ( .sound == 3 ) soundeffect "doublekill.wav",0; } else if ( .@dota_multikills == 3 ) { if ( .announce ) mapannounce .@map$, strcharinfo(0) +" just got a Triple Kill !!!",16; else announce strcharinfo(0) +" just got a Triple Kill !!!",16; if ( .sound == 1 ) soundeffectall "triplekill.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "triplekill.wav",0; else if ( .sound == 3 ) soundeffect "triplekill.wav",0; } else if ( .@dota_multikills == 4 ) { if ( .announce ) mapannounce .@map$, strcharinfo(0) +" just got a Ultra Kill !!!",16; else announce strcharinfo(0) +" just got a Ultra Kill !!!",16; if ( .sound == 1 ) soundeffectall "ultrakill.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "ultrakill.wav",0; else if ( .sound == 3 ) soundeffect "ultrakill.wav",0; } else if ( .@dota_multikills >= 5 ) { if ( .announce ) mapannounce .@map$, strcharinfo(0) +" is on a Rampage !!!",16; else announce strcharinfo(0) +" is on a Rampage !!!",16; if ( .sound == 1 ) soundeffectall "rampage.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "rampage.wav",0; else if ( .sound == 3 ) soundeffect "rampage.wav",0; } end; OnWhisperGlobal: dispbottom "Your current Streak : "+ @PlayersKilledStreak; dispbottom "Your total Kills : "+ PlayersKilled; if ( .ownage && getcharid(.ownage) ) dispbottom "Your "+( (.ownage ==1)?"party":"guild" )+" Own : "+ getd(".dotaown_"+ getcharid(.ownage) ); end; OnStreakReset: set @dota_multikills, 0; end; } here is the code where the getmapxy appears Thanks ! I got it... ^_^
  11. Hello, I have this kind of Dota PvP Announcer wherein If I kill anyone the map doesn't show up even if I change the value of announce map to 1 instead of 0 Here is the bug and here is my Script, by the way I am using latest GIT of rAthena //===== eAthena Script ======================================================= //= Dota Allstars announcement ( TXT & SQL ) //===== By: ================================================================== //= ~AnnieRuru~ //===== Current Version: ===================================================== //= 1.11 //===== Compatible With: ===================================================== //= eAthena 14279 Trunk //===== Topic: =============================================================== //= http://www.eathena.ws/board/index.php?showtopic=237765 //===== Description: ========================================================= //= Dota Announcement script //= plus anti-sit-killer feature //============================================================================ - script DOTAPVP -1,{ OnInit: // Config set .sound, 3; // soundeffect : 0 - disable, 1 - play soundeffect to all players on map, 2 - play soundeffect to an area around the killer, 3 - play soundeffect to killer only set .ownage, 2; // ownage announcement : 0 - disable, 1 - party owns, 2 - guild owns set .announce, 1; // make announce to : 0 - global, 1 - map set .announcemap, 1; // announce the map name in the announcement ? : 0 - off, 1 - on set .announcekill, 1; // announce who pawn who's head : 0 - off, 1- on set .msg_die, 1; // show message who kill you when die : 0 - off, 1- on set .msg_kill, 0; // show message you kill who when killed someone : 0 - off, 1- on set .gmnokill, 0; // GMs are not suppose to kill players. A GM with <this number> level or higher will do nothing. IF set to 60, GM60 and above kill any player will not get anything : 0 - off set .killingspree, 20; set .dominating, 30; set .megakill, 40; set .unstoppable, 50; set .wickedsick, 60; set .monsterkill, 70; set .godlike, 80; set .holyshit, 90; set .continue, 1; // after beyond-godlike, every <this number> kills will make announcement again set .owned, 30; // how many times the party/guild has to kill to announce ownage set .owncontinue, 1; // after ownage, every <this number> party/guild cumulative kills will make ownage announce again setarray .maptrigger$, // only these maps will trigger this script "all", // comment this line to only trigger this script on these listed maps "guild_vs1", "guild_vs2", "guild_vs3", "guild_vs4", "guild_vs5"; // anti-sit-killer system // a player must kill another player with this minimum <this number> level to get the announcement and in the ladder. // Otherwise only have streak ended announcement and killed player's streak reset. // Its possible for a level 1 novice to kill a level 55 player and he/she will still get in the ladder // but a level 55 kill a level 1 player will get nothing // 0 - off this system ( default is 55, pk setting ) set .lvltokill, 200; // when a player kill another same player <this number> times in a row, the player is warp back to save point. // and the player's streak and ownage count will deduct accordingly // 0 - off this system set .counttopunish, 6; // minimum level range to kill another player // eg. when set to 20, player level 99 needs to kill another player with minimum level of 79 to get announcement and increase the kill rank. // but a player with base level 50 kills a level 99 will also get the announcement // higher base level cannot kill lower level, but lower level can kill higher level // 0 - off this system set .minlvlrange, 0; // Config ends ------------------------------------------------------------------------------------------ // to prevent bug happen if ( .ownage < 0 || .ownage > 2 ) set .ownage, 0; if ( .announce < 0 || .announce > 1 ) set .announce,0; if ( .continue < 1 ) set .continue, 1; if ( .owncontinue < 1 ) set .owncontinue, 1; if ( .gmnokill <= 0 ) set .gmnokill, 100; if ( .lvltokill <= 1 ) set .lvltokill, 0; if ( .counttopunish <= 1 ) set .counttopunish, 0; set .maptriggersize, getarraysize(.maptrigger$); end; // script start OnPCKillEvent: if ( getgmlevel() >= .gmnokill ) end; getmapxy .@map$, .@x, .@y, 0; if ( .maptrigger$ != "all" ) { for ( set .@i, 0; .@i < .maptriggersize; set .@i, .@i +1 ) { if ( .@map$ == .maptrigger$[.@i] ) break; } if ( .@i == .maptriggersize ) end; } attachrid killedrid; if ( killerrid != getcharid(3) && ( .msg_die || .msg_kill ) ) { if ( .msg_die ) message strcharinfo(0),"You have been killed by "+ rid2name(killerrid); if ( .msg_kill ) message rid2name(killerrid),"You just killed "+ strcharinfo(0); } if ( @PlayersKilledStreak >= .holyshit ) set .@streakname$,"Beyond Godlike"; else if ( @PlayersKilledStreak >= .godlike ) set .@streakname$,"Godlike"; else if ( @PlayersKilledStreak >= .monsterkill ) set .@streakname$,"Monster Kill"; else if ( @PlayersKilledStreak >= .wickedsick ) set .@streakname$,"Wicked Sick"; else if ( @PlayersKilledStreak >= .unstoppable ) set .@streakname$,"Unstoppable"; else if ( @PlayersKilledStreak >= .megakill ) set .@streakname$,"Mega-kill"; else if ( @PlayersKilledStreak >= .dominating ) set .@streakname$,"Dominating"; else if ( @PlayersKilledStreak >= .killingspree ) set .@streakname$,"Killing Spree"; if ( @PlayersKilledStreak >= .killingspree && killerrid == getcharid(3) ) announce strcharinfo(0) +" has ended "+( (sex)?"him":"her" )+" own "+ .@streakname$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ .@map$):""),16|.announce; else if ( @PlayersKilledStreak >= .killingspree ) announce rid2name(killerrid) +" has ended "+ strcharinfo(0) +"'s "+ .@streakname$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ .@map$):""),16|.announce; else if ( .announcekill && killerrid != getcharid(3) ) announce rid2name(killerrid) +" has pawned "+ strcharinfo(0) +"'s head "+( (.announcemap)?("at "+ .@map$):""),16|.announce; set @PlayersKilledStreak,0; set @dota_multikills,0; if ( .ownage && getcharid(.ownage) ) { setd ".dotaown_"+ getcharid(.ownage), 0; set .@killedgroup, getcharid(.ownage); } if ( killerrid == getcharid(3) || baselevel < .lvltokill ) end; if ( .minlvlrange ) set .@killedlvl, baselevel; attachrid killerrid; if ( .minlvlrange && .@killedlvl + .minlvlrange < baselevel ) end; if ( .counttopunish ) { if ( @sitkillminute != gettime(2) ) { deletearray @sitkillid, 128; deletearray @sitkilltimes, 128; set @sitkillminute, gettime(2); } set .@sitkillsize, getarraysize(@sitkillid); for ( set .@i,0; .@i < .@sitkillsize; set .@i, .@i +1 ) { if ( @sitkillid[.@i] != killedrid ) continue; else { set @sitkilltimes[.@i], @sitkilltimes[.@i] +1 ; if ( @sitkilltimes[.@i] >= .counttopunish ) { warp "SavePoint",0,0; announce strcharinfo(0) +" , Stop killing "+ rid2name(killedrid) + " !!!",0; debugmes strcharinfo(0) +" is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[.@i] + " times"; logmes "is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[.@i] +" times"; set @PlayersKilledStreak, @PlayersKilledStreak +1 - .counttopunish; set PlayersKilled, PlayersKilled +1 - .counttopunish; if ( .ownage && getcharid(.ownage) ) setd ".dotaown_"+ getcharid(.ownage), getd(".dotaown_"+ getcharid(.ownage) ) +1 - .counttopunish; end; } break; } } if ( .@i == .@sitkillsize ) { set @sitkillid[.@i], killedrid; set @sitkilltimes[.@i], 1; } } set @PlayersKilledStreak, @PlayersKilledStreak + 1; set PlayersKilled, PlayersKilled + 1; if ( @PlayersKilledStreak == .killingspree ) setarray .@streakname$,"killingspree.wav","is on a KILLING SPREE","!"; else if ( @PlayersKilledStreak == .dominating ) setarray .@streakname$,"dominating.wav","is DOMINATING","!"; else if ( @PlayersKilledStreak == .megakill ) setarray .@streakname$,"megakill.wav","has a MEGA KILL","!"; else if ( @PlayersKilledStreak == .unstoppable ) setarray .@streakname$,"unstoppable.wav","is UNSTOPPABLE","!!"; else if ( @PlayersKilledStreak == .wickedsick ) setarray .@streakname$,"wickedsick.wav","is WICKED SICK","!!"; else if ( @PlayersKilledStreak == .monsterkill ) setarray .@streakname$,"monsterkill.wav","has a MONSTER KILL","!!"; else if ( @PlayersKilledStreak == .godlike ) setarray .@streakname$,"godlike.wav","is GODLIKE","!!!"; else if ( @PlayersKilledStreak >= .holyshit && ( (@PlayersKilledStreak - .holyshit) % .continue == 0 ) ) setarray .@streakname$,"holyshit.wav","is BEYOND GODLIKE",". Someone KILL "+( (sex)?"HIM":"HER" ) +"!!!!!!"; if ( .@streakname$[1] != "" ) { announce strcharinfo(0) +" "+ .@streakname$[1] +"["+ @PlayersKilledStreak +"] "+( (.announcemap)?("at "+ .@map$):"") + .@streakname$[2],16|.announce; if ( .sound == 1 ) soundeffectall .@streakname$[0],0,.@map$; else if ( .sound == 2 ) soundeffectall .@streakname$[0],0; else if ( .sound == 3 ) soundeffect .@streakname$[0],0; } set @dota_multikills, @dota_multikills + 1; deltimer "DOTAPVP::OnStreakReset"; addtimer 18000,"DOTAPVP::OnStreakReset"; if ( .ownage ) { set .@sideid, getcharid(.ownage); if ( .@sideid != .@killedgroup ) setd ".dotaown_"+ .@sideid, getd(".dotaown_"+ .@sideid ) + 1; } set .@dota_multikills, @dota_multikills; set .@origin, getcharid(3); sleep 1500; if ( .@sideid && .ownage && .@sideid != .@killedgroup && getd(".dotaown_"+ .@sideid) >= .owned && ( ( getd(".dotaown_"+ .@sideid) - .owned ) % .owncontinue == 0 ) ) { if ( .announce ) mapannounce .@map$, "The "+( (.ownage == 1)?"party":"guild" )+" ["+( (.ownage == 1)?getpartyname(.@sideid):getguildname(.@sideid) )+"] is OWNING["+ getd(".dotaown_"+ .@sideid) +"] !!!",16; else announce "The "+( (.ownage == 1)?"party":"guild" )+" ["+( (.ownage == 1)?getpartyname(.@sideid):getguildname(.@sideid) )+"] is OWNING["+ getd(".dotaown_"+ .@sideid) +"] !!!",16; if ( .sound == 1 ) soundeffectall "ownage.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "ownage.wav",0; else if ( .sound == 3 && attachrid(.@origin) ) soundeffect "ownage.wav",0; } sleep 1250; if ( !attachrid(.@origin) ) end; if ( .@dota_multikills == 2 ) { if ( .announce ) mapannounce .@map$, strcharinfo(0) +" just got a Double Kill !",16; else announce strcharinfo(0) +" just got a Double Kill !",16; if ( .sound == 1 ) soundeffectall "doublekill.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "doublekill.wav",0; else if ( .sound == 3 ) soundeffect "doublekill.wav",0; } else if ( .@dota_multikills == 3 ) { if ( .announce ) mapannounce .@map$, strcharinfo(0) +" just got a Triple Kill !!!",16; else announce strcharinfo(0) +" just got a Triple Kill !!!",16; if ( .sound == 1 ) soundeffectall "triplekill.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "triplekill.wav",0; else if ( .sound == 3 ) soundeffect "triplekill.wav",0; } else if ( .@dota_multikills == 4 ) { if ( .announce ) mapannounce .@map$, strcharinfo(0) +" just got a Ultra Kill !!!",16; else announce strcharinfo(0) +" just got a Ultra Kill !!!",16; if ( .sound == 1 ) soundeffectall "ultrakill.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "ultrakill.wav",0; else if ( .sound == 3 ) soundeffect "ultrakill.wav",0; } else if ( .@dota_multikills >= 5 ) { if ( .announce ) mapannounce .@map$, strcharinfo(0) +" is on a Rampage !!!",16; else announce strcharinfo(0) +" is on a Rampage !!!",16; if ( .sound == 1 ) soundeffectall "rampage.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "rampage.wav",0; else if ( .sound == 3 ) soundeffect "rampage.wav",0; } end; OnWhisperGlobal: dispbottom "Your current Streak : "+ @PlayersKilledStreak; dispbottom "Your total Kills : "+ PlayersKilled; if ( .ownage && getcharid(.ownage) ) dispbottom "Your "+( (.ownage ==1)?"party":"guild" )+" Own : "+ getd(".dotaown_"+ getcharid(.ownage) ); end; OnStreakReset: set @dota_multikills, 0; end; }
  12. What will I change? Should I change it to #0 instead of 1?
  13. Hi ! Can you help me with this kind of error in my PK Command? My Script for this Command is int atcommand_pkmode( const int fd, struct map_session_data *sd, const char *command, const char *message ) { nullpo_retr(-1, sd); if( map[sd->bl.m].flag.pvp || map[sd->bl.m].flag.gvg || map[sd->bl.m].flag.gvg_castle || map[sd->bl.m].flag.gvg_dungeon ) { clif_displaymessage(fd, "You can only change your PK state on non-PVP maps."); return -1; } else if (!sd->state.pk_mode) { sd->state.pk_mode = 1; clif_displaymessage(sd->fd, "You are now no longer in PK mode."); } else { sd->state.pk_mode = 0; clif_displaymessage(sd->fd, "Returned to normal state."); } return 0; }
  14. Can someone help me with this kind of problem? I search it on the internet, I can't find it... Thanks in Advance !
  15. As the title itself, I have searched the rAthena, I have seen this But it will not work in latest version... please help me this one, Thanks in advance
  16. The title speaks for itself, please help me do one I am just a newbie in scripting I would like to have a PvP Points not cashpoints and kafra points for example, Player 1 Kill Player 2 he will gain 2 PvP Points and that points can be buy in a PvP Points Shop if he dies he will lose 1point Please help me this one
  17. Hello, Good Day ! I am just new here and I want to have a @quest command wherein if I type @quest it will go to the quest room. Thanks in advance !
×
×
  • Create New...