A regisztráció rendszerről annyit hogy mysqllal barátkozz, hidd el jobb.
Játszott idő..
Kell egy 1 Másodperces Timer ami másodpercenként ha belépett akor egy változóhoz mindig hozzá ad egyet.
És ha az eléri a 60 akkor hozzá ad egyet a 2. Változóhoz és ha az is 60 akkor hozzá ad 1 et az órához
Masodperc[playerid]++
If(Masodperc[playerid] => 60)
{
Masodperc[playerid] = 0;
Perc[playerid]++;
If(Perc[playerid] => 60)
{
Perc[playerid] = 0;
Ora[playerid]++;
}
}
Ez szerintem jó csak telefonról vagyok abba meg nincs tab gomb...
#include <a_samp>
#include <zcmd>
#include <dini>
enum pInfo {
Kills,
Deaths
}
new PlayerInfo[MAX_PLAYERS][pInfo];
public OnPlayerConnect(playerid) {
new file[100];
format(file, sizeof(file), \"Accounts/%s.ini\", PlayerName(playerid));
if(fexist(file)) {
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, \"Login Dialog\", \"Írd be a jelszavad\", \"Login\", \"\");
} else if(!fexist(file)) {
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Register Dialog\", \"Írj be egy jelszót\", \"Register\", \"\");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason) {
new file[100];
format(file, sizeof(file), \"Accounts/%s.ini\", PlayerName(playerid));
dini_IntSet(file, \"Kills\", PlayerInfo[playerid][Kills]);
dini_IntSet(file, \"Deaths\", PlayerInfo[playerid][Deaths]);
dini_IntSet(file, \"Score\", GetPlayerScore(playerid));
dini_IntSet(file, \"Money\", GetPlayerMoney(playerid));
return 1;
}
public OnPlayerDeath(playerid, killerid, reason) {
PlayerInfo[playerid][Deaths]++;
PlayerInfo[killerid][Kills]++;
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
new file[100];
format(file, sizeof(file), \"Accounts/%s.ini\", PlayerName(playerid));
if(dialogid == 0) {
if(!response) return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, \"Login Dialog\", \"Írd be a jelszavad\", \"Login\", \"\");
if(!strlen(inputtext) || (strcmp(inputtext, dini_Get(file, \"Password\"), false) != 0)) {
SendClientMessage(playerid, -1, \"Rossz jelszó\");
return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, \"Login Dialog\", \"Írd be a jelszavad\", \"Login\", \"\");
}
PlayerInfo[playerid][Kills] = dini_Int(file, \"Kills\");
PlayerInfo[playerid][Deaths] = dini_Int(file, \"Deaths\");
SetPlayerScore(playerid, dini_Int(file, \"Score\"));
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, dini_Int(file, \"Money\"));
return 1;
}
if(dialogid == 1) {
if(!response) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Register Dialog\", \"Írj be egy jelszót\", \"Register\", \"\");
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Register Dialog\", \"Írj be egy jelszót\", \"Register\", \"\");
dini_Create(file);
dini_Set(file, \"Password\", inputtext);
return 1;
}
return 0;
}
stock PlayerName(playerid) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}
tesztektem, de egyedül nehéz a killeket vagy a halálokat változtatni, úgyhogy azt tesztelni kell..
de a jelszót meg a pénzt menti, és betölti.. :DD
a szövegeket írd át ahogy akarod.. meg persze bővítsd, de kezdésnek ennyi megteszi.