quarta-feira, 30 de maio de 2012
MonK
Bom Galera vou tentar ser o mais breve possivel!
pawn Code:
//PARA COMEÇAR VAMOS POR NO TOPO DO GAMEMODE AS INCLUDES NECESSARIAS.. #include <a_samp> // TODO SCRIPT DEVE TER =D #include <DOF2>   // NOSSO SISTEMA DE SALVAMENTO SERA COMPLETAMENTE EM DOF2.. //BOM, AGORA VAMOS VER OQUE IREMOS SALVAR... //~~SKIN //ACHO QUE JA ESTA BOM POIS É SO UM SIMPLES TUTORIAL! ^^ //AGORA VAMOS CRIAR UMA ENUM (POIS NÃO LEMBRO O NOME CORRETO) //E UMA NEW (TBM NÃO LEMBRO O NOME CORRETO!) enum pInfo // CRIA A ENUM {//AKI ABRIMOS A ENUM(ACHO QUE É NE ^^)     pSkin, //AQUI É A SKIN DÃ };//AKI FEXAMOS A ENUM '-' //AGORA VAMOS CRIAR A NEW PLAYERINFO (ISSO IRA NOS AJUDAR MAIS PRA FRENTE...) new PlayerInfo[MAX_PLAYERS][pInfo]; //BOM, PARA QUANDO O PLAYER LOGAR E VERIFICAR SE OS DADOS EXISTEM OU NÃO VAMOS //USAR A FUNÇÃO DA DOF2 CHAMADAD "DOF2_FileExists" ELA VERIFICA NA PASTA SCRIPTFILES //SE O ARQUIVO EXISTE OU NÃO! //PS: ISSO TEM QUE SER FEITO NA CALLBACK ONPLAYERCONNECT!! public OnPlayerConnect(playerid) { //VAMOS CRIAR UMA NEW CHAMADA FILE QUE SERVE PARA DEFINIR O ARQUIVO.. //E OUTRA CHAMADA SENDERNAME PARA PEGAR O NOME DO PLAYER!     new File[70], sendername[MAX_PLAYER_NAME]; //VAMO USAR AGORA A FUNÇÃO GETPLAYERNAME Para saber mais sobre ela pode ler em //http://wiki.sa-mp.com/wiki/GetPlayerName     GetPlayerName(playerid, sendername, sizeof(sendername)); //E TAMBEM UMA FORMAT PARA "CRIAR" OU "CARREGAR" OS DADOS!     format(File, sizeof(File), "%s.ini", sendername); //VAI LER O ARQUIVO DIRETAMENTE NA PASTA SCRIPTFILES! //AGORA VAMOS UTILIZAR A DOF2_FILEEXISTS QUE CITEI ALI EM CIMA '-'     if(DOF2_FileExists(File))     { //VAMOS USAR LOGO ABAIXO A FUNÇÃO "DOF2_GetInt" QUE CARREGA O DADO DO PLAYER //CITADO LOGO A FRENTE DA FUNÇAO. E TAMBEM VAMOS UTILIZAR A NEW QUE CRIAMOS NO COMEÇO //LEMBRA?? "PlayerInfo" ^^         PlayerInfo[playerid][pSkin] = DOF2_GetInt(File, "Skin"); //AGORA VAMOS ENVIAR UMA MENSAGEM PRO PLAYER DIZENDO QUE OS ARQUIVOS FORAM CARREGADOS!         SendClientMessage(playerid, -1, "Arquivos Carregados!");     }     else// ACIMA E SE O ARQUIVO COM O NOME DO PLAYER JÁ EXISTIR.. AGORA VAMOS CRIAR CASO NÃO EXISTA     { //AQUI VAMOS USAR ABAIXO AS FUNÇÕES DA DOF2: //DOF2_CreateFile ~~ CRIA O ARQUIVO COMO O PROPRIO NOME DIZ.. //DOF2_SetInt ~~ SETA OQUE TA ESCRITO LOGO A FRENTE DELE DENTRO NO ARQUIVO CRIADO PELA FUNÇÃO ACIMA. //DOF2_SaveFile ~~ TA OBVIO '-'         DOF2_CreateFile(File); // CRIA O ARQUIVO.         DOF2_SetInt(File, "Skin", 23); //SETA O ARQUIVO.. E O NUMERO 23 E O ID DA SKIN.         DOF2_SaveFile(); // NO COMENTS --* //AGORA VAMOS ENVIAR UMA MENSAGEM PARA O PLAYER DIZENDO QUE FOI CRIADO O ARQUIVO EM SEU NOME!         SendClientMessage(playerid, -1, "Arquivos Criados");         OnPlayerConnect(playerid);//REDIRECIONA PARA ONPLAYERCONNECT, FAZENDO ASSIM OS ARQUIVOS         //SEREM CARREGADOS ALTOMATICAMENTE'-'     }     return 1; } //VAMOS POR AGORA NA ONPLAYERDISCONNECT PARA QUE QUANDO O PLAYER DESLOGUE //SALVE OS ARQUIVOS '-' public OnPlayerDisconnect(playerid) {     new File[70], sendername[MAX_PLAYER_NAME];     GetPlayerName(playerid, sendername, sizeof(sendername));     format(File, sizeof(File), "%s.ini", sendername);     DOF2_SetInt(File, "Skin", PlayerInfo[playerid][pSkin]); //VAI SALVAR A SKIN QUE O PLAYER ESTA A USAR!     DOF2_SaveFile(); // NO COMENTS NOVAMENTE!     return 1; } //AGORA VAMOS CRIAR A PUBLIC ONPLAYERSPAWN, E DENTRO DELA VAMOS SETAR PARA QUANDO O PLAYER //APERTAR SPAWN ELE TENHA A SKIN SETADA PARA A SKIN QUE ESTA NOS ARQUIVOS... public OnPlayerSpawn(playerid) { //VAMOS USAR AGORA A FUNÇÃO SETPLAYERSKIN QUE E DO PROPRIO SAMP!     SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);     return 1; }
é um simples tutorial sei que não expliquei muito.. mais as itenções são boas '-'