Jump to content
  • 0

BUD Problema


XStormiest

Question

Deci ma enerveaza, am facut un register cu bud, login, totul si frumos nici o eroare , ma inregistrez, insa cand ma loghez nu imi incarca nimic din file

o sa las chestile de la care cred ca este problema

[pawn]

#include <a_samp>

#include <bud>

enum PData{

  Money,

  Score,

  Kills,

  Deaths,

  Admin,

  Rank

};

new PlayerInfo[MAX_PLAYERS][PData];

new iScore, iMoney, iKills, iDeaths, iAdmin, iRank;

stock GetName(playerid)

{

  new name[MAX_PLAYER_NAME];

  GetPlayerName(playerid,name,sizeof(name));

  return name;

}

#define SERVER_NAME "In Development server"

#define MIN_CHAR 3

#define MAX_CHAR 12

#define REGISTER_DIALOG 1

#define LOGIN_DIALOG 2

public OnGameModeInit()

{

//Database

BUD::Setting(opt.Database, DATABASE);

BUD::Setting(opt.Asynchronous, true);

BUD::Setting(opt.KeepAliveTime,3000);

BUD::Setting(opt.CheckForUpdates,true);

BUD::Initialize();

BUD::VerifyColumn("Score",BUD::TYPE_NUMBER);

BUD::VerifyColumn("Deaths",BUD::TYPE_NUMBER);

BUD::VerifyColumn("Kills",BUD::TYPE_NUMBER);

BUD::VerifyColumn("Money",BUD::TYPE_NUMBER);

BUD::VerifyColumn("Admin",BUD::TYPE_NUMBER);

BUD::VerifyColumn("Rank",BUD::TYPE_NUMBER);

//Misc

SetGameModeText("XStormiest's Server");

//Classes

AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

return 1;

}

public OnGameModeExit()

{

BUD::Exit();

return 1;

}

public OnPlayerConnect(playerid)

{

PlayersOnline++;

// register, login

if(BUD::IsNameRegistered(GetName(playerid) ) == true)

{

  new login[128];

  format(login,sizeof(login),"Welcome to %s, %s\nPlease login to the server, by using your password.",SERVER_NAME,GetName(playerid) );

  ShowPlayerDialog(playerid,LOGIN_DIALOG,DIALOG_STYLE_PASSWORD, "Login..", login, "Login","Leave");

}

else

{

      new register[128];

  format(register,sizeof(register),"Welcome to %s, %s\nPlease register to the server, by selecting your password.",SERVER_NAME,GetName(playerid) );

  ShowPlayerDialog(playerid,REGISTER_DIALOG,DIALOG_STYLE_PASSWORD, "Register..", register , "Register","Leave");

}

return 1;

}

public OnPlayerDisconnect(playerid, reason)

{

PlayersOnline--;

//save to database if player is register

if(BUD::IsNameRegistered(GetName(playerid)) == true)

{

  new userid = BUD::GetNameUID(GetName(playerid) );

  BUD::MultiSet(userid, "iiiiii",

  "Score",PlayerInfo[playerid][score],

  "Deaths",PlayerInfo[playerid][Deaths],

  "Kills",PlayerInfo[playerid][Kills],

  "Money",PlayerInfo[playerid][Money],

  "Admin",PlayerInfo[playerid][Admin],

  "Rank",PlayerInfo[playerid][Rank]);

}

return 1;

}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

{

    new userid = BUD::GetNameUID(GetName(playerid) );

if(dialogid == REGISTER_DIALOG)

{

  if(!response) Kick(playerid);

  if(response)

  {

if(strlen(inputtext) < MIN_CHAR || strlen(inputtext) > MAX_CHAR)

{

                        new register[256];

                        format(register,sizeof(register),"Welcome to %s, %s\nPlease register to the server, by selecting your password.\nPassword must be min %d characters and max %d characters",SERVER_NAME,GetName(playerid),MIN_CHAR,MAX_CHAR);

                    ShowPlayerDialog(playerid,REGISTER_DIALOG,DIALOG_STYLE_PASSWORD, "Register..", register , "Register","Leave");

}

else

{

BUD::RegisterName(GetName(playerid),inputtext);

BUD::MultiSet(userid, "iiiiii",

"Score",0,

"Deaths",0,

"Kills",0,

"Money",2000,

"Admin",0,

"Rank",0);

GivePlayerMoney(playerid,2000);

GameTextForPlayer(playerid, "~r~You are now register",2000,0);

PlayerInfo[playerid][score] = iScore;

PlayerInfo[playerid][Money] = iMoney;

                        PlayerInfo[playerid][Kills] = iKills;

                        PlayerInfo[playerid][Deaths] = iDeaths;

                PlayerInfo[playerid][Admin] = iAdmin;

                PlayerInfo[playerid][Rank] = iRank;

}

  }

  if(dialogid == LOGIN_DIALOG)

  {

if(!response) Kick(playerid);

if(response)

{

if(BUD::CheckAuth(GetName(playerid),inputtext) == false)

{

                  new login[256];

              format(login,sizeof(login),"Welcome to %s, %s\nPlease login to the server, by using your password\nInvalid password.",SERVER_NAME,GetName(playerid) );

              ShowPlayerDialog(playerid,LOGIN_DIALOG,DIALOG_STYLE_PASSWORD, "Login..", login, "Login","Leave");

}

else

{

          userid = BUD::GetNameUID(GetName(playerid) );

          BUD::MultiGet(userid, "iiiiii",

          "Score",iScore,

          "Deaths",iDeaths,

          "Kills",iKills,

          "Money",iMoney,

          "Admin",iAdmin,

          "Rank",iRank);

                  PlayerInfo[playerid][score] = iScore;

          PlayerInfo[playerid][Kills] = iKills;

          PlayerInfo[playerid][Money] = iMoney;

          PlayerInfo[playerid][Deaths] = iDeaths;

          PlayerInfo[playerid][Admin] = iAdmin;

          PlayerInfo[playerid][Rank] = iRank;

          GivePlayerMoney(playerid,PlayerInfo[playerid][Money]);

  SetPlayerScore(playerid,PlayerInfo[playerid][score]);

          GameTextForPlayer(playerid,"~r~You are now logged in",2000,0);

}

}

  }

}

return 1;

}

[/pawn]

Eu sunt nimeni. Dar prefer sa fiu un nimeni inconjurat de prieteni adevarati, decat un om faimos inconjurat de falsi.

Nu sunt un scripter perfect, nu sunt nici macar pe aproape, insa in in ciuda acestui fapt incerc sa invat sa le fac pe toate.

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

i-a pune [pawn]// register, login

if(BUD::IsNameRegistered(GetName(playerid) ) == true)

{

  new login[128];

  format(login,sizeof(login),"Welcome to %s, %s\nPlease login to the server, by using your password.",SERVER_NAME,GetName(playerid) );

  ShowPlayerDialog(playerid,LOGIN_DIALOG,DIALOG_STYLE_PASSWORD, "Login..", login, "Login","Leave");

}

else

{

      new register[128];

  format(register,sizeof(register),"Welcome to %s, %s\nPlease register to the server, by selecting your password.",SERVER_NAME,GetName(playerid) );

  ShowPlayerDialog(playerid,REGISTER_DIALOG,DIALOG_STYLE_PASSWORD, "Register..", register , "Register","Leave");

}[/pawn]

la public OnPlayerRequestClass(playerid,classid)

 

1859311972_BANNER-GIREADAcopy-min.thumb.png.48e5e420ae2185dce5b244965a1d2601.png

 

Link to comment
Share on other sites

pai si asta ar insemna ca dialogul apare de fiecare data cand schimba clasa

Eu sunt nimeni. Dar prefer sa fiu un nimeni inconjurat de prieteni adevarati, decat un om faimos inconjurat de falsi.

Nu sunt un scripter perfect, nu sunt nici macar pe aproape, insa in in ciuda acestui fapt incerc sa invat sa le fac pe toate.

Link to comment
Share on other sites

Atunci pune o variabila new IsPlayerLogged[MAX_PLAYERS];

si va iesi

[pawn]

    if(IsPlayerLogged[playerid] == 0)

    {

        if(BUD::IsNameRegistered(GetName(playerid) ) == true)

{

  new login[128];

  format(login,sizeof(login),"Welcome to %s, %s\nPlease login to the server, by using your password.",SERVER_NAME,GetName(playerid) );

  ShowPlayerDialog(playerid,LOGIN_DIALOG,DIALOG_STYLE_PASSWORD, "Login..", login, "Login","Leave");

}

else

{

      new register[128];

  format(register,sizeof(register),"Welcome to %s, %s\nPlease register to the server, by selecting your password.",SERVER_NAME,GetName(playerid) );

  ShowPlayerDialog(playerid,REGISTER_DIALOG,DIALOG_STYLE_PASSWORD, "Register..", register , "Register","Leave");

}

    }

[/pawn]

 

1859311972_BANNER-GIREADAcopy-min.thumb.png.48e5e420ae2185dce5b244965a1d2601.png

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.