[ajuda]Problema no sistema de VBemail,acho que й facil resolve me ajuda aki O_O'
#1

Galera,eu usei o sistema de email do Viniborn

https://sampforum.blast.hk/showthread.php?tid=272588

coloquei o code dele no pwn:
Code:
/*

    Nome: VBMail
	Descriзгo: Sistema de email
	Autor: ViniBorn
	Contato : vini-elite@hotmail.com


	***        ***   ***   *****     ***   ***   *** ***       *****      ********    ******    ***
	 ***      ***    ***   *** ***   ***   ***   ***   **    ***   ***    ***  ***    *** ***   ***
	  ***    ***     ***   ***  ***  ***   ***   *** **      ***   ***    *** ***     ***  ***  ***
	   ***  ***      ***   ***   *** ***   ***   ***   **    ***   ***    ***  ***    ***   *** ***
        ******       ***   ***    ******   ***   *** ****      *****      ***   ***   ***    ******
        
        
        
        
        
        Nгo retire os crйditos.
        Seu nome й valioso, nгo suje-o.
        
        
        Observaзхes :
        
        - O diretуrio padrгo para salvar os emails й : scriptfiles/emails.  Crie a pasta emails.
        
        - O diretуrio padrгo para contas de usuбrios й : scriptfiles/users.  Modifique a define Players, de acordo com
		o local onde sгo salvas as contas do seu servidor.
		
		- A caixa de entrada de cada jogador tem capacidade de 10 emails.
		
		
		Atualizaзхes :
		
		* 20/08/11
		
			- Novo mйtodo para leitura de emails utilizando DIALOG_STYLE_LIST
			- Indicaзгo de e-mails (Lido) ou (Nгo lido)


*/

#include <a_samp>
#include <Dini>

#define Local      "/emails/%s.ini"     // Diretуrio dos emails
#define Players    "/users/%s.ini"      // Diretуrio das contas

new Destinatario[MAX_PLAYERS][32];
static const Status[2][14] = {
{"(Lido) - "},
{"(Nгo lido) - "}
};
new Emails[][10] = {
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10"
};

public OnFilterScriptInit()
{
	print("\n\n--------------------------------------");
	print(" Sistema de e-mail       By: ViniBorn");
	print("  -      Nгo retire os crйditos      -");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
    print("\n\tSistema de e-mail descarregado.");
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/comprarpc", cmdtext, true, 10) == 0)
	{
	    if(GetPlayerMoney(playerid) < 2000)
	        return SendClientMessage(playerid, 0xAFAFAFAA,"Vocк nгo possui esta quantia.");

        new email[32];
	    format(email,32,Local,Player(playerid));

	    if(dini_Exists(email))
			return SendClientMessage(playerid, 0xAFAFAFAA,"Vocк jб possui um computador.");

    	dini_Create(email);

    	for(new i=0;i<sizeof(Emails);i++)
            dini_Set(email,Emails[i],"Vazio");

		GameTextForPlayer(playerid, "Custo : R$ 2.000", 5000, 1);
		GivePlayerMoney(playerid, -2000);
		PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
		SendClientMessage(playerid, 0xAFAFAFAA, "Agora vocк pode usar /email.");

		return 1;
	}
	if(strcmp("/email", cmdtext, true, 10) == 0)
	{
	    new email[32];
	    format(email,32,Local,Player(playerid));

    	if(!dini_Exists(email))
			return SendClientMessage(playerid, 0xAFAFAFAA,"Vocк nгo possui um computador.");

	    new listitems[] = "Caixa de entrada\nEnviar\nApagar";
	    ShowPlayerDialog(playerid, 225, DIALOG_STYLE_LIST, "Meu email : ", listitems,"Selecionar","Sair");

	    return 1;
	}
	return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 225)
	{
	    if(!response)
	        return 0;
		else
		{
		    new str[128], email[32], string[1024];
		    format(email,32,Local,Player(playerid));
		    switch (listitem)
			{
    			case 0:
				{
					for(new i=0;i<sizeof(Emails);i++)
					{
						format(str,128,"{C2A2DA}%d - %s\n",strval(Emails[i]),dini_Get(email,Emails[i]));
						strcat(string, str);
					}
				    ShowPlayerDialog(playerid, 226, DIALOG_STYLE_LIST, "Caixa de entrada : ", string,"Selecionar","Voltar");
			    }
			    case 1:	ShowPlayerDialog(playerid, 227,DIALOG_STYLE_INPUT,"E-mail","Digite o nome do destinatбrio:","Enviar","Voltar");
			    case 2: ShowPlayerDialog(playerid, 228,DIALOG_STYLE_INPUT,"E-mail","Digite nъmero do e-mail:","Apagar","Voltar");
			}
		}
	}
    else if(dialogid == 226)//Ler
	{
	    if(!response)
	    {
	        new listitems[] = "Caixa de entrada\nEnviar\nApagar";
	        ShowPlayerDialog(playerid, 225, DIALOG_STYLE_LIST, "Meu email : ", listitems,"Selecionar","Sair");
        }
		else
	        MeuEmail(playerid,listitem);
	}
	else if(dialogid == 227)//Enviar (destinatбrio)
	{
	    if(!response)
	    {
	        new listitems[] = "Caixa de entrada\nEnviar\nApagar";
	        ShowPlayerDialog(playerid, 225, DIALOG_STYLE_LIST, "Meu email : ", listitems,"Selecionar","Sair");
        }
		else
		{
      		new file[64];
			format(file, sizeof(file), Players,inputtext);
			if(dini_Exists(file))
			{
			    new giveid = ReturnUser(inputtext);
			    format(file,32,Local,Player(giveid));
			    
			    if(!dini_Exists(file))
					return SendClientMessage(playerid, 0xAA3333AA,"[ERRO] O jogador nгo possui um computador.");

           		new str[128];
				format(str,128,"Vocк estб prestes a enviar um e-mail para %s. Digite a mensagem.", inputtext);
			    SendClientMessage(playerid, 0xFFD700AA,str);
			    format(Destinatario[playerid],32,inputtext);
			    return ShowPlayerDialog(playerid,229,DIALOG_STYLE_INPUT,"E-mail","Digite a mensagem:","Enviar","Voltar");
    	   	}
			else
	    		SendClientMessage(playerid,0xAA3333AA,"[ERRO] A conta nгo existe.");
   		}
	}
	else if(dialogid == 228)//Apagar
	{
	    if(!response)
	    {
	        new listitems[] = "Caixa de entrada\nEnviar\nApagar";
	        ShowPlayerDialog(playerid, 225, DIALOG_STYLE_LIST, "Meu email : ", listitems,"Selecionar","Sair");
        }
		else
		{
	        new n;
			n = strval(inputtext);

		    new email[32];
		    format(email,32,Local,Player(playerid));
			dini_Set(email,Emails[n-1],"Vazio");
		}
	}
	else if(dialogid == 229)//Enviar (mensagem)
	{
	    if(response)
	    {
	    	SendClientMessage(playerid,0xFFD700AA,"E-mail enviado com sucesso ");
			EnviarEmail(playerid,inputtext);
		}
	}
	else if(dialogid == 230)//Exibir e-mail
	{
	    if(response)
	    {
	        new listitems[] = "Caixa de entrada\nEnviar\nApagar";
	        ShowPlayerDialog(playerid, 225, DIALOG_STYLE_LIST, "Meu email : ", listitems,"Selecionar","Sair");
        }
	}
	return 1;
}

stock MeuEmail(playerid,numero)
{
    new email[32],email2[128];
    format(email,32,Local,Player(playerid));

    if(strcmp(dini_Get(email,Emails[numero]),"Vazio",true)==0)
        return ShowPlayerDialog(playerid, 225, DIALOG_STYLE_LIST, "Meu email : ", "Caixa de entrada\nEnviar\nApagar","Selecionar","Sair");

    format(email2,128,"%s",dini_Get(email,Emails[numero]));
    if(email2[1] == 'N')
    {
		strdel(email2,0,14);
		dini_Set(email,Emails[numero],email2);
		format(email2,128,"%s%s",Status[0],dini_Get(email,Emails[numero]));
		dini_Set(email,Emails[numero],email2);
	}
    ShowPlayerDialog(playerid, 230, DIALOG_STYLE_MSGBOX, "VBMail", email2, "Voltar", "Sair");
    return 1;
}

stock EnviarEmail(playerid,const string[])
{
	new email[32],str[128];
    format(email,32,Local,Destinatario[playerid]);
    if(!dini_Exists(email))
    {
	    for(new i=0;i<sizeof(Emails);i++)
            dini_Set(email,Emails[i],"Vazio");
    }
    else
    {
        format(str,128,"%s %s - Remetente : %s",Status[1],string,Player(playerid));
		for(new i=0;i<sizeof(Emails);i++)
   	    	if(strcmp(dini_Get(email,Emails[i]),"Vazio",true)==0)
   	    	{
   	    	    new giveid = ReturnUser(Destinatario[playerid]);
   	    	    if(IsPlayerConnected(giveid))
   	    	        GameTextForPlayer(giveid, "Voce recebeu um novo e-mail.", 5000, 5);
    			dini_Set(email,Emails[i],str);
    			return 1;
   			}

        return SendClientMessage(playerid,0xAA3333AA,"[ERRO] A caixa de entrada estб lotada.");
	}
	return 1;
}

stock Player(playerid)
{
	new pname[MAX_PLAYER_NAME];
	GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
	return pname;
}

stock IsNumeric(const string[])
{
	for (new i = 0, j = strlen(string); i < j; i++)
	    if(string[i] > '9' || string[i] < '0') return 0;

	return 1;
}

stock ReturnUser(PlayerName[])
{
	if(IsNumeric(PlayerName))
	    return strval(PlayerName);
	else
	{
		new found=0, id;
		for(new i=0; i <= MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
			{
		  		new foundname[MAX_PLAYER_NAME];
		  		GetPlayerName(i, foundname, MAX_PLAYER_NAME);
				new namelen = strlen(foundname);
				new bool:searched=false;
		    	for(new pos=0; pos <= namelen; pos++)
				{
					if(searched != true)
					{
						if(strfind(foundname,PlayerName,true) == pos)
						{
			                found++;
							id = i;
						}
					}
				}
			}
		}
		if(found == 1)
			return id;
		else
			return INVALID_PLAYER_ID;
	}
}
e converti,mais quando vo no sv,eu do /comprarpc ele fala q compro mais quando eu digito /email ele fala que nгo tenho pc alguem me ajudaeeee
Reply
#2

Seguinte... primeiro deleta todos os creditos q isso n vale nada... ZUERA VEI FAZ ISSO N hsahsuahsuahs

A pergunta q n quer calar... vc CONVERTEU pra q? o_O
Reply
#3

Quote:
Originally Posted by Pharrel
View Post
Seguinte... primeiro deleta todos os creditos q isso n vale nada... ZUERA VEI FAZ ISSO N hsahsuahsuahs

A pergunta q n quer calar... vc CONVERTEU pra q? o_O
O gordo, vai fica colocando os rapazes pro mal caminho ? avб! kkkk'
fala com o ViniBorn, logo logo acho que ele ta on ai pelo fуrum, mais para oque vocк converteu ?
Reply
#4

Crie duas pasta dentro da pasta "scriptfiles"

Uma com nome : emails
Outra com nome : users
Reply
#5

Tipo eu fiz isso e digitei /emal,ele apareceu o dialog mais quando eu seleciono Caixa de entrada,Enviar,Apagar,nao aparece mais nada o dialog fecha O_O'
Reply
#6

fez oque o vini born falou?
Reply
#7

sim ja criei as 2 pasta ai ele paro de fala q eu n tenho pc e abriu o dialog mais ai quando eu ecolho uma das opзхes e cliko pra ele avanзa ele fecha o dialog e nao abre mais nada,e nгo tem otro dialog com o mesmo nome que esse nem nada q da conflito
Reply
#8

Veja se o Dialog do Sistema de email nгo estб dando conflito com outro (ou seja, tendo o mesmo numero...).
Reply
#9

Nгo ta dando conflito nenhum
Reply
#10

Usa algum FS junto ?
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)