[Ajuda] Deletaзгo de contas ajudar !
#1

Estou trabalhando ne um sistema de deletaзгo de contas

й o seguinte quase tudo mundo conhecer a gm dten nй pois e o meu

estava querendo colocar um sistema assim

30 dias sem logar a conta e deletada com sua casa, prop, carro

pesei assim

new Entrei[MAX_PLAYER_NAME];

onplayerconnect

// Variavel
ativa quando player logar

Entrei[playerid] = 1;

ongamemodeexit

// ele saiu comeзa acontagem

//aki poderia colocar a contagem do player quando ele saiu

//caso 30 dias

tipo puxando uma stock


stock
{
getdate(Ano, Mes, Dia);
gettime(Hora,Minuto,Segundo);
format(Celula, sizeof(Celula), "[server]deletou a conta do Player %s Motivo %d (%d/%d/%d - %d:%d:%d)",Jogador,Texto, Dia, Mes, Ano, Hora, Minuto, Segundo);
//logmotivo
//funзгo pra deletar
// casa , prop , carro
}

Agora vou colocar os comandos de deletaзхes
PHP код:
}
    if(
strcmp(cmd"/deletarprop"true) == 0)
    {
        new 
propid;
        if(
sscanf(cmdtext"s[13]d"cmdpropid))
        {
            
SendClientMessage(playeridVermelho"/deletarprop [propid]");
            return 
1;
        }
        
format(stringsizeof(string), PASTA_PROPSpropid);
        if(
dini_Exists(string))
        {
            if(
pAdmin[playerid] >= 5)
            {
                
DestroyDynamicPickup(dini_Int(string"Id"));
                
DestroyDynamicMapIcon(dini_Int(string"IconId"));
                
DestroyDynamic3DTextLabel(ptextoid[propid]);
                
ptextoid[propid] = Text3D:INVALID_3DTEXT_ID;
                
dini_IntSet(string"TDono"3);
                
dini_Set(string"Dono""Ninguem");
                
dini_IntSet(string"Id", -1);
                
dini_IntSet(string"IconId", -1);
                
SendClientMessage(playeridroxo"Propriedade deletada com sucesso!");
            }
            else
            {
                
SendClientMessage(playeridVermelho"Vocк nгo tem permissгo.");
            }
        }
        return 
1;
}
    if(
strcmp(cmd"/deletcar"true) == 0)
    {
        if(
pAdmin[playerid] > 3)
        {
            
Loop(osizeof(VehiclesFix))
            {
                if(
GetPlayerVehicleID(playerid) == VehiclesFix[o])
                {
                    
SendClientMessage(playeridVermelho"Este carro nгo pode ser deletado!");
                    return 
1;
                }
            }
            for(new 
carro 0carro MAX_CONCEScarro++)
            {
                
format(stringsizeof(string), PASTA_CONCEcarro);
                if(
GetPlayerVehicleID(playerid) == dini_Int(string"Id"))
                {
                    
ShowPlayerDialog(playeriddeletcarconceDIALOG_STYLE_MSGBOX"Deletando Veнculo""{FF0000}Este veнculo й da Conce, quer mesmo deletar?""Sim""Nгo");
                    return 
1;
                }
            }
            
DestroyVehicle(GetPlayerVehicleID(playerid));
            
SendClientMessage(playerid0x0080FFAA"Veнculo deletado com sucesso!");
            return 
1;
        }
}
    if(
strcmp(cmd"/deletarcasa"true) == 0)
    {
        new 
casaid;
        if(
sscanf(cmdtext"s[13]d"cmdcasaid))
        {
            
SendClientMessage(playeridVermelho"/deletarcasa [casaid]");
            return 
1;
        }
        
format(stringsizeof(string), PASTA_CASAScasaid);
        if(
dini_Exists(string))
        {
            if(
pAdmin[playerid] > 4)
            {
                
DestroyDynamicPickup(dini_Int(string"Id"));
                
DestroyDynamicMapIcon(dini_Int(string"IconId"));
                
DestroyDynamic3DTextLabel(ctextoid[casaid]);
                
ctextoid[casaid] = Text3D:INVALID_3DTEXT_ID;
                
dini_IntSet(string"TDono"3);
                
dini_Set(string"Dono""Ninguem");
                
dini_IntSet(string"Id", -1);
                
dini_IntSet(string"IconId", -1);
                
SendClientMessage(playeridroxo"Casa deletada com sucesso!");
            }
            else
            {
                
SendClientMessage(playeridVermelho"Vocк nгo tem permissгo.");
            }
        }
        return 
1
Eu precisor de ajudar e pra criar o dia o contador igual eu mostrei fiz uma base.
Reply
#2

esqueci o nome da include, mas й uma do DanDRT. ela pode te ajudar muito. й pra contar dias..
Reply
#3

Quote:
Originally Posted by DannielCooper
Посмотреть сообщение
esqueci o nome da include, mas й uma do DanDRT. ela pode te ajudar muito. й pra contar dias..
parecer que ela foi deletada !

me ajudar com a base que eu fiz?
Reply
#4

alguйm ai me ajudar ??
Reply
#5

https://sampforum.blast.hk/showthread.php?tid=468710
Reply
#6

Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
e como usar essa include com 30 dias?
Reply
#7

https://sampforum.blast.hk/showthread.php?tid=399408
Reply
#8

Quote:
Originally Posted by iCasTiel
Посмотреть сообщение
e como faзo pra deletar os outros

prop

carro

casa

? os comandos estгo no tуpico gamemode dten

poder usar o nome dele e fazer uma funзгo pra deletar
tipo dono Dono=subzero_C1V

ao ver quer o nome da pessoa que esta inativa deletar
Reply
#9

Basta modificar a include.


pawn Код:
////////////////////////////////////////////////////////////////////////////////
//
//
//        #### ########   ######     ######## ########    ###    ##     ##
//         ##  ##     ## ##    ##       ##    ##         ## ##   ###   ###
//         ##  ##     ## ##             ##    ##        ##   ##  #### ####
//         ##  ########   ######        ##    ######   ##     ## ## ### ##
//         ##  ##              ##       ##    ##       ######### ##     ##
//         ##  ##        ##    ##       ##    ##       ##     ## ##     ##
//        #### ##         ######        ##    ######## ##     ## ##     ##
//
//
//                              DelAuto Acc v2.0
//
/*                   ______          ______           _
//                   | ___ \         | ___ \         | |
//                   | |_/ /_   _    | |_/ /_ _ _   _| | ___
//                   | ___ \ | | |   |  __/ _` | | | | |/ _ \
//                   | |_/ / |_| |_  | | | (_| | |_| | | (_) |
//                   \____/ \__, (_) \_|  \__,_|\__,_|_|\___/
//                           __/ |
//                          |___/
*/

//
//            !!!   Deleta automaticamente contas de usuбrios inativos, usando INI  !!!
//
//          [iPs]TeaM soluзхes de programaзгo em geral (agora com cursos)
//
//                  http://ips-team.forumeiros.com/ (contate-nos)
//
/////////////////////////////////////////////////////////////////////////////////

#define pTIME 30 //Coloque em dias aqui o tempo para que a Acc seja deletada.
#define pFILE "Contas/%s.ini" //Coloque aqui o caminho das contas dos Players.
#define pBACKUP "pBackup" //Configure aqui sua Pasta de Backups.
#define pCriarArq(%0) fclose(fopen(%0, io_append))
#define pUSERS 255 //Nъmero de linhas mбximo das Acc's.
#if !defined isnull
    #define isnull(%1) !(%1[0]) || %1[0] == '\1' && !(%1[1])
#endif


forward OnAccountDeleted(conta[]);


public OnGameModeInit() {
    if(fexist("pNameUsers.Paulo")) {
        new File: pArq, pTime = gettime(), pStr[64], pName[24], pFind;
        pArq = fopen("pNameUsers.Paulo", io_read);
        while(fread(pArq, pStr)) {
            if(pTime > strval(pStr[(pFind = strfind(pStr, "=") + 1)]) > 0) {
                strmid(pName, pStr, 0, (pFind - 1));
                format(pStr, 64, pFILE, pName);
                pRemoveKey("pNameUsers.Paulo", pName);
                printf("User: %s teve sua Conta deletada pois ficou invativo por mais de %i dias.", pName, pTIME);
                pMoveFile(pStr);
               
                CallLocalFunction("OnAccountDeleted", "s", pName);
            }
        }
        fclose(pArq);
    } else pCriarArq("pNameUsers.Paulo");
    return CallLocalFunction("DelOnGameModeInit", #);
}

public OnPlayerConnect(playerid) {
    if(fexist("pNameUsers.Paulo")) pWriteFile("pNameUsers.Paulo", pGetPlayerName(playerid), (gettime() + (60 * 60 * 24 * pTIME)));
    return CallLocalFunction("DelOnPlayerConnect", "i", playerid);
}

#if defined _ALS_OnGameModeInit
    #undef OnGameModeInit
#else
    #define _ALS_OnGameModeInit
#endif

#if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
#else
    #define _ALS_OnPlayerConnect
#endif

#define OnGameModeInit DelOnGameModeInit
#define OnPlayerConnect DelOnPlayerConnect

forward DelOnGameModeInit();
forward DelOnPlayerConnect(playerid);

pGetPlayerName(playerid) {
    new pName[24];
    GetPlayerName(playerid, pName, 24);
    return pName;
}

pWriteFile(file[], key[], valor) {
    new File: pArq, pStr[40];
    pRemoveKey(file, key);
    pArq = fopen(file, io_append);
    format(pStr, 40, "%s=%i\r\n", key, valor);
    fwrite(pArq, pStr);
    fclose(pArq);
    return 1;
}

stock pFileSave[pUSERS][128], bFileSave[pUSERS][128];
pMoveFile(file[]) {
    new File: pFile, pStr[35], pPos;
    if(!fexist(file)) return 0;
    pFileSave = bFileSave;
    pFile = fopen(file, io_read);
    while(fread(pFile, pStr)) pFileSave[pPos++] = pStr;
    fclose(pFile);
    fremove(file);
    strdel(file, 0, strfind(file, "/"));
    format(file, 64, "%s/%s", pBACKUP, file);
    pFile = fopen(file, io_write);
    for(new pI; pPos > -1; --pPos) fwrite(pFile, pFileSave[pI++]);
    fclose(pFile);
    return 1;
}

pRemoveKey(file[], ignorekey[]) {
    new File: pFile, pStr[35], bool: pVar, pPos;
    if(!fexist(file)) return 0;
    pFileSave = bFileSave;
    pFile = fopen(file, io_read);
    while(fread(pFile, pStr)) {
        if(strfind(pStr, ignorekey, true) == -1) {
            pFileSave[pPos++] = pStr;
        } else pVar = true;
    }
    fclose(pFile);
    if(!pVar) return 0;
    fremove(file);
    pFile = fopen(file, io_write);
    for(new pI; pPos > -1; --pPos) fwrite(pFile, pFileSave[pI++]);
    fclose(pFile);
    return 1;
}

Gamemode:

pawn Код:
public OnAccountDeleted(conta[]) {

    new i;
    for ( i = 0; i < MAX_EMPRESAS; ++i ) {

        if  (!strcmp(BizzInfo[i][bOwner], conta) ) {

            // ... Vender

        }

    }
    return true;
}
Sу adaptar.
Reply
#10

Quote:
Originally Posted by iCasTiel
Посмотреть сообщение
Basta modificar a include.


pawn Код:
////////////////////////////////////////////////////////////////////////////////
//
//
//        #### ########   ######     ######## ########    ###    ##     ##
//         ##  ##     ## ##    ##       ##    ##         ## ##   ###   ###
//         ##  ##     ## ##             ##    ##        ##   ##  #### ####
//         ##  ########   ######        ##    ######   ##     ## ## ### ##
//         ##  ##              ##       ##    ##       ######### ##     ##
//         ##  ##        ##    ##       ##    ##       ##     ## ##     ##
//        #### ##         ######        ##    ######## ##     ## ##     ##
//
//
//                              DelAuto Acc v2.0
//
/*                   ______          ______           _
//                   | ___ \         | ___ \         | |
//                   | |_/ /_   _    | |_/ /_ _ _   _| | ___
//                   | ___ \ | | |   |  __/ _` | | | | |/ _ \
//                   | |_/ / |_| |_  | | | (_| | |_| | | (_) |
//                   \____/ \__, (_) \_|  \__,_|\__,_|_|\___/
//                           __/ |
//                          |___/
*/

//
//            !!!   Deleta automaticamente contas de usuбrios inativos, usando INI  !!!
//
//          [iPs]TeaM soluзхes de programaзгo em geral (agora com cursos)
//
//                  http://ips-team.forumeiros.com/ (contate-nos)
//
/////////////////////////////////////////////////////////////////////////////////

#define pTIME 30 //Coloque em dias aqui o tempo para que a Acc seja deletada.
#define pFILE "Contas/%s.ini" //Coloque aqui o caminho das contas dos Players.
#define pBACKUP "pBackup" //Configure aqui sua Pasta de Backups.
#define pCriarArq(%0) fclose(fopen(%0, io_append))
#define pUSERS 255 //Nъmero de linhas mбximo das Acc's.
#if !defined isnull
    #define isnull(%1) !(%1[0]) || %1[0] == '\1' && !(%1[1])
#endif


forward OnAccountDeleted(conta[]);


public OnGameModeInit() {
    if(fexist("pNameUsers.Paulo")) {
        new File: pArq, pTime = gettime(), pStr[64], pName[24], pFind;
        pArq = fopen("pNameUsers.Paulo", io_read);
        while(fread(pArq, pStr)) {
            if(pTime > strval(pStr[(pFind = strfind(pStr, "=") + 1)]) > 0) {
                strmid(pName, pStr, 0, (pFind - 1));
                format(pStr, 64, pFILE, pName);
                pRemoveKey("pNameUsers.Paulo", pName);
                printf("User: %s teve sua Conta deletada pois ficou invativo por mais de %i dias.", pName, pTIME);
                pMoveFile(pStr);
               
                CallLocalFunction("OnAccountDeleted", "s", pName);
            }
        }
        fclose(pArq);
    } else pCriarArq("pNameUsers.Paulo");
    return CallLocalFunction("DelOnGameModeInit", #);
}

public OnPlayerConnect(playerid) {
    if(fexist("pNameUsers.Paulo")) pWriteFile("pNameUsers.Paulo", pGetPlayerName(playerid), (gettime() + (60 * 60 * 24 * pTIME)));
    return CallLocalFunction("DelOnPlayerConnect", "i", playerid);
}

#if defined _ALS_OnGameModeInit
    #undef OnGameModeInit
#else
    #define _ALS_OnGameModeInit
#endif

#if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
#else
    #define _ALS_OnPlayerConnect
#endif

#define OnGameModeInit DelOnGameModeInit
#define OnPlayerConnect DelOnPlayerConnect

forward DelOnGameModeInit();
forward DelOnPlayerConnect(playerid);

pGetPlayerName(playerid) {
    new pName[24];
    GetPlayerName(playerid, pName, 24);
    return pName;
}

pWriteFile(file[], key[], valor) {
    new File: pArq, pStr[40];
    pRemoveKey(file, key);
    pArq = fopen(file, io_append);
    format(pStr, 40, "%s=%i\r\n", key, valor);
    fwrite(pArq, pStr);
    fclose(pArq);
    return 1;
}

stock pFileSave[pUSERS][128], bFileSave[pUSERS][128];
pMoveFile(file[]) {
    new File: pFile, pStr[35], pPos;
    if(!fexist(file)) return 0;
    pFileSave = bFileSave;
    pFile = fopen(file, io_read);
    while(fread(pFile, pStr)) pFileSave[pPos++] = pStr;
    fclose(pFile);
    fremove(file);
    strdel(file, 0, strfind(file, "/"));
    format(file, 64, "%s/%s", pBACKUP, file);
    pFile = fopen(file, io_write);
    for(new pI; pPos > -1; --pPos) fwrite(pFile, pFileSave[pI++]);
    fclose(pFile);
    return 1;
}

pRemoveKey(file[], ignorekey[]) {
    new File: pFile, pStr[35], bool: pVar, pPos;
    if(!fexist(file)) return 0;
    pFileSave = bFileSave;
    pFile = fopen(file, io_read);
    while(fread(pFile, pStr)) {
        if(strfind(pStr, ignorekey, true) == -1) {
            pFileSave[pPos++] = pStr;
        } else pVar = true;
    }
    fclose(pFile);
    if(!pVar) return 0;
    fremove(file);
    pFile = fopen(file, io_write);
    for(new pI; pPos > -1; --pPos) fwrite(pFile, pFileSave[pI++]);
    fclose(pFile);
    return 1;
}

Gamemode:

pawn Код:
public OnAccountDeleted(conta[]) {

    new i;
    for ( i = 0; i < MAX_EMPRESAS; ++i ) {

        if  (!strcmp(BizzInfo[i][bOwner], conta) ) {

            // ... Vender

        }

    }
    return true;
}
Sу adaptar.
mais eu nгo sei modificar aquela parte por isso eu pedir ajudar -.-"
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)