Szerző Téma: Regisztráció  (Megtekintve 2076 alkalommal)

Nem elérhető nyE

  • 1745
    • Profil megtekintése
Regisztráció
« Dátum: 2011. január 13. - 21:00:56 »
+7 Show voters

Hello!
Már régen publikáltam, ezért írtam egy regisztrációs filterscriptet.
Tudom, hogy nem nagy szám, nem is azért írtam, hogy majd ezzel nyerem el a 2011-es év filterscriptje díjat hanem azért, hogy a kezdõ scripterek megtanulják a fájlokkal való munkát. Azért használtam a dini-t mert a scriptek 98%-át ezzel írják. Ha valamit egyszerûbben is meglehet(ett volna) oldani akkor írjatok és megcsinálom.
UPDATE 2012:
Mivel törölték felrakom máshova. Lehet, hogy nem ez volt, viszont ugyan olyan regisztrációs script plusz tartalmaz egy bank rendszert is.
Parancsok:
deposit [összeg] - pénzt rak be a számládra
withdraw [összeg] - pénzt vesz ki a számládról
balance - Megnézi mennyi pénz van a számládon
stats - statisztikád (pont, pénz, halálok, ölések, csatlakozások)
Letöltés:
Solidfiles                Pastebin
\"download.png\"            \"icon_64x64.png\"
 
 
#include <a_samp>
#include <Dini>
#include <zcmd>
#include <sscanf2>
#define COLOR_RED       0xF60000AA
#define COLOR_GREEN    0x33AA33AA
#define DIALOG_REGISTER   1337
#define DIALOG_LOGIN   1338
#define DEPOSIT         1339
#define WITHDRAW        1440
#define Mappa           \"Users\"
new fajl[256], str[128];
public OnPlayerConnect(playerid)
{
    SetPVarInt(playerid, \"Bejelentkezve\", 0);
    format(fajl, 256,\"%s/%s.ini\", Mappa, GetPlayerNameEx(playerid));
    if(!dini_Exists(fajl))
{
    format(str, 128,\"Hello %s!\\nTe még nem regisztráltál!\\nÍrj be egy jelszót!\", GetPlayerNameEx(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,\"Regisztráció\", str,\"Regisztrál\",\"Kilép\");
}
else
{
    format(str, 128,\"Hello %s!\\nEz a név regisztrálva van\\nKérlek jelentkezz be!\", GetPlayerNameEx(playerid));
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,\"Belépés\", str, \"Belépés\", \"Kilépés\");
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
    format(fajl, 256, \"%s/%s.ini\", Mappa, GetPlayerNameEx(playerid));
    if(dini_Exists(fajl))
{
dini_Create(fajl);
dini_IntSet(fajl,\"Pénz\", GetPlayerMoney(playerid));
dini_IntSet(fajl,\"Ölések\", GetPVarInt(playerid, \"Ölések\"));
dini_IntSet(fajl,\"Halálok\", GetPVarInt(playerid, \"Halálok\"));
dini_IntSet(fajl,\"BankMoney\", GetPVarInt(playerid, \"BankMoney\"));
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SetPVarInt(playerid, \"Halálok\", GetPVarInt(playerid, \"Halálok\")+1);
SetPVarInt(killerid, \"Ölések\", GetPVarInt(killerid, \"Ölések\")+1);
SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
SetPlayerScore(playerid, GetPlayerScore(playerid)-1);
GivePlayerMoney(killerid, 2000);
GivePlayerMoney(playerid, -1000);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_REGISTER)
    {
        if(response)
        {
        if(!inputtext[0] && !strlen(inputtext)) ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,\"Regisztráció\", \"Nem írtál be semmit!\",\"Regisztrál\",\"Kilép\");
   else
   {
       dini_Create(fajl);
      dini_Set(fajl,\"Jelszó\", inputtext);
      dini_IntSet(fajl,\"Pénz\", GetPlayerMoney(playerid));
      dini_IntSet(fajl,\"Ölések\", GetPVarInt(playerid, \"Ölések\"));
      dini_IntSet(fajl,\"Halálok\", GetPVarInt(playerid, \"Halálok\"));
      dini_IntSet(fajl,\"Csatlakozások\", 1);
      dini_IntSet(fajl,\"Kickelve\", 0);
      dini_IntSet(fajl,\"BankMoney\", 0);
      SetPVarInt(playerid, \"Bejelentkezve\", 1);
      SetPVarInt(playerid, \"Kickelve\", 0);
       SendClientMessage(playerid, 0x33AA33AA, \"Sikeresen Regisztráltál!\");
   }
}
else Kick(playerid);
}
if(dialogid == DIALOG_LOGIN)
    {
        if(response)
        {
        if(!inputtext[0] && !strlen(inputtext)) ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,\"Belépés\", \"Nem írtál be semmit!\", \"Belépés\", \"Kilépés\");
   else if(strcmp(inputtext, dini_Get(fajl, \"Jelszó\"), false) != 0)
   {
      SendClientMessage(playerid, COLOR_RED, \"Hibás jelszó!\");
      Kick(playerid);
   }
   else
   {
       SetPVarInt(playerid, \"Bejelentkezve\", 1);
      GivePlayerMoney(playerid, dini_Int(fajl, \"Pénz\"));
      SetPVarInt(playerid, \"Ölések\", dini_Int(fajl,\"Ölések\"));
      SetPVarInt(playerid, \"Halálok\", dini_Int(fajl,\"Halálok\"));
      SetPVarInt(playerid, \"Kickelve\", dini_Int(fajl,\"Kickelve\"));
      SetPVarInt(playerid, \"BankMoney\", dini_Int(fajl,\"BankMoney\"));
      SetPVarInt(playerid, \"Csatlakozások\", dini_Int(fajl,\"Csatlakozások\"));
      dini_IntSet(fajl,\"Csatlakozások\", GetPVarInt(playerid, \"Csatlakozások\")+1);
      SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen Bejelentkeztél!\");
   }
}
else Kick(playerid);
}
if(dialogid == DEPOSIT)
    {
        if(strval(inputtext) > GetPlayerMoney(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,\"Nincs ennyi pénzed!\");
        else if(!IsNumeric(inputtext)) return SendClientMessage(playerid,0xFFFFFFFF,\"Számokat!\"),ShowPlayerDialog(playerid, DEPOSIT, DIALOG_STYLE_INPUT,\"Bank\",\"Írd be, hogy menni pénzt szeretnél betenni a számládra.\",\"Betesz\",\"Back\");
        else
        {
            new jaj = GetPVarInt(playerid, \"BankMoney\");
            GivePlayerMoney(playerid, -strval(inputtext));
            SetPVarInt(playerid, \"BankMoney\", jaj += strval(inputtext));
           dini_IntSet(fajl,\"BankMoney\", GetPVarInt(playerid, \"BankMoney\"));
        }
    }
    if(dialogid == WITHDRAW)
    {
        if(strval(inputtext) > GetPVarInt(playerid, \"BankMoney\")) return SendClientMessage(playerid,0xFFFFFFFF,\"Nincs ennyi pénz a számládon!\");
        else if(!IsNumeric(inputtext)) return SendClientMessage(playerid,0xFFFFFFFF,\"Számokat!\"),ShowPlayerDialog(playerid, WITHDRAW, DIALOG_STYLE_INPUT,\"Bank\",\"Írd be, hogy menni pénzt szeretnél kivenni a számládról.\",\"Kivesz\",\"Mégse\");
        else
        {
            new jaj = GetPVarInt(playerid, \"BankMoney\");
            GivePlayerMoney(playerid, strval(inputtext));
            SetPVarInt(playerid, \"BankMoney\", jaj -= strval(inputtext));
           dini_IntSet(fajl,\"BankMoney\", GetPVarInt(playerid, \"BankMoney\"));
        }
    }
return 1;
}
CMD:deposit(playerid, params[])
{
      ShowPlayerDialog(playerid, DEPOSIT, DIALOG_STYLE_INPUT,\"Bank\",\"Írd be, hogy menni pénzt szeretnél betenni a számládra.\",\"Betesz\",\"Mégse\");
return 1;
}
CMD:withdraw(playerid, params[])
{
      ShowPlayerDialog(playerid, WITHDRAW, DIALOG_STYLE_INPUT,\"Bank\",\"Írd be, hogy menni pénzt szeretnél kivenni a számládról.\",\"Kivesz\",\"Mégse\");
return 1;
}
CMD:balance(playerid, params[])
{
    format(str, 128, \"{FFFFFF}A számládon levõ összeg: {FF8843}%d\",GetPVarInt(playerid, \"BankMoney\"));
    SendClientMessage(playerid, 0xFFFFFFFF, str);
return 1;
}
CMD:stats(playerid, params[])
{
format(str, 128, \"Név: %s, Pontok: %d, Pénz: %d, Halálok száma: %d, Ölések száma: %d, Csatlakozások száma: %d\",
GetPlayerNameEx(playerid),
GetPlayerScore(playerid),
GetPlayerMoney(playerid),
GetPVarInt(playerid, \"Halálok\"),
GetPVarInt(playerid, \"Ölések\"),
GetPVarInt(playerid, \"Csatlakozások\"));
return SendClientMessage(playerid, 0xFFFFFFFF, str);
}
stock GetPlayerNameEx(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); return name;}
stock IsNumeric(string[])
{
for (new i = 0, j = strlen(string); i < j; i++) if (string > \'9\' || string < \'0\') return 0;
return 1;
}
« Utoljára szerkesztve: 2012. április 09. - 14:12:51 írta Antonyo »

Regisztráció
« Válasz #1 Dátum: 2011. augusztus 12. - 20:47:16 »
0 Show voters
Nagyon jo lett szerintem
Használni fogom az tuti :)

SmokeR

  • Vendég
Regisztráció
« Válasz #2 Dátum: 2012. április 05. - 23:32:55 »
0 Show voters
Ez még mindig meg van neked ? nagyon kéne :D

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Regisztráció
« Válasz #3 Dátum: 2012. április 06. - 07:47:24 »
0 Show voters
[mod]Kérlek, hogy ha meg van még ez a kiegészítõ, módosítsd a Szabályzat alapján![/mod]

Nem elérhető nyE

  • 1745
    • Profil megtekintése
Regisztráció
« Válasz #4 Dátum: 2012. április 09. - 14:11:52 »
0 Show voters
Módosítva az új szabályzat alapján.

SmokeR

  • Vendég
Regisztráció
« Válasz #5 Dátum: 2012. április 10. - 08:14:12 »
0 Show voters
Kösz ! Nagyon király vagy !

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal