14.01.2015, 02:16
(
Последний раз редактировалось Schocc; 14.01.2015 в 03:20.
)
Bom, este ano vou terminar minhas gambiarras em Pawn, entгo irei criar alguns Filterscripts e postar neste tуpico. Ao longo do desenvolvimento, quero dicas e sugestхes se possнvel.
PS: Nгo tenho motivos pra programar em Pawn, estou criando estes Filterscripts apenas por hobby.
PSІ: Tenho o interesse de fazer o melhor possнvel nestes scripts daqui em diante.
PSі: Irei postar o cуdigo completo de todos Filterscripts desenvolvidos em meu repositуrio no github, a versгo completa dos scripts vгo estar disponнveis para download https://github.com/ishock.
#offTopic:
Nгo quero deixar um passado trбgico nessa caminhada de Pawn, rsrsrs. Este ano nгo pode ser como ano passado, que planejei muitas coisas e nгo as terminei nenhuma, mas com o tempo estou aprendendo a gerenciar melhor o desenvolvimento dos meu projetos.
O primeiro Filterscript que estou iniciando й um sistema de registro com vбrias funcionalidades. Bom, confesso que comecei ele agora, e nem ao menos testei, no entanto irei deixar o cуdigo do mesmo disponнvel para que possamos discutir sobre qualquer assunto dessa nobre linguagem de script Pawn.
#edit: Pretendo relembrar todas as tйcnicas utilizadas em Pawn, e compartilhar com todo do fуrum.
.data
PS: Nгo tenho motivos pra programar em Pawn, estou criando estes Filterscripts apenas por hobby.
PSІ: Tenho o interesse de fazer o melhor possнvel nestes scripts daqui em diante.
PSі: Irei postar o cуdigo completo de todos Filterscripts desenvolvidos em meu repositуrio no github, a versгo completa dos scripts vгo estar disponнveis para download https://github.com/ishock.
#offTopic:
Nгo quero deixar um passado trбgico nessa caminhada de Pawn, rsrsrs. Este ano nгo pode ser como ano passado, que planejei muitas coisas e nгo as terminei nenhuma, mas com o tempo estou aprendendo a gerenciar melhor o desenvolvimento dos meu projetos.
O primeiro Filterscript que estou iniciando й um sistema de registro com vбrias funcionalidades. Bom, confesso que comecei ele agora, e nem ao menos testei, no entanto irei deixar o cуdigo do mesmo disponнvel para que possamos discutir sobre qualquer assunto dessa nobre linguagem de script Pawn.
#edit: Pretendo relembrar todas as tйcnicas utilizadas em Pawn, e compartilhar com todo do fуrum.
.data
pawn Код:
/*
**
**$
* Title: Sistema de Login
* Description: Salvando a data e hora do ultimo login.
* Version: 0.1
* Author:iShock.
**$
**
**
**
**
* Features:
* - Salva Nome, Senha
* - Salva Vida
* - Salva Colete
* - Salva Status Geral
* - Salva Posiзгo
* - Salva Ultimo login (hora, minuto, segundo, dia, ano)
*/
#include <a_samp>
#include <Double-o-Files_2>
forward pLogin(playerid, password[]);
enum edata{
g_pid,
g_pame[MAX_PLAYER_NAME],
g_ppass[16],
Float:g_fhealth[2],
Float:g_fpos[4],
g_pskin
};
enum esdata{
}
new
sdata[esdata], // Server data
pdata[500][edata]; // Player data
public OnPlayerConnect(playerid){
if (DOF2::FileExists("schocc.ini")){
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Login", "Type your password:", "Login", "Cancel");
return 1;
} else if (!DOF2::FileExists("schocc.ini")){
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "Register", "Type your password:", "Register", "Cancel");
printf("An error has occurred!");
return 0;
}
return 1;
}
public OnFilterScriptInit(){return 1;}
public OnFilterScriptExit(){ DOF2::Exit();return 1;}
public OnPlayerDisconnect(playerid, reason){
f_SavePlayerData(playerid);
return 1;
}
public pLogin(playerid, password[]){
new idx;
return idx;
}
f_SavePlayerData(playerid){ // Check file account state (writable or readable)
if (DOF2::GetInt("schocc.ini", "pRegistred"))
{
data_player_save(playerid);
} else {
DOF2::CreateFile("schocc.ini");
data_player_save(playerid);
}
return 1;
}
stock data_player_save(playerid){
new tmpName[MAX_PLAYER_NAME], tmpPass[16];
// Get data from file
GetPlayerName(playerid, tmpName, sizeof(tmpName));
DOF2::GetString("schocc.ini", "pPassword", tmpPass);
// Check password encrypted
// Set player data
DOF2::SetInt("schocc.ini", "Skin", pdata[playerid][g_pskin]);
DOF2::SetString("schocc.ini", "pName", tmpName);
DOF2::SetString("schocc.ini", "pPassword", tmpPass);
DOF2::SetInt("schocc.ini", "pRegistred", 777);
DOF2::SaveFile();
}