05.09.2011, 16:45
Galera,eu usei o sistema de email do Viniborn
https://sampforum.blast.hk/showthread.php?tid=272588
coloquei o code dele no pwn:
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
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; } }