loliserver
New member
- Messages
- 34
- Points
- 0
- Emulator
Buenas noches, por ahí me encontre el siguiente script de PVP, lo estoy probando en mi servidor local, pero encontre un problema, al parecer con las variables a la hora de mostrar los tops pues no se muestran en el NPC.
Adjunto imagen:
Lo demás funciona bien pero creo que es enla función: callfunc ("PvPRank",Muertes,strcharinfo(0));
Ya he testeado con cuentas normales y con la del GM pero no son mostrados en el Top 5.
Este es el script:
// PvP Rank Top 5 by Rokimokiprontera,165,168,0 script PvP Warp 45,2,2,{end;OnTouch: switch (rand(1,5)) { case 1: // Izquierda warp "pvp_n_1-5",65,99; break; case 2: // Abajo warp "pvp_n_1-5",99,65; break; case 3: // Derecha warp "pvp_n_1-5",134,100; break; case 4: // Arriba warp "pvp_n_1-5",100,134; break; case 5: // Aleatorio warp "pvp_n_1-5",0,0; break; } // End switchend;} // End Scriptprontera,165,168,3 script PvP Rank#PvP:
vPW 837,{mes "[^FF0000Rank PvP^000000]";mes "Top 1: ^0000FF" +$top1pvp$ +"^000000 muertes: ^FF0000" +$top1pvp +"^000000.";mes "Top 2: ^0000FF" +$top2pvp$ +"^000000 muertes: ^FF0000" +$top2pvp +"^000000.";mes "Top 3: ^0000FF" +$top3pvp$ +"^000000 muertes: ^FF0000" +$top3pvp +"^000000.";mes "Top 4: ^0000FF" +$top4pvp$ +"^000000 muertes: ^FF0000" +$top4pvp +"^000000.";mes "Top 5: ^0000FF" +$top5pvp$ +"^000000 muertes: ^FF0000" +$top5pvp +"^000000.";close;OnInit: do { delwaitingroom; waitingroom "PvP Warp [" +getmapusers("pvp_n_1-5") +" users]",0; sleep 50; // Evites super infinity loop } while(1); // End Loopend;} // End Script - script PvPAnnounce -1,{OnPCKillEvent: getmapxy(.@mapa$,.@x,.@y,0); if (.@mapa$ != "pvp_n_1-5") end; if (rid2name(killedrid) == strcharinfo(0)) { mapannounce .@mapa$,"El jugador [" +strcharinfo(0) +"] se ha suicidado.",bc_blue; } else { mapannounce .@mapa$,"El jugador [" +strcharinfo(0) +"] ha asesinado a [" +rid2name(killedrid) +"]",bc_blue; set Muertes, Muertes + 1; callfunc ("PvPRank",Muertes,strcharinfo(0)); } // End ifend;} // End Scriptpvp_n_1-5 mapflag nopenalty- script MapLoad -1,{OnPCLoadMapEvent: getmapxy (.@mapa$,.@x,.@y,0); if (.@mapa$ != "pvp_n_1-5") end; dispbottom "[PvP Rank]: Has matado : " +Muertes +" en PvP.";end;} // End Scriptpvp_n_1-5 mapflag loadeventfunction script PvPRank {set @mvptotal, getarg(0);set @nomb$, getarg(1);if (@mvptotal > $top1pvp) { if ($top1pvp$ == strcharinfo(0)) { // Si estamos en top 1 // Simplemente seguimos contando set $top1pvp, @mvptotal; set $top1pvp$, @nomb$; } else { // Si alcanzamos el top 1 // Almacenamos el antiguo top 1 set @aux, $top1pvp; set @aux$, $top1pvp$; // Nos asignamos al top 1 set $top1pvp, @mvptotal; set $top1pvp$, @nomb$; // El viejo top 1 ahora es top 2 set $top2pvp, @aux; set $top2pvp$, @aux$; } // End if} else if (@mvptotal > $top2pvp) { if ($top2pvp$ == strcharinfo(0)) { // Si estamos en top 2 // Seguimos contando las muertes del top 2 set $top2pvp, @mvptotal; set $nomb2, @nomb$; } else { // Si alcanzamos el top 2 // Almacenamos el antiguo top 2 set @aux, $top2pvp; set @aux$, $top2pvp$; // Nos asignamos al top 2 set $top2pvp, @mvptotal; set $top2pvp$, @nomb$; // El viejo top 2 ahora es top 3 set $top3pvp, @aux; set $top3pvp$, @aux$; } // End if} else if (@mvptotal > $top3pvp) { if ($top3pvp$ == strcharinfo(0)) { // Si estamos en top 3 // Seguimos contando el top 3 set $top3pvp, @mvptotal; set $top3pvp$, @nomb$; } else { // Si alcanzamos el top 3 // Almacenamos el antiguo top 3 set @aux, $top3pvp; set @aux$, $top3pvp$; // Nos asignamos al top 3 set $top3pvp, @mvptotal; set $top3pvp$, @nomb$; // El viejo top 3 ahora es top 4 set $top4pvp, @aux; set $top4pvp$, @aux$; } // End if} else if (@mvptotal > $top4pvp) { if ($top4pvp$ == strcharinfo(0)) { // Si estamos en top 4 // Seguimos contando el top 4 set $top4pvp, @mvptotal; set $top4pvp$, @nomb$; } else { // Si alcanzamos el top 4 // Almacenamos el antiguo top 4 set @aux, $top4pvp; set @aux$, $top4pvp$; // Nos asignamos al top 4 set $top4pvp, @mvptotal; set $top4pvp$, @nomb$; // El viejo top 4 es ahora top 5 set $top5pvp, @aux; set $top5pvp$, @aux$; } // End if} else if (@mvptotal > $top5pvp) { if ($top5pvp$ == strcharinfo(0)) { // Si estamos en top 5 // Seguimos contando el top5 set $top5pvp, @mvptotal; set $nomb5, @nomb$; } else { // Si alcanzamos el top 5 // Directamente nos sobreescribimos en el top 5 set $top5pvp, @mvptotal; set $top5pvp$, @nomb$; } // End if} // End ifreturn;} // End function
Edit: Cabe mencionar que el script no muestra ningún error en la consola.
Adjunto imagen:
Lo demás funciona bien pero creo que es enla función: callfunc ("PvPRank",Muertes,strcharinfo(0));
Ya he testeado con cuentas normales y con la del GM pero no son mostrados en el Top 5.
Este es el script:
// PvP Rank Top 5 by Rokimokiprontera,165,168,0 script PvP Warp 45,2,2,{end;OnTouch: switch (rand(1,5)) { case 1: // Izquierda warp "pvp_n_1-5",65,99; break; case 2: // Abajo warp "pvp_n_1-5",99,65; break; case 3: // Derecha warp "pvp_n_1-5",134,100; break; case 4: // Arriba warp "pvp_n_1-5",100,134; break; case 5: // Aleatorio warp "pvp_n_1-5",0,0; break; } // End switchend;} // End Scriptprontera,165,168,3 script PvP Rank#PvP:
Edit: Cabe mencionar que el script no muestra ningún error en la consola.
Last edited by a moderator: