Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4839 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

sveiki as ziurejau i kitu pamokas kaip padaryti login register save sistemas bandziau ir toje pamokoje buvo klaida su issisaugojimu tai noreciau ja pataisyti ir galbut parodyti kur ta klaida ir kodel ji yra klaida....Taigi pradedam

1.atsidarome gamemode ****.pwn

2.i gamemodu virsu po #include rasome

#include 

3.po ju rasome

enum pInfo
{
   pAdmin,
   pVip,
   pPinigai,
   pTaskai,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
new gPlayerLogged[MAX_PLAYERS];
#define SERVER_USER_FILE "users/%s.ini"
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA

4.gerai pradedame registracijos sistema po OnPlayerConnect rasome:

	gPlayerLogged[playerid] = 0;
   new name[MAX_PLAYER_NAME], file[256];
   GetPlayerName(playerid, name, sizeof(name));
   format(file, sizeof(file), SERVER_USER_FILE, name);
   if (!dini_Exists(file))
   {
       ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Jus neuzsiregistraves", "Sveiki, jus neregistruotas prasome suvesti norima slaptazodi", "Registruotis", "Palikti");
   }
   if(fexist(file))
   {
       ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Sveiki", "Jus registruotas, iveskite slaptazodi", "Prisijungti", "Palikti");
   }

turi atrodyti mazdaug taip

public OnPlayerConnect(playerid)
{
gPlayerLogged[playerid] = 0;
   new name[MAX_PLAYER_NAME], file[256];
   GetPlayerName(playerid, name, sizeof(name));
   format(file, sizeof(file), SERVER_USER_FILE, name);
   if (!dini_Exists(file))
   {
       ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Jus neuzsiregistraves", "Sveiki, jus neregistruotas prasome suvesti norima slaptazodi", "Registruotis", "Palikti");
   }
   if(fexist(file))
   {
       ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Sveiki", "Jus registruotas, iveskite slaptazodi", "Prisijungti", "Palikti");
   }
return 1;
}

5.tada po callback'u OnDialogResponse rasome:

if (dialogid == 1)
   {
       new name[MAX_PLAYER_NAME], file[256], string[128];
       GetPlayerName(playerid, name, sizeof(name));
       format(file, sizeof(file), SERVER_USER_FILE, name);
       if(!response) return Kick(playerid);
       if (!strlen(inputtext)) return
     ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Jus neuzsiregistraves", "Sveiki, jus neregistruotas prasome suvesti norima slaptazodi", "Registruotis", "Palikti");
       dini_Create(file);
       dini_IntSet(file, "Password", udb_hash(inputtext));
       dini_IntSet(file, "Adminas",PlayerInfo[playerid][pAdmin] = 0);
       dini_IntSet(file, "Vipas",PlayerInfo[playerid][pVip] = 0);
       dini_IntSet(file, "Pinigai",PlayerInfo[playerid][pPinigai] = 10000);
       dini_IntSet(file, "Taskai",PlayerInfo[playerid][pTaskai] = 0);
       format(string, 128, "Jus sekmingai uzsiregistravote %s su slaptazodziu:   %s  , jus automatiskai prijungtas.", name, inputtext);
       SendClientMessage(playerid, COLOR_YELLOW, string);
       gPlayerLogged[playerid] = 1;
   }
if (dialogid == 2)
  {
  new name[MAX_PLAYER_NAME], file[256];
  GetPlayerName(playerid, name, sizeof(name));
  format(file, sizeof(file), SERVER_USER_FILE, name);
  if(!response) return Kick(playerid);
  if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Sveiki", "Jus registruotas, iveskite slaptazodi", "Prisijungti", "Palikti");
  new tmp;
  tmp = dini_Int(file, "Password");
  if(udb_hash(inputtext) != tmp) {
  SendClientMessage(playerid, COLOR_RED, "Slaptazodis neteisingas.");
  ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Sveiki", "Jus registruotas, iveskite slaptazodi", "Prisijungti", "Palikti");
  }
  else
  {
  gPlayerLogged[playerid] = 1;
  PlayerInfo[playerid][pAdmin] = dini_Int(file, "Adminas");
  PlayerInfo[playerid][pVip] = dini_Int(file, "Vipas");
  SetPlayerScore(playerid, dini_Int(file, "Taskai"));
  GivePlayerMoney(playerid, dini_Int(file, "Pinigai")-GetPlayerMoney(playerid));
  SendClientMessage(playerid,COLOR_RED, "Sekmingai prisijungete!");
   }
   }

turi atrodyti taip:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 1)
   {
       new name[MAX_PLAYER_NAME], file[256], string[128];
       GetPlayerName(playerid, name, sizeof(name));
       format(file, sizeof(file), SERVER_USER_FILE, name);
       if(!response) return Kick(playerid);
       if (!strlen(inputtext)) return
     ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Jus neuzsiregistraves", "Sveiki, jus neregistruotas prasome suvesti norima slaptazodi", "Registruotis", "Palikti");
       dini_Create(file);
       dini_IntSet(file, "Password", udb_hash(inputtext));
       dini_IntSet(file, "Adminas",PlayerInfo[playerid][pAdmin] = 0);
       dini_IntSet(file, "Vipas",PlayerInfo[playerid][pVip] = 0);
       dini_IntSet(file, "Pinigai",PlayerInfo[playerid][pPinigai] = 10000);
       dini_IntSet(file, "Taskai",PlayerInfo[playerid][pTaskai] = 0);
       format(string, 128, "Jus sekmingai uzsiregistravote %s su slaptazodziu:   %s  , jus automatiskai prijungtas.", name, inputtext);
       SendClientMessage(playerid, COLOR_YELLOW, string);
       gPlayerLogged[playerid] = 1;
   }
if (dialogid == 2)
  {
  new name[MAX_PLAYER_NAME], file[256];
  GetPlayerName(playerid, name, sizeof(name));
  format(file, sizeof(file), SERVER_USER_FILE, name);
  if(!response) return Kick(playerid);
  if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Sveiki", "Jus registruotas, iveskite slaptazodi", "Prisijungti", "Palikti");
  new tmp;
  tmp = dini_Int(file, "Password");
  if(udb_hash(inputtext) != tmp) {
  SendClientMessage(playerid, COLOR_RED, "Slaptazodis neteisingas.");
  ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Sveiki", "Jus registruotas, iveskite slaptazodi", "Prisijungti", "Palikti");
  }
  else
  {
  gPlayerLogged[playerid] = 1;
  PlayerInfo[playerid][pAdmin] = dini_Int(file, "Adminas");
  PlayerInfo[playerid][pVip] = dini_Int(file, "Vipas");
  SetPlayerScore(playerid, dini_Int(file, "Taskai"));
  GivePlayerMoney(playerid, dini_Int(file, "Pinigai")-GetPlayerMoney(playerid));
  SendClientMessage(playerid,COLOR_RED, "Sekmingai prisijungete!");
   }
   }
return 1;
}

6.nu ir dabar einame prie issisaugojimo sistemos kur ir buvo klaidos :) po OnPlayerDisconnect

rasome:

   new name[MAX_PLAYER_NAME], file[256];
  GetPlayerName(playerid, name, sizeof(name));
  format(file, sizeof(file), SERVER_USER_FILE, name);
  {
  dini_IntSet(file,"Taskai",GetPlayerScore(playerid));
  dini_IntSet(file,"Pinigai",GetPlayerMoney(playerid));
  dini_IntSet(file, "Adminas",PlayerInfo[playerid][pAdmin]);
  dini_IntSet(file, "Vipas",PlayerInfo[playerid][pVip]);
  }
  gPlayerLogged[playerid] = 0;

turi atrodyti taip

public OnPlayerDisconnect(playerid, reason)
{
  new name[MAX_PLAYER_NAME], file[256];
  GetPlayerName(playerid, name, sizeof(name));
  format(file, sizeof(file), SERVER_USER_FILE, name);
  {
  dini_IntSet(file,"Taskai",GetPlayerScore(playerid));
  dini_IntSet(file,"Pinigai",GetPlayerMoney(playerid));
  dini_IntSet(file, "Adminas",PlayerInfo[playerid][pAdmin]);
  dini_IntSet(file, "Vipas",PlayerInfo[playerid][pVip]);
  }
  gPlayerLogged[playerid] = 0;
  return 1;
}

gerai dabar einame prie klaidu, vietoje sito:

   dini_IntSet(file,"Taskai",GetPlayerScore(playerid));
  dini_IntSet(file,"Pinigai",GetPlayerMoney(playerid));

buvo padetas skriptas:

   dini_IntSet(file,"Taskai",PlayerInfo[pTaskai]);
  dini_IntSet(file,"Pinigai",PlayerInfo[pTaskai]);

GetPlayerScore reiskia gauk zaidejo taskus o sis skriptas ju nenurodo gauti tai jis ir neissaugodavo tasku tas pats ir su pinigai tik ne GetPlayerScore o GetPlayerMoney

Aciu...Tai mano pirmoji pamoka jeigu negaila +rep :unsure:

  • Teigiamai 4
  • Parašė po 2 mėnesių...

Sudas neveikantis.

C:\Users\Àäìèíèñòðàòîð\Desktop\S@NioK\EchoDRIFT Linux\gamemodes\echo.pwn(1689) : error 017: undefined symbol "udb_hash"

C:\Users\Àäìèíèñòðàòîð\Desktop\S@NioK\EchoDRIFT Linux\gamemodes\echo.pwn(1707) : error 017: undefined symbol "udb_hash"

C:\Users\Àäìèíèñòðàòîð\Desktop\S@NioK\EchoDRIFT Linux\gamemodes\echo.pwn(1721) : warning 209: function "OnDialogResponse" should return a value

Sudas neveikantis.

C:\Users\Àäìèíèñòðàòîð\Desktop\S@NioK\EchoDRIFT Linux\gamemodes\echo.pwn(1689) : error 017: undefined symbol "udb_hash"

C:\Users\Àäìèíèñòðàòîð\Desktop\S@NioK\EchoDRIFT Linux\gamemodes\echo.pwn(1707) : error 017: undefined symbol "udb_hash"

C:\Users\Àäìèíèñòðàòîð\Desktop\S@NioK\EchoDRIFT Linux\gamemodes\echo.pwn(1721) : warning 209: function "OnDialogResponse" should return a value

Todėl, kad jis ją čia parašė pagal dLc pamoką, nes jis ten mokė kurti registraciją su "hashinimu".

banner9.gif

Paspausk ir užsidirbk.

:)

Svečias
nezinau taciau man meta error del kaskokio dini nepriemamumo ar kas ten

image.php?id=8204_4F29A470&jpg

Pasiimk pawno iš pawno folderiuko, ir su juo atsidaryk tą gm.

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4839 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai



×
×
  • Sukurti naują...