Jump to content

powkda

Members
  • Posts

    89
  • Joined

  • Last visited

Everything posted by powkda

  1. Thank you very much friend, it was exactly the way I wanted
  2. Good night guys, I'm using this table CREATE TABLE `rankpvp01` ( `char_id` int(11) NOT NULL, `name` varchar(23) DEFAULT NULL, `kills_pvp1` int(11) DEFAULT NULL, `deaths_pvp1` int(11) DEFAULT NULL, `saldo_pvp1` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; and the following commands - script OnPCDieEvent#1 -1,{ OnPCDieEvent: getmapxy @mapdie1$,@x,@y; if (@mapdie1$ != "coca_cola") end; set @CID,getcharid(0);set @name$,"";set @points,0; query_sql "SELECT `deaths_pvp1` FROM `rankpvp01` WHERE `char_id`="+@CID+"",@points; query_sql "SELECT `name` FROM `rankpvp01` WHERE `char_id`="+@CID+"",@name$; if ( @name$ == "" ) { query_sql "INSERT INTO `rankpvp01` (`char_id`,`name`,`deaths_pvp1`) VALUES ("+@CID+",'"+strcharinfo(0)+"',1)",@esc$; end; } query_sql "UPDATE `rankpvp01` SET `deaths_pvp1` = `deaths_pvp1` + 1 WHERE `char_id`="+@CID+"",@esc$; end; } and - script OnPCKillEvent#pvp1 -1,{ OnPCKillEvent: getmapxy @map1$,@x,@y; if ( @map1$ != "coca_cola" ) end; set @CID,getcharid(0);set @name$,"";set @points,0; query_sql "SELECT `kills_pvp1` FROM `rankpvp01` WHERE `char_id`="+@CID+"",@points; query_sql "SELECT `saldo_pvp1` FROM `rankpvp01` WHERE `char_id`="+@CID+"",@saldo; query_sql "SELECT `name` FROM `rankpvp01` WHERE `char_id`="+@CID+"",@name$; if ( @name$ == "" ) { query_sql "INSERT INTO `rankpvp01` (`char_id`,`name`,`kills_pvp1`) VALUES ("+@CID+",'"+strcharinfo(0)+"',1)",@esc$; dispbottom "Você Matou seu primeiro jogador"; end; } query_sql "UPDATE `rankpvp01` SET `kills_pvp1` = `kills_pvp1` +1 WHERE `char_id`="+@CID+"",@esc$; query_sql "UPDATE `rankpvp01` SET `saldo_pvp1` = `saldo_pvp1` +1 WHERE `char_id`="+@CID+"",@esc$; set @points,@points+1; announce "Você matou [ "+rid2name(killedrid)+" ] e chegou a "+@points+" jogadores mortos.",bc_self,0x90FFFF; end; } but the saldo_pvp1 is not being accounted for I want that every time the player dies she loses 1 point in the saldo_pvp1 and every time he kills he gets 1 point already tried everything and does not leave 0 someone who can help me? thank you very much
  3. yes, I made the table, follow below CREATE TABLE `rankpvp01` ( `char_id` int(11) NOT NULL, `name` varchar(23) DEFAULT NULL, `kills_pvp1` int(11) DEFAULT NULL, `deaths_pvp1` int(11) DEFAULT NULL, `saldo_pvp1` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; the ratio that is "saldo_pvp1" is not being accounted for I'll post the npc here for you to take a look - script OnPCDieEvente#pvp1 -1,{ OnPCDieEvent: getmapxy @mapdie1$,@x,@y; if (@mapdie1$ != "coca_cola")end; set @id,getcharid(0); set @name$,""; query_sql "SELECT `name` FROM `rankpvp01` WHERE `char_id`="+@id+"",@name$; if ( @name$ == "" ) { query_sql "INSERT INTO `rankpvp01` (`char_id`,`name`,`deaths_pvp1`,`saldo_pvp1`) VALUES ("+@id+",'"+strcharinfo(0)+"',1)"; query_sql "UPDATE `rankpvp01` SET `saldo_pvp1` = `saldo_pvp1` - 1 WHERE `char_id`='"+getcharid(0)+"'"; end; } query_sql "UPDATE `rankpvp01` SET `deaths_pvp1` = `deaths_pvp1` + 1 WHERE `char_id`='"+getcharid(0)+"'"; query_sql "UPDATE `rankpvp01` SET `saldo_pvp1` = `saldo_pvp1` - 1 WHERE `char_id`='"+getcharid(0)+"'"; set @kill1,0; end; } - script OnPCKillEvent#pvp1 -1,{ OnPCKillEvent: getmapxy @map1$,@x,@y; if (@map1$!="coca_cola")end; set Antifk,killedrid; set @id,getcharid(0); set @name$,""; query_sql "SELECT `name` FROM `rankpvp01` WHERE `char_id`="+@id+"",@name$; if ( @name$ == "" ) { query_sql "INSERT INTO `rankpvp01` (`char_id`,`name`,`kills_pvp1`) VALUES ("+@id+",'"+strcharinfo(0)+"',1)"; query_sql "UPDATE `rankpvp01` SET `saldo_pvp1` = `kills_pvp1` - `deaths_pvp1` WHERE `char_id`='"+getcharid(0)+"'"; end; } query_sql "UPDATE `rankpvp01` SET `kills_pvp1` = `kills_pvp1` + 1 WHERE `char_id`='"+getcharid(0)+"'"; query_sql "UPDATE `rankpvp01` SET `saldo_pvp1` = `kills_pvp1` - `deaths_pvp1` WHERE `char_id`='"+getcharid(0)+"'"; set @kill1,@kill1+1; }
  4. - script OnPCDieEvente#pvp1 -1,{ OnPCDieEvent: getmapxy @mapdie1$,@x,@y; if (@mapdie1$ != "coca_cola")end; set @id,getcharid(0); set @name$,""; query_sql "SELECT `name` FROM `rankpvp01` WHERE `char_id`="+@id+"",@name$; if ( @name$ == "" ) { query_sql "INSERT INTO `rankpvp01` (`char_id`,`name`,`deaths_pvp1`,`saldo_pvp1`) VALUES ("+@id+",'"+strcharinfo(0)+"',1)"; query_sql "UPDATE `rankpvp01` SET `saldo_pvp1` = `saldo_pvp1` - 1 WHERE `char_id`='"+getcharid(0)+"'"; end; } query_sql "UPDATE `rankpvp01` SET `deaths_pvp1` = `deaths_pvp1` + 1 WHERE `char_id`='"+getcharid(0)+"'"; query_sql "UPDATE `rankpvp01` SET `saldo_pvp1` = `saldo_pvp1` - 1 WHERE `char_id`='"+getcharid(0)+"'"; set @kill1,0; end; } Good morning guys, I'm having difficulties with the sql of the pvp arena I'm doing, the balance is not counting Would you help me? I thank you for your attention
  5. thank you very much my friend, i will test and give you the feedback ♥ friend let me ask you, can someone rent the room without knowing which one? do for example like this: Would you like to rent a room for your clan? then the person rents without knowing the map only when they go to it and also put the remaining time that the clan has with the rented room, and may extend that time I found a possible bug, when I restart the server or give @reloadscript the clan loses the room
  6. Está na mão //|==================================================================================| //| ___ ___ ___ ___ ___ | //| /\ \ /\ \ /\ \ /| | /\ \ | //| |::\ \ /::\ \ /::\ \ |:| | /::\ \ | //| |:|:\ \ /:/\:\ \ /:/\:\ \ |:| | /:/\:\ \ | //| __|:|\:\ \ /:/ \:\ \ /:/ \:\ \ __|:| | /:/ /::\ \ | //| /::::|_\:\__\ /:/__/ \:\__\ /:/__/ \:\__\ /\ |:|__|____ /:/_/:/\:\__\ | //| \:\--\ \/__/ \:\ \ /:/ / \:\ \ /:/ / \:\/:::::/__/ \:\/:/ \/__/ | //| \:\ \ \:\ /:/ / \:\ /:/ / \::/__/ \::/__/ | //| \:\ \ \:\/:/ / \:\/:/ / \:\ \ \:\ \ | //| \:\__\ \::/ / \::/ / \:\__\ \:\__\ | //| \/__/ \/__/ \/__/ \/__/ \/__/ | //| ================================================================================ | //| Script Desenvolvido Por Mooka | eAthena | Por Favor, Não Retire Os Créditos. | //| ================================================================================ | //| Observação! O MapFlag Está No Final Do Script ! | //| ================================================================================ | //|[v1.3.0]: Nova Função de Múltiplas linguagens. (Mooka) | //| ------ | //| v1.2.9 : Nova Tabela! (PM_Lang) (Mooka) | //| v1.2.8 : Alteração na função !exit. (Mooka) | //| v1.2.7 : Adicionado balão de Chat no npc. (Mooka) | //| v1.2.6 : Nova opção! Ganhando experiência no PvP! (Mooka) | //| v1.2.5 : Adicionado !map#list. (Mooka) | //| v1.2.4 : Mapflags são definidos automaticamente. (Mooka) | //| v1.2.3 : Novo campo na tabela 'pvpm_map'. (noguild) (Mooka) | //| v1.2.2 : Alteração na função "Changeleader". (Mooka) | //| v1.2.1 : Implementada opção para WoE. (Contagem de pontos na WoE) (Mooka) | //| v1.2.0 : Novo comando remoto. (!map) (Mooka) | //| ------ | //| v1.1.9 : Comandos !pvp\!gvg\!baby mergidos no novo comando !warp. (Mooka) | //| v1.1.8 : Reformulado Sistema das Arenas. (Mooka) | //| v1.1.7 : Nova tabela no PvP Master. (pvpm_map) (Mooka) | //| v1.1.6 : Ranking não mostra mais valores com 0. (Mooka) | //| v1.1.5 : Novos comandos remotos. (!ban;!truncate) (Mooka) | //| v1.1.4 : Adicionado opção de Ranking Ratio aos Menus e CMD Remotos. (Mooka) | //| v1.1.3 : Otimizado IF's dos comandos remotos. (Mooka) | //| v1.1.2 : Desenvolvida nova opção de Ranking. (Ratio) (Mooka) | //| v1.1.1 : Alteração na tabela pvpm_data. (Adicionado campo 'ratio') (Mooka) | //| v1.1.0 : Novo comando remoto. (!help) (Mooka) | //| ------ | //| v1.0.9 : Adicionado duplicações do npc em todas as cidades. (Mooka) | //| v1.0.8 : Adicionada opção para retirar buffs. (Mooka) | //| v1.0.7 : Correção na função Ranking2. (Mooka) | //| v1.0.6 : Correção no comando !exit. (Mooka) | //| v1.0.5 : Correção no bug de enviar o som "end" causando erro. (Mooka) | //| v1.0.4 : Implementado Sons do Unreal Tournament. (Mooka) | //| v1.0.3 : Adicionado novo tipo de contagem de Pontos com Announce. (Mooka) | //| v1.0.2 : Adicionada opção para servidores PK. (Mooka) | //| v1.0.1 : Adicionado PvP Baby. (Mooka) | //| v1.0.0 : Desenvolvida Versão. (Mooka) | //| ================================================================================ | //| Table update (v1.3.0+): | //| DROP TABLE IF EXISTS `pvpm_lang`; | //| CREATE TABLE `pvpm_lang` ( | //| `id` int(11) unsigned NOT NULL default '0', | //| `lang` int(11) unsigned NOT NULL default '0', | //| `str` varchar(255) NOT NULL default '', | //| KEY `id` (`id`) | //| ) TYPE=MyISAM; | //| -------------------------------------------------------------------------------- | //| Table update (v1.2.3+): | //| alter table pvpm_map add noguild int(11) not null default '0'; | //| update pvpm_map set noguild=1 where map='guild_vs1'; | //| -------------------------------------------------------------------------------- | //| Table update (v1.1.7+): | //| DROP TABLE IF EXISTS `pvpm_map`; | //| CREATE TABLE `pvpm_map` ( | //| `id` int(11) unsigned NOT NULL default '0', | //| `map` varchar(255) NOT NULL default 'NULL', | //| `type` int(11) unsigned NOT NULL default '0', | //| KEY `id` (`id`) | //| ) TYPE=MyISAM; | //| insert into pvpm_map (id,map,type) values (0,'guild_vs3',0); | //| insert into pvpm_map (id,map,type) values (1,'pvp_n_1-5',0); | //| insert into pvpm_map (id,map,type) values (2,'guild_vs1',2); | //| insert into pvpm_map (id,map,type) values (3,'prt_are01',2); | //| insert into pvpm_map (id,map,type) values (4,'guild_vs2',1); | //| -------------------------------------------------------------------------------- | //| Table update (v1.1.1+): | //| alter table pvpm_data add ratio int(11) not null default '0' after dies | //| -------------------------------------------------------------------------------- | //| Table update (v1.0.0+): | //| DROP TABLE IF EXISTS `pvpm_data`; | //| CREATE TABLE `pvpm_data` ( | //| `id` int(11) unsigned NOT NULL default '0', | //| `name` varchar(255) NOT NULL default '', | //| `kills` int(11) unsigned NOT NULL default '0', | //| `dies` int(11) unsigned NOT NULL default '0', | //| `leader` int(11) unsigned NOT NULL default '0', | //| `annc` int(11) unsigned NOT NULL default '0', | //| `ban` int(11) unsigned NOT NULL default '0', | //| `type` int(11) unsigned NOT NULL default '0', | //| KEY `id` (`id`), | //| KEY `kills` (`kills`), | //| KEY `dies` (`dies`) | //| ) TYPE=MyISAM; | //| | //| ================================================================================ | - script init_PM -1,{ // | //| | //| -------------------------------------------------------------------------------- | //| |!Aviso importante sobre as configurações! | | //| |O Sistema de Arena terá problemas caso passe de 10 mapas na lista. | | //| |É possível alterar este limite editando o script, caso queira fale comigo. | | //| -------------------------------------------------------------------------------- | //| | OnInit: // | //| Configurações: | //| | //|=> Nome do npc na janela. | set $@pvpm_name$,"[ ^FF0000 Arena ^000000 ]"; // | //| | //|=> Deseja usar o Ranking Ratio como principal? [ 1 = Sim ] | //|---> Nota: Ranking Ratio: Pontuação = Kills - Mortes | set $@mainRanking,1; // | //| | //|=> Até onde o Ranking irá mostrar. [ Máximo 127 ] | set $@showsRankUntil,50; // | //| | //|=> Modo PK. Está configurado para alterar automaticamente, mude se necessário. | set $@PK_Mode,getbattleflag("pk_mode"); // | //| | //|=> Deseja que ao player entrar no pvp perca os buff? [ 1 = Sim] | set $@breakBuffs,0; // | //| | //|=> Quando o player matar o outro, deve ganhar experiência? | //|---> Nota 1: Servidores de rates alta, configure o "quest_exp_rate". (exp.conf) | //|---> Nota 2: $@lostEXP: Quantidade de EXP perdida ao morrer. ( 0 = Desativado ) | //|---> Nota 3: Configuração do comando: | //|--> 0 : Desativado. | //|--> 1 : Ativado usando fórmula de EXP. ($@getEXP*KilledLVL/KillerLVL) | //|--> 2 : Ativado, o player sempre irá ganhar a quantia definida no $@getEXP. | set $@getEXPoption,0; // | set $@getEXP,0; // 0,1% no level 50. | set $@lostEXP,0; // | //| | //|=> Deseja ativar a contagem de pontos nos mapas da WoE? | //|---> Nota 1: Não são enviandos sons/broadcast nos mapas da WoE. | //|---> Nota 2: Opções de contagem. | //|--> 0: Desativado. | //|--> 1: Ativar contagem somente do PvP. | //|--> 2: Ativar contagem somente do GvG. | //|--> 3: Ativar ambos. | set $@CountPointsInWoE,3; // | //| | //|=> Configuração do Som e Announce! | //|---> Nota 1: Os sons devem ser colocados na pasta data/wav em formato .wav | //|---> Nota 2: Se desativar o som do UT, desativará o broadcast dele também.(2) | //|--> 0 : Desativar Todas Opções. | //|--> 1 : Ativar somente broadcast Global. | //|--> 2 : Ativar somente sons/broadcast do Unreal Tournament. | //|--> 3 : Ativar Ambos. | set $@sound,3; // | //| | //|=> Lista com o nomes dos Sons Unreal Tournament. | //|---> Nota 1: $@SoundList$[Pontos em que irá tocar o som(Max. 127)],"Nome do Som"; | //|---> Nota 2: A partir do ultimo, será somado 10 e repetirá o som, o set | //|---> com "end" indica que o ultimo som será repetido dali em diante. | //|---> Nota 3: O nome do arquivo é o mesmo que será exibido no announce. | set $@SoundList$[1],"First Blood"; // | set $@SoundList$[2],"Double Kill"; // | set $@SoundList$[3],"Triple Kill"; // | set $@SoundList$[4],"Mega Kill"; // | set $@SoundList$[5],"Ultra Kill"; // | set $@SoundList$[6],"Killing Spree"; // | set $@SoundList$[7],"Ownage"; // | set $@SoundList$[8],"Holy Shit"; // | set $@SoundList$[9],"God Like"; // | set $@SoundList$[10],"Dominating"; // | set $@SoundList$[11],"Unstoppable"; // | set $@SoundList$[12],"Monster Kill"; // | set $@SoundList$[13],"end"; // | //|==================================================================================| query_sql("select name from pvpm_data where leader=1 and type=0 limit 1",$@Player_Lider$); query_sql("select name from pvpm_data where leader=1 and type=2 limit 1",$@Guild_Lider$); query_sql("select lang from pvpm_lang where lang=0 and lang=1",.@checkDefaultLang); if(!.@checkDefaultLang && .@checkDefaultLang[1]) { debugmes "[PvP Master Ultimate] NO DEFAULT LANGUAGE(LANG0)! LANG1 WAS SET AS DEFAULT!"; query_sql("update pvpm_lang set lang=lang-1"); } query_sql("select count(lang) from pvpm_lang where id=0",.@c); if(!.@c) debugmes "[PvP Master Ultimate] NO LANGUAGE DATA!"; for(set .@i,0;.@i<.@c;set .@i,.@i+1) { deletearray .@str$,82; query_sql("select str from pvpm_lang where lang="+.@i,.@str$); for(set .@y,0;.@y<82;set .@y,.@y+1) setd "$@PM_Lang"+.@i+"$["+.@y+"]",.@str$[.@y]; } OnReloadListMap: deletearray $@IDPM,10; deletearray $@mapPM$,10; deletearray $@MapTypePM,10; deletearray $@menu$,10; query_sql("select * from pvpm_map order by id asc limit 10",$@IDPM,$@mapPM$,$@MapTypePM,$@mfPM); setarray $@TypeArena$[0],"^CD5C5C<PvP>","^FF4500<PvP Baby>","^8B5742<GvG>","^0047AB<Evento>"; for(set .@j,0;.@j<=(getarraysize($@mapPM$)-1);set .@j,.@j+1) { set $@menu$[.@j],"^000000- Arena "+(.@j+1)+" "+$@TypeArena$[$@MapTypePM[.@j]]; setmapflag $@mapPM$[.@j],mf_noreturn; setmapflag $@mapPM$[.@j],mf_nosave; setmapflag $@mapPM$[.@j],mf_noteleport; setmapflag $@mapPM$[.@j],mf_nowarpto; setmapflag $@mapPM$[.@j],mf_nowarp; setmapflag $@mapPM$[.@j],mf_nomemo; setmapflag $@mapPM$[.@j],mf_nopenalty; setmapflag $@mapPM$[.@j],mf_nobranch; if(!$@MapTypePM[.@j] && !$@mfPM[.@j]) setmapflag $@mapPM$[.@j],mf_pvp; else if(!$@MapTypePM[.@j]) setmapflag $@mapPM$[.@j],mf_pvp_noguild; if($@MapTypePM[.@j]==2) setmapflag $@mapPM$[.@j],mf_gvg; } } - script PM_source -1,{ while(1) { mes $@pvpm_name$; mes callfunc("getMesPM",1); mes callfunc("getMesPM",2); mes callfunc("getMesPM",3); mes "^008B8B< PvP "+callfunc("getMesPM",4)+" - ^FFA500"+$@Player_Lider$+"^008B8B >"; mes "^008B8B< GvG "+callfunc("getMesPM",4)+" - ^FFA500"+$@Guild_Lider$+"^008B8B >"; switch(select("^FFA500- "+callfunc("getMesPM",5)+"^000000:- Ranking:- "+callfunc("getMesPM",6)+":- "+callfunc("getMesPM",7)+":- "+callfunc("getMesPM",79))) { case 1: for(set @i,0;@i<=(getarraysize($@IDPM)-1);set @i,@i+1) set @m$[@i]," ^0000FF["+getmapusers($@mapPM$[@i])+"]"; switch(getarraysize($@IDPM)) { case 1: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0])); case 2: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1])); case 3: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2])); case 4: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3])); case 5: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4])); case 6: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5])); case 7: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5],$@menu$[6]+@m$[6])); case 8: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5],$@menu$[6]+@m$[6],$@menu$[7]+@m$[7])); case 9: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5],$@menu$[6]+@m$[6],$@menu$[7]+@m$[7],$@menu$[8]+@m$[8])); case 10: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5],$@menu$[6]+@m$[6],$@menu$[7]+@m$[7],$@menu$[8]+@m$[8],$@menu$[9]+@m$[9])); } mes "** ERROR ** CHECK THE pm_map TABLE"; close; case 2: switch(select("- PvP:- PvP "+callfunc("getMesPM",8)+":- PvP (Ratio):- GvG:- GvG "+callfunc("getMesPM",8)+":- GvG (Ratio):- "+callfunc("getMesPM",9))) { case 1: callfunc "pvpm_func","Ranking1","kills",0,"PvP"; next; continue; case 2: callfunc "pvpm_func","Ranking1","dies",0,"PvP (Mortes)"; next; continue; case 3: callfunc "pvpm_func","Ranking1","ratio",0,"PvP (Ratio)"; next; continue; case 4: callfunc "pvpm_func","Ranking1","kills",2,"GvG"; next; continue; case 5: callfunc "pvpm_func","Ranking1","dies",2,"GvG (Mortes)"; next; continue; case 6: callfunc "pvpm_func","Ranking1","ratio",2,"GvG (Ratio)"; next; continue; case 7: switch(select("- "+callfunc("getMesPM",9)+" PvP:- "+callfunc("getMesPM",9)+" PvP "+callfunc("getMesPM",8)+":- "+callfunc("getMesPM",9)+" PvP (Ratio):- "+callfunc("getMesPM",9)+" GvG:- "+callfunc("getMesPM",9)+" GvG "+callfunc("getMesPM",8)+":- "+callfunc("getMesPM",9)+" GvG (Ratio)")) { case 1: callfunc "pvpm_func","Ranking2","kills",0; next; continue; case 2: callfunc "pvpm_func","Ranking2","dies",0; next; continue; case 3: callfunc "pvpm_func","Ranking2","ratio",0; next; continue; case 4: callfunc "pvpm_func","Ranking2","kills",2; next; continue; case 5: callfunc "pvpm_func","Ranking2","dies",2; next; continue; case 6: callfunc "pvpm_func","Ranking2","ratio",2; next; continue; } } case 3: next; mes $@pvpm_name$; mes callfunc("getMesPM",10); mes callfunc("getMesPM",11); mes callfunc("getMesPM",12); next; continue; case 4: close; case 5: next; mes $@pvpm_name$; mes callfunc("getMesPM",80); query_sql("select str from pvpm_lang where id=0",@lang$); for(set @a,0;@a<getarraysize(@lang$);set @a,@a+1) mes @a+" = "+@lang$[@a]; input @inp; if(@inp < 0 || @inp > (getarraysize(@lang$)-1)) { mes callfunc("getMesPM",81); next; continue; } set PM_Lang,@inp; next; continue; } } OnInit: waitingroom "",0; OnTimer5000: setarray .@RoomDisplay$,"[PvP] Arena","PvP "+$@PM_Lang0$[4]+" ["+$@Player_Lider$+"]","GvG "+$@PM_Lang0$[4]+" ["+$@Guild_Lider$+"]"; delwaitingroom; waitingroom .@RoomDisplay$[rand(0,2)],0; initnpctimer; } - script cmd -1,{ OnWhisperGlobal: if(compare(@whispervar0$,"!warp")) { set @ArenaID,@whispervar1$; if(!@ArenaID) { dispbottom callfunc("getMesPM",13); end; } callfunc("pvpm_func","Warp",0,@ArenaID); } if(compare(@whispervar0$,"!ranking")) { if(compare(@whispervar0$,"2")) { if(compare(@whispervar1$,"pvp")) { if(compare(@whispervar2$,"ratio")) { callfunc "pvpm_func","Ranking2","ratio",0,"Ratio"; end; } if(!compare(@whispervar2$,"die")) callfunc "pvpm_func","Ranking2","kills",0; else callfunc "pvpm_func","Ranking2","dies",0; end; } if(compare(@whispervar1$,"gvg")) { if(compare(@whispervar2$,"ratio")) { callfunc "pvpm_func","Ranking2","ratio",2,"Ratio"; end; } if(!compare(@whispervar2$,"die")) callfunc "pvpm_func","Ranking2","kills",2; else callfunc "pvpm_func","Ranking2","dies",2; end; } } if(compare(@whispervar1$,"pvp")) { if(compare(@whispervar2$,"ratio")) { callfunc "pvpm_func","Ranking1","ratio",0,"Ratio"; end; } if(!compare(@whispervar2$,"die")) callfunc "pvpm_func","Ranking1","kills",0,"PvP"; else callfunc "pvpm_func","Ranking1","dies",0,"PvP ( Mortes )"; end; } if(compare(@whispervar1$,"gvg")) { if(compare(@whispervar2$,"ratio")) { callfunc "pvpm_func","Ranking1","ratio",2,"Ratio"; end; } if(!compare(@whispervar2$,"die")) callfunc "pvpm_func","Ranking1","kills",2,"GvG"; else callfunc "pvpm_func","Ranking1","dies",2,"GvG"; end; } } if ( compare(@whispervar0$,"!exit") ) { getmapxy(@map$,@x,@y); for(set @i,0;@i!=getarraysize($@mapPM$);set @i,@i+1) { if (@map$ != $@mapPM$[@i]) continue; dispbottom callfunc("getMesPM",14); sleep2 5000; warp getsavepoint(0),getsavepoint(1),getsavepoint(2); end; } dispbottom callfunc("getMesPM",15); end; } if (compare(@whispervar0$,"lider")) { if(compare(@whispervar0$,"pvp")) dispbottom "PvP "+callfunc("getMesPM",4)+": "+$@Player_Lider$; else dispbottom "GvG "+callfunc("getMesPM",4)+": "+$@Guild_Lider$; end; } if(compare(@whispervar0$,"!truncate") && getgmlevel()>=70) { if(compare(@whispervar1$,"pvp")) { query_sql("delete from pvpm_data where type=0"); dispbottom callfunc("getMesPM",16); end; } if(compare(@whispervar1$,"gvg")) { query_sql("delete from pvpm_data where type=2"); dispbottom callfunc("getMesPM",16); end; } dispbottom callfunc("getMesPM",17); } if (compare(@whispervar0$,"!ban")) { if(@whispervar1$=="") { dispbottom callfunc("getMesPM",18); end; } if(@whispervar2$=="") { dispbottom callfunc("getMesPM",19); end; } if(@whispervar3$=="") { dispbottom callfunc("getMesPM",20); end; } if(@whispervar2$=="showtime") { query_sql("select ban from pvpm_data where name='"+@whispervar1$+"' limit 1",@showtime); dispbottom callfunc("getMesPM",21)+" ["+@whispervar1$+"] ["+@showtime+" "+callfunc("getMesPM",27)+"]"; end; } if(@whispervar2$=="unban") { query_sql("update pvpm_data set ban=0 where name='"+@whispervar1$+"' limit 1"); dispbottom callfunc("getMesPM",22)+@whispervar1$; message @whispervar1$,callfunc("getMesPM",23); end; } set @time,@whispervar2$; if(@time==0 && @whispervar2$!="unban" || @time==0 && @whispervar2$!="showtime") { dispbottom callfunc("getMesPM",24); end; } set @id,0; query_sql("select id from pvpm_data where name='"+@whispervar1$+"' and type="+@whispervar3$,@id); if(!@id && @whispervar3$=="0" || !@id && @whispervar3$=="2") { dispbottom callfunc("getMesPM",25); end; } set @bantime,0; if(compare(@whispervar2$,"-")) query_sql("update pvpm_data set ban=ban"+@time+" where id="+@id+" limit 1"); else query_sql("update pvpm_data set ban=ban+"+@time+" where id="+@id+" limit 1"); query_sql("select ban from pvpm_data where id="+@id+" limit 1",@bantime); dispbottom callfunc("getMesPM",26)+" ("+@bantime+" "+callfunc("getMesPM",27)+")"; message @whispervar1$,callfunc("getMesPM",28)+" "+@bantime+" "+callfunc("getMesPM",27)+"."; warpchar "prontera",150,150,getcharid(0,@whispervar1$); end; } if (compare(@whispervar0$,"!map") && getgmlevel()>=70) { if (compare(@whispervar1$,"add")) { if(getarraysize($@IDPM)>=10) { dispbottom callfunc("getMesPM",29); dispbottom callfunc("getMesPM",30); end; } set @type,@whispervar3$; if(!@type && @whispervar3$==""||@type>2) { dispbottom callfunc("getMesPM",31); dispbottom callfunc("getMesPM",32); dispbottom callfunc("getMesPM",33); end; } set @mapcheck$,""; query_sql("select map from pvpm_map where map='"+@whispervar2$+"' limit 1",@mapcheck$); if(@mapcheck$!="") { dispbottom callfunc("getMesPM",34); end; } query_sql("insert into `pvpm_map` (id,map,type) values ("+(getarraysize($@IDPM)-1)+",'"+@whispervar2$+"',"+@type+")"); dispbottom callfunc("getMesPM",35)+" ("+@whispervar2$+")"; doevent "init_PM::OnReloadListMap"; } if (compare(@whispervar1$,"del")) { if(getarraysize($@IDPM)<=1) { dispbottom callfunc("getMesPM",36); end; } query_sql("select map from pvpm_map where map='"+@whispervar2$+"'",@mapcheck$); if(@mapcheck$=="") { dispbottom callfunc("getMesPM",37); end; } query_sql("delete from pvpm_map where map='"+@whispervar2$+"'"); dispbottom callfunc("getMesPM",38)+" ("+@whispervar2$+")"; doevent "init_PM::OnReloadListMap"; } if (compare(@whispervar1$,"list")) { for(set @i,0;@i<=(getarraysize($@IDPM)-1);set @i,@i+1) dispbottom "["+(@i+1)+"] "+$@mapPM$[@i]; end; } end; } if (compare(@whispervar0$,"!help")) { if(compare(@whispervar1$,"!warp")) { dispbottom callfunc("getMesPM",39); dispbottom callfunc("getMesPM",40); dispbottom "- !warp#1;!warp#2;...!warp#5 .."; dispbottom callfunc("getMesPM",41); end; } if(compare(@whispervar1$,"!ranking")) { dispbottom callfunc("getMesPM",39); dispbottom callfunc("getMesPM",42); dispbottom "- !ranking#pvp;!ranking#pvp#die;!ranking#gvg;!ranking#gvg#die;!ranking#ratio"; dispbottom "- !ranking2#pvp;!ranking2#pvp#die;!ranking2#gvg;!ranking2#gvg#die;!ranking2#ratio; (Mostra somente sua posição)"; dispbottom callfunc("getMesPM",43);; end; } if(compare(@whispervar1$,"!pvplider") || compare(@whispervar1$,"!gvglider")) { dispbottom callfunc("getMesPM",39); dispbottom callfunc("getMesPM",44);; end; } if(compare(@whispervar1$,"!exit")) { dispbottom callfunc("getMesPM",39); dispbottom callfunc("getMesPM",45); end; } if(compare(@whispervar1$,"!ban") && getgmlevel()>=70) { dispbottom callfunc("getMesPM",39); dispbottom callfunc("getMesPM",46); dispbottom callfunc("getMesPM",47); dispbottom callfunc("getMesPM",48); dispbottom callfunc("getMesPM",49); dispbottom callfunc("getMesPM",50); end; } if(compare(@whispervar1$,"!map") && getgmlevel()>=70) { dispbottom callfunc("getMesPM",39); dispbottom callfunc("getMesPM",51); dispbottom callfunc("getMesPM",52); dispbottom "- Type: 0 = Arena PvP; 1 = Arena PvP Baby; 2 Arena GvG;"; dispbottom callfunc("getMesPM",53); end; } if(compare(@whispervar1$,"!truncate") && getgmlevel()>=70) { dispbottom callfunc("getMesPM",39); dispbottom callfunc("getMesPM",54); dispbottom callfunc("getMesPM",55); dispbottom callfunc("getMesPM",56); end; } dispbottom callfunc("getMesPM",57); end; } dispbottom callfunc("getMesPM",58); dispbottom callfunc("getMesPM",59); dispbottom callfunc("getMesPM",60); dispbottom callfunc("getMesPM",61); dispbottom callfunc("getMesPM",62); dispbottom callfunc("getMesPM",63); dispbottom callfunc("getMesPM",64); dispbottom callfunc("getMesPM",65); if(getgmlevel()>=70) { dispbottom callfunc("getMesPM",66); dispbottom callfunc("getMesPM",67); dispbottom callfunc("getMesPM",68); dispbottom callfunc("getMesPM",69); } } - script event#pvpm -1,{ OnInit: OnTimer60000: query_sql("update pvpm_data set ban=ban-1 where ban>0"); initnpctimer; end; OnPCKillEvent: callfunc("pvpm_func","PCKillEvent"); OnPCDieEvent: callfunc("pvpm_func","PCDieEvent"); OnPCLoadMapEvent: callfunc("pvpm_func","PCLoadEvent"); } function script pvpm_func { if (getarg(0) == "Ranking1") { deletearray @name$[0],getarraysize(@name$); deletearray @points[0],getarraysize(@points); query_sql "select name,"+getarg(1)+" from pvpm_data where type="+getarg(2)+" and "+getarg(1)+"!=0 order by "+getarg(1)+" desc limit 125",@name$,@points; dispbottom "======= Ranking - "+getarg(3)+" ======="; for(set @i,0;@i != $@showsRankUntil;set @i,@i+1) { if(@name$[@i]=="") return; dispbottom (@i+1)+"º | "+@name$[@i]+" | "+@points[@i]; } return; } if (getarg(0) == "Ranking2") { deletearray @name$[0],getarraysize(@name$); deletearray @points[0],getarraysize(@points); query_sql "select id,"+getarg(1)+" from pvpm_data where type="+getarg(2)+" order by "+getarg(1)+" desc limit 125",@id,@points; for(set @i,0;@i <= 125;set @i,@i+1) { if (@id[@i] == getcharid(getarg(2))) { dispbottom "- "+strcharinfo(getarg(2))+" | "+(@i+1)+"º | "+@points[@i]; return; } } dispbottom callfunc("getMesPM",70); return; } if(getarg(0)=="Warp") { if(getarg(1)) { if($@MapTypePM[(getarg(2)-1)]==2 && !getcharid(2)) { mes $@pvpm_name$; mes callfunc("getMesPM",71); close; } if($@MapTypePM[(getarg(2)-1)]==1 && Upper!=2) { mes $@pvpm_name$; mes callfunc("getMesPM",72); close; } if($@MapTypePM==0||$@MapTypePM==1) callfunc("pvpm_func","ban",0,1); else callfunc("pvpm_func","ban",2,1); } else { getmapxy(@map$,@x,@y); if($@mapPM$[(getarg(2)-1)]==@map$) { dispbottom "<!!!> "+callfunc("getMesPM",73); end; } if($@MapTypePM[(getarg(2)-1)]==2) { dispbottom "<!!!> "+callfunc("getMesPM",71); end; } if($@MapTypePM[(getarg(2)-1)]==1 && Upper!=2) { dispbottom "<!!!> "+callfunc("getMesPM",72); end; } if($@MapTypePM==0||$@MapTypePM==1) callfunc("pvpm_func","ban",0); else callfunc("pvpm_func","ban",2); } set @MapIDx,(getarg(2)-1); if($@breakBuffs) sc_end -1; warp $@mapPM$[(getarg(2)-1)],0,0; end; } if (getarg(0) == "ban") { set @bantime,0; query_sql("select ban from pvpm_data where id="+getcharid(getarg(1))+" limit 1",@bantime); if(!@bantime) return; if(!getarg(2,0)) { dispbottom "<!!!> "+callfunc("getMesPM",74)+" "+@bantime+" "+callfunc("getMesPM",27)+"!"; end; } else { mes "^FF7F50<!!!> ^FFA500"+callfunc("getMesPM",74)+" ^FF7F50"+@bantime+"^FFA500 "+callfunc("getMesPM",27)+"!"; close; } } if (getarg(0) == "Up") { if($@getEXPoption) callfunc("pvpm_func","getexp"); set @name$,""; set @points,0; query_sql("select name,"+getarg(1)+" from pvpm_data where id="+getcharid(getarg(2))+" and type="+getarg(2)+" limit 1",@name$,@points); if (@name$=="") { query_sql("INSERT INTO pvpm_data (id,"+getarg(1)+",name,annc,type) values ("+getcharid(getarg(2))+",1,'"+strcharinfo(getarg(2))+"',"+getarg(3)+","+getarg(2)+")"); dispbottom "Score: 1"; end; } query_sql("update pvpm_data set "+getarg(1)+"="+getarg(1)+"+1 where id="+getcharid(getarg(2))); set @points,@points+1; if($@mainRanking) { set @kills,0; set @dies,0; query_sql("select kills,dies from pvpm_data where id="+getcharid(getarg(2))+" and type="+getarg(2)+" limit 1",@kills,@dies); query_sql("update pvpm_data set ratio="+(@kills-@dies)+" where id="+getcharid(getarg(2))+" and type="+getarg(2)+" limit 1"); set @points,@kills-@dies; return; } return; } if (getarg(0) == "ChangeLeader") { set @L_name$,""; set @L_points,0; if(!$@mainRanking) query_sql("select name,kills from pvpm_data where leader=1 and type="+getarg(1)+" limit 1",@L_name$,@L_points); else query_sql("select name,ratio from pvpm_data where leader=1 and type="+getarg(1)+" limit 1",@L_name$,@L_points); if (@points > @L_points && @L_name$ != strcharinfo(getarg(1))) { query_sql("update pvpm_data set leader=0 where type="+getarg(1)); query_sql("update pvpm_data set leader=1 where id="+getcharid(getarg(1))+" and type="+getarg(1)); mapannounce @map$,strcharinfo(getarg(1))+" | "+callfunc("getMesPM",75)+" !",bc_map,0xFF7F50; set $@Player_Lider$,""; set $@Guild_Lider$,""; query_sql("select name from pvpm_data where leader=1 and type=0 limit 1",$@Player_Lider$); query_sql("select name from pvpm_data where leader=1 and type=2 limit 1",$@Guild_Lider$); } return; } if (getarg(0) == "Annc") { set @points,0; set @annc,0; query_sql "select kills,annc from pvpm_data where id="+getcharid(getarg(1))+" and type="+getarg(1),@points,@annc; if(!@annc) query_sql "update pvpm_data set annc=annc+"+getarg(2)+" where id="+getcharid(getarg(1))+" and type="+getarg(1); if (@points >= @annc) { Announce strcharinfo(getarg(1))+" | "+@points+" "+callfunc("getMesPM",76)+"! ["+getarg(3)+"]",bc_all,0xFF7F50; query_sql "update pvpm_data set annc=annc+"+getarg(2)+" where id="+getcharid(getarg(1))+" and type="+getarg(1); if($@sound==1||$@sound==3) soundeffectall "Monster Kill.wav",0; } if(!$@sound||$@sound==1) return; if(getarg(3)=="PvP") { if(@noMoreSounds&&@withoutDying==@withoutDyingAnnc) { mapannounce @map$,strcharinfo(0)+" | "+$@SoundList$[@noMoreSounds]+"! [ "+@withoutDying+" "+callfunc("getMesPM",76)+" ]",bc_map,0xFF7F50; soundeffectall $@SoundList$[@noMoreSounds]+".wav",0,@map$; set @withoutDyingAnnc,@withoutDyingAnnc+5; return; } if($@SoundList$[@withoutDying]=="end") { set @withoutDyingAnnc,@withoutDyingAnnc+5; set @noMoreSounds,@withoutDying-1; } if($@SoundList$[@withoutDying]!=""&&!@noMoreSounds) { mapannounce @map$,strcharinfo(0)+" | "+$@SoundList$[@withoutDying]+" ! [ "+@withoutDying+" "+callfunc("getMesPM",76)+" ]",bc_map,0xFF7F50; soundeffectall $@SoundList$[@withoutDying]+".wav",0,@map$; } } return; } if(getarg(0) == "PCKillEvent") { set @Live,1; if(@RightWoEMap) { if($@CountPointsInWoE==1 || $@CountPointsInWoE==3) callfunc "pvpm_func","Up","kills",0,100; dispbottom "Player Score: "+@points; if($@CountPointsInWoE==2 || $@CountPointsInWoE==3) callfunc "pvpm_func","Up","kills",2,1000; dispbottom "Guild Score: "+@points; end; } getmapxy(@map$,@x,@y); if(@map$==$@mapPM$[@MapIDx] && $@MapTypePM[@MapIDx]>=0 && $@MapTypePM[@MapIDx]<=1 || $@PK_Mode) { set @withoutDying,@withoutDying+1; callfunc("pvpm_func","Up","kills",0,100); dispbottom "Player Score: "+@points; callfunc("pvpm_func","ChangeLeader",0); callfunc("pvpm_func","Annc",0,100,"PvP"); } if(@map$==$@mapPM$[@MapIDx] && $@MapTypePM[@MapIDx]==2 && getcharid(2) || $@PK_Mode && getcharid(2)) { callfunc("pvpm_func","Up","kills",2,1000); dispbottom "Guild Score: "+@points; callfunc("pvpm_func","ChangeLeader",2); callfunc("pvpm_func","Annc",2,1000,"GvG"); } end; } if(getarg(0) == "PCDieEvent") { set @Live,0; if(@RightWoEMap) { if($@CountPointsInWoE==1 || $@CountPointsInWoE==3) { callfunc "pvpm_func","Up","dies",0,100; if($@mainRanking) dispbottom "Player Score: "+@points; } if($@CountPointsInWoE==2 || $@CountPointsInWoE==3) { callfunc "pvpm_func","Up","dies",2,1000; if($@mainRanking) dispbottom "Guild Score: "+@points; } } set @withoutDying,0; set @noMoreSounds,0; set @withoutDyingAnnc,0; set @MapIDx,0; set @RightWoEMap,0; getmapxy(@map$,@x,@y); if(@map$==$@mapPM$[@MapIDx] && $@MapTypePM[@MapIDx]>=0 && $@MapTypePM[@MapIDx]<=1 || $@PK_Mode) { callfunc "pvpm_func","Up","dies",0,100; if($@mainRanking) dispbottom "Player Score: "+@points; } if(@map$==$@mapPM$[@MapIDx] && $@MapTypePM[@MapIDx]==2 && getcharid(2) || $@PK_Mode && getcharid(2)) { callfunc "pvpm_func","Up","dies",2,1000; if($@mainRanking) dispbottom "Guild Score: "+@points; } end; } if(getarg(0) == "PCLoadEvent") { getmapxy(@map$,@x,@y); if(getcastlename(@map$)=="") { set @RightWoEMap,0; end; } if(agitcheck() || agitcheck2()) set @RightWoEMap,1; end; } if(getarg(0) == "getexp") { if(@Live) { attachrid(killedrid); set .@BaseLevel,BaseLevel; attachrid(killerrid); if($@getEXPoption==1) set @EXP,(($@getEXP*.@BaseLevel)/BaseLevel); else set @EXP,$@getEXP; getexp @EXP,@EXP; dispbottom callfunc("getMesPM",77)+" "+@EXP+" EXP."; } else { if(BaseExp) set BaseExp,BaseExp-$@lostEXP; if(JobExp) set JobExp,JobExp-$@lostEXP; dispbottom callfunc("getMesPM",78)+" "+$@lostEXP+" EXP.";; } return; } OnPCLoginEvent: if (update pvpm_data set leader=0 where type="+getarg(1)) hateffect(HAT_EF_LEVEL99_SUN_ORANGE, true); end; } function script getMesPM { return getd("$@PM_Lang"+PM_Lang+"$["+getarg(0)+"]"); } //================== DUPLICATE ===================== prontera,151,193,4 duplicate(PM_source) [PvP] Arena#1 899 morocc,152,97,4 duplicate(PM_source) [PvP] Arena#2 899 geffen,127,65,4 duplicate(PM_source) [PvP] Arena#3 899 alberta,26,240,4 duplicate(PM_source) [PvP] Arena#4 899 izlude,122,119,4 duplicate(PM_source) [PvP] Arena#5 899 aldebaran,147,119,4 duplicate(PM_source) [PvP] Arena#6 899 xmas,145,136,4 duplicate(PM_source) [PvP] Arena#7 899 comodo,184,158,4 duplicate(PM_source) [PvP] Arena#8 899 gonryun,161,126,4 duplicate(PM_source) [PvP] Arena#9 899 louyang,226,106,4 duplicate(PM_source) [PvP] Arena#10 899 ayothaya,155,121,4 duplicate(PM_source) [PvP] Arena#11 899 hugel,87,164,4 duplicate(PM_source) [PvP] Arena#12 899 moscovia,209,190,5 duplicate(PM_source) [PvP] Arena#13 899 kalindor,136,164,5 duplicate(PM_source) [PvP] Arena#14 899 //================== WOE ===================== //Necessário para ativar o sistema de contagem dos pontos na woe. //caso queira desativar algum mapa, retire-o daqui. aldeg_cas01 mapflag loadevent aldeg_cas02 mapflag loadevent aldeg_cas03 mapflag loadevent aldeg_cas04 mapflag loadevent gefg_cas01 mapflag loadevent gefg_cas02 mapflag loadevent gefg_cas03 mapflag loadevent gefg_cas04 mapflag loadevent gefg_cas05 mapflag loadevent payg_cas01 mapflag loadevent payg_cas02 mapflag loadevent payg_cas03 mapflag loadevent payg_cas04 mapflag loadevent payg_cas05 mapflag loadevent prtg_cas01 mapflag loadevent prtg_cas02 mapflag loadevent prtg_cas03 mapflag loadevent prtg_cas04 mapflag loadevent prtg_cas05 mapflag loadevent schg_cas01 mapflag loadevent schg_cas02 mapflag loadevent schg_cas03 mapflag loadevent schg_cas04 mapflag loadevent schg_cas05 mapflag loadevent arug_cas01 mapflag loadevent arug_cas02 mapflag loadevent arug_cas03 mapflag loadevent arug_cas04 mapflag loadevent arug_cas05 mapflag loadevent //NÃO APAGUE DAQUI PARA BAIXO! pay_gld mapflag loadevent prt_gld mapflag loadevent sch_gld mapflag loadevent aru_gld mapflag loadevent gef_fild13 mapflag loadevent alde_gld mapflag loadevent n_castle mapflag loadevent
  7. como eu faço pra verificar qual personagem é o lider pvp? estou usando o pvp do mooka.
  8. Good afternoon, I need a npc that the leader of a guild rent a room and that only members of his guild have access to the room. Example: guild leader rented the room, the member typed the command @guildroom, if he is a member of the guild he will enter the room, if not, the message will appear: you do not have a guild with a guild room. remembering that if another guild leader is going to rent, there will be other rooms too, I will leave 30 rooms ready I thank you for your attention.
  9. Boa noite galera, gostaria de um caminho, de como eu faço pro lider do pvp ter uma aura ou em efeito no personagem? desde já obrigado pela atenção.
  10. if(getgroupid()>=$@NvVip) { if($@ExpBonus==1) { sc_start SC_CASH_PLUSEXP,60000000,$@ExpRate[0]; } if($@ExpBonus==2) { sc_start SC_CASH_RECEIVEITEM,60000000,$@ExpRate[1]; } if($@ExpBonus==3) { sc_start SC_CASH_PLUSEXP,60000000,$@ExpRate[0]; sc_start SC_CASH_RECEIVEITEM,60000000,$@ExpRate[1]; } Hello, I'm having problems with this script, it's petrifying the player, I ask for help to fix it. Thanks in advance for your attention
  11. taking advantage of the topic, I also searched and did not find ... and behind a npc x1 with rank, where a player talks to him and the player and is sent to arena x1 and it is announced that player x is looking for someone in arena x1, and when another player accepts npc he sends another global saying: player y accepted the challenge from player x. and when the battle is over the two are sent back to the city. and while there is a battle the npc no longer accepts
  12. It worked, thank you very much taking advantage of the momentum, I'm having problems with sleep 2 only in the logs, the npv works normal, but I want to fix it. I already changed sleep2 for sleep but there was another error: sleep 1000; for(set .@p,0;.@p<getarraysize($@tarot_participantes$);set .@p,.@p+1){ sleep2 1000; if(getmapusers("poring_w01") == 1){goto Vencer;} attachrid(getcharid(3,$@tarot_participantes$[.@p])); if( strcharinfo(3) == $@mapeventtarot$[0] ){ set .@CARDs,522+rand(1,14); specialeffect2 .@CARDs, strcharinfo(0); if( .@CARDs == 531 ){ deletearray $@tarot_participantes$[.@p], 1; percentheal -99,-99; sleep2 1500; warp "SavePoint",0,0; [Error]: buildin_warp: fatal error ! player not attached! [Debug]: Function: warp (3 parameters): [Debug]: Data: string value="SavePoint" [Debug]: Data: number value=0 [Debug]: Data: number value=0 [Debug]: Source (NPC): Tarot Event (invisible/not on a map) want me to post the full npc?
  13. one of the npc that i tried to use and gave the error //= Corrida Poring //===== Mapflags: ============================================= p_track02 mapflag nobranch p_track02 mapflag noicewall p_track02 mapflag nomemo p_track02 mapflag noreturn p_track02 mapflag noteleport p_track02 mapflag nowarpto p_track02 mapflag nowarp p_track02 mapflag pvp off p_track02 mapflag nosave //====== Teleporte: ============================================ prontera,147,175,6 script Poring Race#prace0 4_F_SON,{ if($prace_gate == 0){ mes "[Warper]"; mes "Desculpe, mas a Corrida dos Porings está fechada."; close; } mes "[Warper]"; mes "Olá "+strcharinfo(0)+", você quer ir"; mes "para a Corrida dos Porings?"; if(select("Sim, claro.:Não, obrigado.") == 2) close; close2; warp "p_track02",55,41; end; } //====== Warps: ================================================ hugel,45,57,0 warp p_track001 2,2,p_track02,75,42 p_track02,78,42,0 warp p_track002 1,3,hugel,48,60 //====== Checker: ============================================== p_track02,44,41,0 script Checker#prace0 -1,{ end; OnChequeo: set .@prace_prize, 607; // ID do prêmio para quem vencer. set .@prace_prize_quantity, 100; // Quantidade do prêmio. set $prace_gate,0; for(set .@i,0; .@i < (getarraysize($prace_bidders)); set .@i, .@i + 1){ if(attachrid($prace_bidders[.@i])){ if (@prace_playing!=1) end; set @z, rand(150000,400000); dispbottom "O vencedor é o "+$prace_winner$+" e você apostou em "+@prace_winner$+"."; if (@prace_winner$==$prace_winner$ && @prace_winner$!=""){ dispbottom "Você venceu! Prêmio: 1 "+getitemname(@id); mapannounce "p_track02"," Parabéns! "+strcharinfo(0)+" venceu!",1,0xFFAB54; getitem .@prace_prize,1; emotion 21,1; warp "prontera",150,170; } else { dispbottom "Você perdeu."; emotion 28,1; warp "prontera",150,170; } set @prace_winner$,"";set @prace_playing,0; } //else { announce .@i+" || "+$prace_bidders[.@i],bc_all; } //debug } for(set .@i,0; .@i < (getarraysize($prace_bidders)); set .@i, .@i + 1) set $prace_bidders[.@i],0; } - script Timers#prace0 -1,{ OnClock0000: callsub OnCalll; OnClock0200: callsub OnCalll; OnClock0400: callsub OnCalll; OnClock0600: callsub OnCalll; OnClock0800: callsub OnCalll; OnClock1000: callsub OnCalll; OnClock1200: callsub OnCalll; OnClock1400: callsub OnCalll; OnClock1600: callsub OnCalll; OnClock1800: callsub OnCalll; OnClock2000: callsub OnCalll; OnClock1318: callsub OnCalll; OnCalll: set $prace_gate,1; announce "A 'Corrida dos Porings' irá começar em breve, façam suas apostas!",bc_all|bc_yellow; end; } //====== Principal: ============================================ p_track02,61,42,5 script Bidder#prace0 4_M_05,{ set .@prace_zeny,100000; // Preço para apostar. if ($prace_random < 1) callsub OnInit; if (@prace_playing==1) callsub AlreadyPlaying; if($prace_gate == 0){ mes "[Bidder]"; mes "Uma corrida está em andamento..."; close; } getmapxy(.@mapname$,.@x1,.@y,1,"Poring#prace1"); getmapxy(.@mapname$,.@x2,.@y,1,"Angeling#prace2"); getmapxy(.@mapname$,.@x3,.@y,1,"Metaling#prace3"); getmapxy(.@mapname$,.@x4,.@y,1,"Deviling#prace4"); getmapxy(.@mapname$,.@x5,.@y,1,"Poring Noel#prace5"); getmapxy(.@mapname$,.@x6,.@y,1,"Poporing#prace6"); if (.@x1 != 58 || .@x2 != 58 || .@x3 != 58 || .@x4 != 58 || .@x5 != 58 || .@x6 != 58){ mes "[Bidder]"; mes "Uma corrida está em andamento..."; close; } mes "[Bidder]"; mes "Escolha o poring em que deseja apostar:";mes "Irá custar "+.@prace_zeny+" Zeny.";next; switch(select("Poring","Angeling","Metaling","Deviling","Poring Noel","Poporing")){ case 1: callfunc "OnBid","Poring"; case 2: callfunc "OnBid","Angeling"; case 3: callfunc "OnBid","Metaling"; case 4: callfunc "OnBid","Deviling"; case 5: callfunc "OnBid","Poring Noel"; case 6: callfunc "OnBid","Poporing"; } OnReady: set $prace_bets,$prace_bets+1; set $prace_bidders[$prace_bets],getcharid(3); set @prace_playing,1; mes "[Bidder]"; mes "Eu tenho "+$prace_bets+" apostas."; setnpctimer 60000; startnpctimer; npctalk strcharinfo(0)+" fez sua aposta!"; close; Start1: setnpctimer 0; startnpctimer; end; AlreadyPlaying: mes "[Bidder]"; mes "Você apostou em ^00bb00"+@prace_winner$+"^000000."; close; StartRace: donpcevent "Metaling#prace3::OnRace"; donpcevent "Poring#prace1::OnRace"; donpcevent "Poporing#prace6::OnRace"; donpcevent "Angeling#prace2::OnRace"; donpcevent "Poring Noel#prace5::OnRace"; donpcevent "Deviling#prace4::OnRace"; end; OnStopRace: donpcevent "Poring#prace1::OnStop"; donpcevent "Angeling#prace2::OnStop"; donpcevent "Metaling#prace3::OnStop"; donpcevent "Deviling#prace4::OnStop"; donpcevent "Poring Noel#prace5::OnStop"; donpcevent "Poporing#prace6::OnStop"; if ($prace_winner$!="") callsub WinRace; end; ReturnRace: donpcevent "Poring#prace1::OnReturn"; donpcevent "Angeling#prace2::OnReturn"; donpcevent "Metaling#prace3::OnReturn"; donpcevent "Deviling#prace4::OnReturn"; donpcevent "Poring Noel#prace5::OnReturn"; donpcevent "Poporing#prace6::OnReturn"; end; WinRace: set $prace_gate,0; mapannounce "p_track02","O vencedor é o "+$prace_winner$+".",1,0xFFAB54; donpcevent "Checker#prace0::OnChequeo"; setnpctimer 30000;startnpctimer; end; OnInit: set $prace_random,70; set $prace_random2,600; set $prace_winner$,""; set $prace_bets,0; set $prace_bidders,0; end; OnTimer500: mapannounce "p_track02","Porings, em suas marcas...",1,0xFFAB54; end; OnTimer3000: mapannounce "p_track02","...3...",1,0xFFAB54; end; OnTimer4000: mapannounce "p_track02","...2...",1,0xFFAB54; end; OnTimer5000: mapannounce "p_track02","...1...",1,0xFFAB54; callsub StartRace; end; OnTimer6000: stopnpctimer; mapannounce "p_track02","Gooo!!!",1,0xFFAB54; end; OnTimer35000: set $prace_winner$,""; set $prace_bets,0; stopnpctimer; callsub ReturnRace; OnTimer90000: npctalk "Eu tenho "+$prace_bets+" aposta(s). Alguém mais?"; end; OnTimer110000: npctalk "A corrida irá começar em breve. Última chance."; end; OnTimer120000: callsub Start1; } //====== Função Apostar: ======================================= function script OnBid { getmapxy(.@mapname$,.@x1,.@y,1,"Poring#prace1"); getmapxy(.@mapname$,.@x2,.@y,1,"Angeling#prace2"); getmapxy(.@mapname$,.@x3,.@y,1,"Metaling#prace3"); getmapxy(.@mapname$,.@x4,.@y,1,"Deviling#prace4"); getmapxy(.@mapname$,.@x5,.@y,1,"Poring Noel#prace5"); getmapxy(.@mapname$,.@x6,.@y,1,"Poporing#prace6"); if (.@x1 == 58 || .@x2 == 58 || .@x3 == 58 || .@x4 == 58 || .@x5 == 58 || .@x6 == 58){ if (Zeny < .@prace_zeny) { callsub OnZeny; } else { set Zeny,Zeny-.@prace_zeny; } set @prace_winner$,getarg(0); callsub OnReady; } mes "[Bidder]"; mes "Uma corrida está em andamento..."; close; OnZeny: set @prace_winner$,""; mes "[Bidder]"; mes "Você não tem Zeny suficiente."; close; OnReady: set $prace_bets,$prace_bets+1; set $prace_bidders[$prace_bets],getcharid(3); set @prace_playing,1; mes "[Bidder]"; mes "Eu tenho "+$prace_bets+" apostas."; setnpctimer 60000; startnpctimer; npctalk strcharinfo(0)+" fez sua aposta!"; close; } //====== Monstros: ============================================== p_track02,58,38,2 script Poring#prace1 PORING,{ end; OnRace: initnpctimer; startnpctimer; end; OnStop: stopnpctimer; end; OnReturn: npcwalkto 58,38; end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Poring#prace1"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2); startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Poring"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } } p_track02,58,36,2 script Angeling#prace2 ANGELING,{ end; OnRace: initnpctimer; startnpctimer; end; OnStop: stopnpctimer; end; OnReturn: npcwalkto 58,36; end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Angeling#prace2"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2); startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Angeling"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } } p_track02,58,34,2 script Metaling#prace3 METALING,{ end; OnRace: initnpctimer; startnpctimer; end; OnStop: stopnpctimer; end; OnReturn: npcwalkto 58,34; end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Metaling#prace3"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2); startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Metaling"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } } p_track02,58,32,2 script Deviling#prace4 DEVILING,{ end; OnRace: initnpctimer; startnpctimer; end; OnStop: stopnpctimer; end; OnReturn: npcwalkto 58,32; end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Deviling#prace4"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2); startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Deviling"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } } p_track02,58,30,2 script Poring Noel#prace5 PORING_,{ end; OnRace: initnpctimer; startnpctimer; end; OnStop: stopnpctimer; end; OnReturn: npcwalkto 58,30; end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Poring Noel#prace5"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2); startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Poring Noel"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } } p_track02,58,28,2 script Poporing#prace6 POPORING,{ end; OnRace: initnpctimer; startnpctimer; end; OnStop: stopnpctimer; end; OnReturn: npcwalkto 58,28; end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Poporing#prace6"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2); startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Poporing"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } }
  14. Você viu se o clã tem a habilidade que permite bater?
  15. hello, I'm having a problem with the poring race event, it all comes down to the event that goes to the npc to place the bet, he already has a race in progress, and in the log the following error: [Error]: buildin_getmapxy: Player with nick 'Poring#prace1' is not found. [Error]: buildin_getmapxy: Player with map id '0' is not found. [Error]: buildin_getmapxy: Player with nick 'Angeling#prace2' is not found. [Error]: buildin_getmapxy: Player with map id '0' is not found. [Error]: buildin_getmapxy: Player with nick 'Metaling#prace3' is not found. [Error]: buildin_getmapxy: Player with map id '0' is not found. [Error]: buildin_getmapxy: Player with nick 'Deviling#prace4' is not found. [Error]: buildin_getmapxy: Player with map id '0' is not found. [Error]: buildin_getmapxy: Player with nick 'Poring Noel#prace5' is not found. [Error]: buildin_getmapxy: Player with map id '0' is not found. [Error]: buildin_getmapxy: Player with nick 'Poporing#prace6' is not found. [Error]: buildin_getmapxy: Player with map id '0' is not found. can someone help me?
  16. prontera,132,189,7 script ConfigA -1,{ OnNPCKillEvent: set .@iEquip,20327; set .@iMob,3041; if(killedrid == .@iMob) { if(getequipid(EQI_HAND_L) == .@iEquip || getequipid(EQI_HAND_R) == .@iEquip) { if(rand(1,100) <= 40) { if(getequipid(2) == .@iEquip) delequip(2); message strcharinfo(0),"your "+getitemname(.@iEquip)+" break!!"; if(getequipid(4) == .@iEquip) delequip(4); message strcharinfo(0),"your "+getitemname(.@iEquip)+" break!!"; } } } if(getequipid(EQI_HAND_L) == .@iEquip || getequipid(EQI_HAND_R) == .@iEquip) if(killedrid == 3041) { if(rand(1,100) <= 5){ getitem 20326,1; } if(rand(1,100) <= 20){ getitem 20325,1; } } } Equipped weapon not being deleted, message but not delete
  17. I did like his then and modified the line you sited, now apparently it's 100% Taking advantage of that would be to put a global for when the item was refined +8 +9 and +10 saying: Player X has refined the item to +8, and so on.
  18. it worked but I couldn't translate it. Perfect, thank you so much for your help When I select the equipment goes to this message, before changing would not ... if(!getequipisequiped(@part)) { mes .npcname$; mes "Você não está vestindo nada lá que eu possa refinar."; emotion e_an; close; }
  19. It does not appear which item is equipped, and when you select the item that has no equipment.
  20. That would be the full npc I'm using.
  21. Good evening, when selecting which item to refine in npc custom doesn't appear the right accessory in the options, what can it be? No error in mapserv setarray .@position$[1], "Acessório E","Sapato","Capa","Cabeça abaixo","Cabeça meio","Cabeça acima","Corpo","Mão direita","Mão esquerda","Acessório D"; set .@menu$, ""; for(.@i = 1; .@i <= 10; .@i++) { if(getequipisequiped(.@i)) { set .@menu$, .@menu$ + .@position$[.@i] + " - " + "[" + getequipname(.@i) + "]"; .@equipped = 1; } set .@menu$, .@menu$ + ":"; }
  22. How to add the command to show how much time is left to win 1 point example: @ presence (You are online 47 minutes ago)
  23. powkda

    Erods-Fusion Help

    // --- SQL // These are the SQL database settings for ERODS-FUSION. Please note: // * The old 1.16 ERODS database will NOT work // * Your eAthena SQL item/mob database will NOT work 'sql' => array ( 'server' => 'localhost', 'database' => 'database', 'user' => 'user_db', 'password' => 'password_user', 'port' => '3306', 'charset' => 'utf8', ),
  24. powkda

    Erods-Fusion Help

    Rune-Asgard =========== Database online baseada na ERODS FUSION 1.3 criada e distribuída livremente pelo OutOfCuriosity. this one here
  25. powkda

    Erods-Fusion Help

    that same, only hosted
×
×
  • Create New...