viewing paste Unknown #9032 | Athena

Posted on the | Last edited on
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
// [========================================================]
// [===========      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;
}
Viewed 1300 times, submitted by Dynasty.