viewing paste Unknown #17270 | Athena

Posted on the
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
-   script  CheckIn -1,{
    end;
 
OnCheck:
    getmapxy(@map$,@x,@y,0);
 
    set .@x,0;
    query_sql "SELECT `map` FROM `checkin_rank`", .@mapas$[0];
    for ( set .@i, 0; .@i < getarraysize(.@mapas$); set .@i, .@i+1 ){
        if ( @map$ == .@mapas$[.@i] ){ set .@x,1; }
    }
    deletearray .@mapas$[0], getarraysize(.@mapas$);
    if ( .@x == 0 ){
        dispbottom ">No puedes realizar un checkin en este lugar<";
        end;
    }else{
        if ( !query_sql ("SELECT `userid` FROM `checkin` WHERE account_id = "+getcharid(3), .@useridcheck$) ){
            query_sql "SELECT `userid` FROM login WHERE account_id = " +getcharid(3), @userid$;
            query_sql "INSERT INTO `checkin` (`account_id`,`userid`) VALUES ('"+getcharid(3)+"','"+@userid$+"');";
        }
        // Comprobamos si ya ha realizado checkin en el mapa en las últimas 24 horas, y si el tiempo ha expirado
        query_sql "SELECT `lastmap` FROM `checkin` WHERE account_id = "+getcharid(3), @lastmap$;
        query_sql "SELECT (expire > curdate()) FROM `checkin` WHERE account_id = "+getcharid(3), @expire;
        if ( (@lastmap$ == @map$) && (@expire == 1) ){
            dispbottom "> Ya has estado aquí recientemente. Check-in no válido. <";
            end;
        }else{
            dispbottom "> Realizaste un checkin exitosamente <";
            query_sql "SELECT `"+@map$+"` FROM `checkin` WHERE account_id = "+getcharid(3),@checkin;
            if ( @checkin == 0 ){
                dispbottom ">>> ¡Es tu primera vez aquí! ¡Felicidades! <<<";
            }else if ( @checkin == 1 ){
                dispbottom "> ¡Esta ha sido tu segunda vez aquí! <";
            }else{
                dispbottom "> ¡Ya has estado aquí "+(@checkin+1)+" veces! <";
            }
            // Le asignamos tiempo de expiración para volver a realizar Checkin en el mismo mapa
            query_sql "UPDATE `checkin` SET `"+@map$+"` = `"+@map$+"`+1 WHERE account_id = "+getcharid(3);
            query_sql "UPDATE `checkin` SET expire = ADDDATE('"+gettimestr("%Y-%m-%d %H:%M:%S",21)+"',INTERVAL 1 DAY) WHERE account_id = "+getcharid(3);
            query_sql "UPDATE `checkin` SET lastmap = '"+@map$+"' WHERE account_id = "+getcharid(3);
            // Añadimos los puntos correspondientes al mapa del Checkin
            query_sql "SELECT `mappoints` FROM `checkin_rank` WHERE map = '"+@map$+"'",@mappoints;
            query_sql "UPDATE `checkin` SET `points` = `points`+"+@mappoints+" WHERE account_id = "+getcharid(3);
        }
    }
    // Comprobamos y designamos Major del mapa.
    query_sql "SELECT `"+@map$+"` FROM `checkin` WHERE account_id = "+getcharid(3),@mapcheckin;
    query_sql "SELECT `user_checks` FROM `checkin_rank` WHERE map = '"+@map$+"'",@mapcheckinrank;
    if ( @mapcheckin == @mapcheckinrank ){
        query_sql "UPDATE `checkin_rank` SET `account_id_major` = NULL WHERE map = '"+@map$+"'";
        query_sql "UPDATE `checkin_rank` SET `userid_major` = NULL WHERE map = '"+@map$+"'";
        dispbottom ">>> ¡Estás luchando por conseguir el liderazgo de "+@map$+"! <<<";
    }
    else if ( (@mapcheckin > @mapcheckinrank) && (@mapcheckin > 7) ){
        query_sql "SELECT `userid` FROM login WHERE account_id = " +getcharid(3), @userid$;
        query_sql "SELECT `mapname` FROM checkin_rank WHERE map = '" +@map$+"'", @mapname$;
        query_sql "UPDATE `checkin_rank` SET `account_id_major` = "+getcharid(3)+" WHERE map = '"+@map$+"'";
        query_sql "UPDATE `checkin_rank` SET `userid_major` = '"+@userid$+"' WHERE map = '"+@map$+"'";
        query_sql "UPDATE `checkin_rank` SET `user_checks` = '"+@mapcheckin+"' WHERE map = '"+@map$+"'";
        dispbottom ">>> ¡Te has convertido en el líder de "+@mapname$+"! <<<";
        announce "|> ["+@userid$+"] encabeza la lista de exploración de ["+@mapname$+"] <|",bc_all|bc_blue;
    } 
    end;
}
 
 
-   script  CheckInRank -1,{
 
OnSat2000:
    query_sql "SELECT `account_id_major` FROM `checkin_rank` WHERE `user_checks` > '7' AND `userid_major` != 'NULL'", .@checkin_rank[0];
    query_sql "SELECT `mapname` FROM checkin_rank WHERE `user_checks` > '7' AND `userid_major` != 'NULL'", .@checkin_rank_map$[0];
    for ( set .@i, 0; .@i < getarraysize(.@checkin_rank); set .@i, .@i+1 ){
        announce "Prueba: "+.@checkin_rank[.@i], bc_all;
        if (isloggedin(.@checkin_rank[.@i])) {
            getitem 8001, 1, .@checkin_rank[.@i];
            message rid2name(.@checkin_rank[.@i]),"Has recibido un premio por encabezar la lista de exploración de ["+.@checkin_rank_map$[.@i]+"]";
        } else {
            query_sql("INSERT INTO `mail` (send_name,dest_id,title,message,nameid,amount,identify,zeny,time) VALUES ('KyrieRO',"+.@checkin_rank[.@i]+",'** Checkin Ranking **','Has recibido un premio por encabezar la lista de exploración de ["+.@checkin_rank_map$[.@i]+"]',8001,1,0,0,UNIX_TIMESTAMP(NOW()))");
        }
    }
    deletearray .@checkin_rank[0], getarraysize(.@checkin_rank);
    deletearray .@checkin_rank_map$[0], getarraysize(.@checkin_rank_map$);
    end;
}
 
 
-   script  CheckInMajors   -1,{
 
OnWhisperGlobal:
OnCommand:
    if ( !query_sql ("SELECT `mapname` FROM checkin_rank WHERE `account_id_major` = '"+getcharid(3)+"'", @mapname$[0]) ){
        dispbottom " >> No ostentas el liderazgo en ningún mapa <<";
    } else {
        set @leadership$, "";
        for ( set .@i, 0; .@i < getarraysize(@mapname$); set .@i, .@i+1 ){
            if (.@i == getarraysize(@mapname$)-1){
                set @leadership$, @leadership$ + @mapname$[.@i]+"";
            } else {
                set @leadership$, @leadership$ + @mapname$[.@i]+", ";
            }
        }
        dispbottom ">>> Ostentas el liderazgo de: "+@leadership$+" <<<";
    }
    deletearray @mapname$[0], getarraysize(@mapname$);
    end;
}
 
Viewed 579 times, submitted by Guest.