// [========================================================] // [=========== Sistema Puntos Pvp ===========] // [========================================================] // [ Version 2.3 ] // [========================================================] // [ Script Original de: Beck ] // [========================================================] // [ Descripción: ] // [--------------------------------------------------------] // [ ] // [ - Sistema de puntos registrados cada vez que se ] // [ mata a otro char ] // [ - Inlcuye configuracion de mapas y Puntos negativos ] // [ - Se pueden probar los hats antes de cangear los puntos] // [========================================================] prontera,164,168,4 script Administrador PvP 743,{ set .Nombre$,"^5555FFAdministrador PvP^000000";// Nombre NPC cutin .c$,2; mes .Nombre$; mes "Hola!"+strcharinfo (0); mes "¿Qué deseas hacer?"; next; mes .Nombre$; switch ( select ( "Ir a una sala:Cangear Items :Salir")){ case 1:// Ir a una sala mes "Selecciona la sala:"; for(set .@a, 0; .@a < getarraysize(.mapas_pvp$); set .@a,.@a+1) { set .@menu$,.@menu$ +"Sala "+.@a+":"; } set .@b, select(.@menu$+"Salir"); if (.@b > getarraysize(.mapas_pvp$)) { mes "Adios~"; cutin "",255; close; } warp .mapas_pvp$[.@b-1],0,0; cutin "",255; end; case 2:// Cangear items if(#PuntosPvp<=0 ){ mes "Tienes ^ff0000"+#PuntosPvp+"^000000 , por lo tanto no puedes conseguir ningún objeto a cambio de esos puntos."; cutin "",255; close; } next; mes .Nombre$; mes "Tu tienes ^5555FF" + #PuntosPvp + "^000000 , que quieres escoger?"; for( set .@i, 0; .@i < getarraysize(.item_pvp); set .@i, .@i + 1 ) { mes ""+.valor_item[.@i]+" = "+getitemname(.item_pvp[.@i])+""; if( .@i < 1 ) set .@menu$, getitemname(.item_pvp[.@i]); else set .@menu$, .@menu$+":"+getitemname(.item_pvp[.@i]); }// loop next; set .@p,select(.@menu$)- 1; if( .valor_item[.@p] > #PuntosPvp ) { mes "Te faltan puntos , animate y ver por ellos!"; cutin "",255; close; } getitem .item_pvp[.@p],1; mes "Felicidades , Ahi tienes."; set #PuntosPvp,#PuntosPvp-.valor_item[.@p]; cutin "",255; close; case 3: cutin "",255; close; } OnInit: // [========================================================] // [ Configuración: ] // [--------------------------------------------------------] set .MapaActivado, 1; // Si quieres un mapa especifico pon 1 , si quieres todos los mapas pon 0 set .RestarPuntos, 1; // Si esta en 1 , cada vez que te muera alguien se le restara un punto , si esta en 0 no pasara nada al morir. set .PuntosNegativos, 1; // Debe estar activada la variable anterior , de lo contrario no se ejecuta. Esto sirve para setarray .mapas_pvp$[0],"prontera","sec_pri","geffen"; // Añadir o quitar mapas setarray .item_pvp[0], 5383,5147,5352; // Aquí pones las ID de los items que quieres a dar en orden setarray .valor_item[0], 10,10,500; // Aquí pones el costo de puntos que quieres por el item (Debe ir según el orden del array anterior) setarray $@Campeon[0],200,500,600;// Cantidad de puntos necesarios para el bonus set .mapa_bonus$,"payon";// Mapa para el npc Bonus set .x_bonus,150;// Cordenada x para el npc Bonus set .y_bonus,100;// Cordenada y para el npc Bonus set .c$,"job_sage_kayron";// Nombre del Cutin end; // [--------------------------------------------------------] // [ Fin de la configuración. ] // [========================================================] OnPcKillEvent: // Sumamos los puntos al matar a alguien if (!.MapaActivado) { for (set .@c, 0; .@c < getarraysize(.mapas_pvp$); set .@c, .@c + 1) if (.mapas_pvp$[.@c] == strcharinfo(3)){ set #PuntosPvp,#PuntosPvp + 1; } else end; } else { set #PuntosPvp,#PuntosPvp + 1; } for (set .@z, 0; .@z < getarraysize($@Campeon); set .@z, .@z + 1) if(#PuntosPvp==$@Campeon[.@z]){ dispbottom "BONUs! Has llegado a " + #PuntosPvp + " Puntos así que te mereces un pequeño premio. "; warp .mapa_bonus$,.x_bonus,.y_bonus; end; } dispbottom "Has ganado un punto , ahora tienes " + #PuntosPvp + ". Sigue así."; end; OnPCDieEvent: // Restamos los puntos al matar a alguien if (.RestarPuntos) { if (.MapaActivado ){ for (set .@c, 0; .@c < getarraysize(.mapas_pvp$); set .@c, .@c + 1) if (.mapas_pvp$[.@c] == strcharinfo(3)){ if ( #PuntosPvp>=1) set #PuntosPvp, #PuntosPvp -1; if ( .PuntosNegativos && #PuntosPvp<= 0) set #PuntosPvp, #PuntosPvp -1; } end; } else { if ( #PuntosPvp>=1) set #PuntosPvp, #PuntosPvp -1; if ( .PuntosNegativos && #PuntosPvp<= 0) set #PuntosPvp, #PuntosPvp -1; if ( !.PuntosNegativos && #PuntosPvp<= 0) end; } dispbottom " Al morir, has perdido un punto . Actualmente tienes " + #PuntosPvp + " ."; }// fin if end; }// Fin script payon,150,100,4 script Bonus 866,{ set .Nombre$,"^ff0000[Bonus]^000000";// Nombre NPC mes .Nombre$; for (set .@c, 0; .@c < getarraysize($@campeon); set .@c, .@c + 1) if(#PuntosPvp==$@Campeon[.@c]) { mes "Has conseguido un bonus , Felicidades!."; next; mes "Escogere un número al azar, y te lo añadire."; next; mes .Nombre$; set .@bonus,rand(1,100); // 100% if ( .@bonus <= 20 ) {// ( 20% chance) set #PuntosPvp,#PuntosPvp + 10; mes "Has recibido 10 Puntos de Pvp , la cantidad más baja. Espero que no te desanimes, pronto tendras otro Bonus."; } else if ( .@bonus <= 40&& .@bonus>=21 ) {// (40% Chance) set #PuntosPvp,#PuntosPvp + 30; mes "Has recibido 30 Puntos de Pvp , la cantidad más baja. Espero que no te desanimes, pronto tendras otro Bonus."; } else if ( .@bonus <= 60 && .@bonus >=41 ) {// (60% Chance) set #PuntosPvp,#PuntosPvp + 50; mes "Has recibido 50 Puntos de Pvp , la cantidad más baja. Espero que no te desanimes, pronto tendras otro Bonus."; } else if ( .@bonus <= 80 && .@bonus>=61) {// (80% Chance) set #PuntosPvp,#PuntosPvp + 70; mes "Has recibido 70 Puntos de Pvp , la cantidad más baja. Espero que no te desanimes, pronto tendras otro Bonus."; } else if ( .@bonus <= 100 && .@bonus>=81) {// (40% Chance) set #PuntosPvp,#PuntosPvp + 100; mes "Has recibido 100 Puntos de Pvp , la cantidad más alta. Espero estes contento, y recuerda pronto tendras otro Bonus."; //(100% de chance) } mes "Ahora tienes un total de "+#PuntosPvp+", Suertre!"; close; } mes "Para obtener un bonus de puntaje pvp , debes tener tus puntos pvp igual a :"; mes $@campeon[.@c]; close; }