• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Pawn] Help crash
#1
i am having problems with this function. crashdetect flagged this for me
[debug] AMX backtrace:
[debug] #0 00002774 in ?? (4016892) in XAF.amx
[debug] #1 00002dd4 in ?? (0, 4016892, 5000, 3) in XAF.amx
[debug] #2 001e3734 in public Timer1minute (0) in XAF.amx


Code:
ptask Timer1minute[60000](i) {
    if (JugadorInfo[i][zLogueado] == true) {
        // Verifica si el jugador quiere ver los textos
        if (JugadorInfo[i][zVerTextos][1] == 1) {
            ServerInfo[AnuncioTextoCmds]++;
            if (ServerInfo[AnuncioTextoCmds] == 3) ServerInfo[AnuncioTextoCmds] = 1;
            switch (ServerInfo[AnuncioTextoCmds]) {
                case 1: PlayerTextDrawSetString(i, InfoDeCmds, "");
                case 2: PlayerTextDrawSetString(i, InfoDeCmds, "");
                case 3: PlayerTextDrawSetString(i, InfoDeCmds, "");
            }
            PlayerTextDrawShow(i, InfoDeCmds);
        }
        // Incrementa el tiempo del jugador
        JugadorInfo[i][zMiTiempo]++;
        JugadorInfo[i][zTimeMiRango]++;
        // Actualiza la base de datos con el nuevo tiempo
        static Query[180];
        format(Query, sizeof(Query), "UPDATE `USERS` SET TIEMPO = '%d', TRG = '%d' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zMiTiempo], JugadorInfo[i][zTimeMiRango], JugadorInfo[i][zMiID]);
        db_query(ZLDB, Query);

        // Verifica las caducidades para el VIP y el rango
        VerificarCaducidadVip(i);
        VerificarCaducidadRango(i);

        // Incrementa el tiempo del staff si es administrador
        if (JugadorInfo[i][zAdmin] > 0 && JugadorInfo[i][zAfk] < 3) {
            JugadorInfo[i][zTiempoStaff]++;
            static Query2[150];
            format(Query2, sizeof(Query2), "UPDATE `USERS` SET TIMESTAFF = '%d' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zTiempoStaff], JugadorInfo[i][zMiID]);
            db_query(ZLDB, Query2);
        }

        // Incrementa el tiempo de juego si el jugador no está AFK
        if (JugadorInfo[i][zAfk] < 3) {
            JugadorInfo[i][zPlayTiempo]++;
            static Query2[150];
            format(Query2, sizeof(Query2), "UPDATE `USERS` SET PLAYTIME = '%d' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zPlayTiempo], JugadorInfo[i][zMiID]);
            db_query(ZLDB, Query2);
        }

        // Verifica el tiempo de juego reclamado
        if (JugadorInfo[i][zPlayReclamado] == 0) VerificarPlayTime(i);

        // Verifica si el jugador está encarcelado
        if (JugadorInfo[i][zJailed] == 1) {
            JugadorInfo[i][zJailTime]--;
            format(Query, sizeof(Query), "UPDATE `USERS` SET TIMEJAIL = '%d' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zJailTime], JugadorInfo[i][zMiID]);
            db_query(ZLDB, Query);
            if (JugadorInfo[i][zJailTime] <= 0) JailRelease(i);
        }

        // Manejo de items
        // Score Free Kill
        if (JugadorInfo[i][zScoreFreeKill] == 1) {
            JugadorInfo[i][zTScoreFreeKill]--;
            format(Query, sizeof(Query), "UPDATE `USERS` SET TIMESCFREE = '%d' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zTScoreFreeKill], JugadorInfo[i][zMiID]);
            db_query(ZLDB, Query);
            if (JugadorInfo[i][zTScoreFreeKill] <= 0) {
                format(Query, sizeof(Query), "UPDATE `USERS` SET TIMESCFREE = '0', SCFREE = '0' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zMiID]);
                db_query(ZLDB, Query);
                JugadorInfo[i][zTScoreFreeKill] = 0;
                JugadorInfo[i][zScoreFreeKill] = 0;
                SendClientMessage(i, COLOR_ROJO, "« Info » "COL_BLANCO"Tu item score freeroam kill ha sido desactivado (tiempo finalizado), vuélvelo a comprar desde tu panel.");
            }
        }

        // Armour Spawn
        if (JugadorInfo[i][zArmourSpawn] == 1) {
            JugadorInfo[i][zTArmourSpawn]--;
            format(Query, sizeof(Query), "UPDATE `USERS` SET TIMEARSPW = '%d' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zTArmourSpawn], JugadorInfo[i][zMiID]);
            db_query(ZLDB, Query);
            if (JugadorInfo[i][zTArmourSpawn] <= 0) {
                format(Query, sizeof(Query), "UPDATE `USERS` SET TIMEARSPW = '0', ARSPW = '0' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zMiID]);
                db_query(ZLDB, Query);
                JugadorInfo[i][zTArmourSpawn] = 0;
                JugadorInfo[i][zArmourSpawn] = 0;
                SendClientMessage(i, COLOR_ROJO, "« Info » "COL_BLANCO"Tu item armour spawn ha sido desactivado (tiempo finalizado), vuélvelo a comprar desde tu panel.");
            }
        }

        // Volar (Fly)
        if (JugadorInfo[i][zVolar] == 1) {
            JugadorInfo[i][zTimeVolar]--;
            format(Query, sizeof(Query), "UPDATE `USERS` SET TIMEFLY = '%d' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zTimeVolar], JugadorInfo[i][zMiID]);
            db_query(ZLDB, Query);
            if (JugadorInfo[i][zTimeVolar] <= 0) {
                format(Query, sizeof(Query), "UPDATE `USERS` SET TIMEFLY = '0', FLY = '0' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zMiID]);
                db_query(ZLDB, Query);
                JugadorInfo[i][zTimeVolar] = 0;
                JugadorInfo[i][zVolar] = 0;
                if (JugadorInfo[i][zEnVuelo] == true) {
                    SendClientMessage(i, COLOR_ROJO, "« Info » "COL_BLANCO"Vuelo finalizado.");
                    JugadorInfo[i][zEnVuelo] = false;
                    StopFly(i);
                    GameTextForPlayer(i, "~b~Vuelo ~g~Finalizado", 6000, 3);
                }
                SendClientMessage(i, COLOR_ROJO, "« Info » "COL_BLANCO"Tu item vuelo ha sido desactivado (tiempo finalizado), vuélvelo a comprar desde tu panel.");
            }
        }

        // Teleport Click
        if (JugadorInfo[i][zTeleP] == 1) {
            JugadorInfo[i][zTimeTeleP]--;
            format(Query, sizeof(Query), "UPDATE `USERS` SET TIMETELE = '%d' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zTimeTeleP], JugadorInfo[i][zMiID]);
            db_query(ZLDB, Query);
            if (JugadorInfo[i][zTimeTeleP] <= 0) {
                format(Query, sizeof(Query), "UPDATE `USERS` SET TIMETELE = '0', TELE = '0' WHERE `ID` = '%d' COLLATE NOCASE", JugadorInfo[i][zMiID]);
                db_query(ZLDB, Query);
                JugadorInfo[i][zTimeTeleP] = 0;
                JugadorInfo[i][zTeleP] = 0;
                SendClientMessage(i, COLOR_ROJO, "« Info » "COL_BLANCO"Tu item teleport click ha sido desactivado (tiempo finalizado), vuélvelo a comprar desde tu panel.");
            }
        }
    }
    return 1;
}
  Reply


Messages In This Thread
Help crash - by nbx2000 - 2024-02-02, 05:46 AM
RE: Help crash - by bg. - 2024-02-28, 02:55 AM

Forum Jump: