[Pomoc]mafije i login/register


Započeo ‹Fox›, Decembar 12, 2010, 13:33:05 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Imam 2 problema:

  • 1.Kako da napravim da na biranju skinovi obicni igraci imaju normalne skinove za birati, a mafije imaju svoje skinove za birat(na OnGameModeInit  nema "playerid" pa nemoze if(PlayerInfo..........)
  • 2.Kada udjem na jedan nick koji nije registriran pise mi sve normalno kao da za pregled statusa upisem /stats...dobrodosao na server, a kad odem off i udem na neki drugi nick koji isto nije registriran nepise nista, samo connected to.....


Citat: Hoxxy poslato Decembar 12, 2010, 14:50:48 POSLE PODNE
1. To dodajes u OnPlayerRequestClass, a ne OnGameModeInit.
2. Postaj OnPlayerConnect

1.Hvala

2.To mi nije na connectu nego poslije login/register dialoga evo ti OnPlayerConnect i OnDialogResponse:
Kod: c
public OnPlayerConnect(playerid)
{
if(register[playerid] == 1)
{
ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "login", "Vase ime je registrirano! Molimo vas da unesete vasu lozinku!", "dalje", "odustani");
}
else
{
ShowPlayerDialog(playerid, reg, DIALOG_STYLE_INPUT, "register", "Vase ime nije registrirano! Molimo vas da se registrirate", "dalje", "odustani");
}
	return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(dialogid == reg)
   {
      if(response)
      {
          new string[128];
          new name[MAX_PLAYER_NAME];
         GetPlayerName(playerid, name, sizeof(name));
         if(strlen(inputtext) == 0)
         {
            format(string, sizeof string, "Vase ime nije registrirano! Molimo vas da se registrirate", name);
            ShowPlayerDialog(playerid, reg, DIALOG_STYLE_INPUT, "Registracija", string, "Register!", "Odustani.");
   GivePlayerMoney(playerid, 2200);
            return 0;
         }
         if(!fexist(file))
         {
         for(new i=0; i<MAX_PLAYERS; i++)
         {
         if(IsPlayerConnected(i))
         {
format(file,sizeof(file),"%s.ini",name);
            dini_Create(file);
		 register[playerid] = 1;
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            register2[playerid] = 1;
                  dini_IntSet(file,"Score", GetPlayerScore(playerid));
            dini_IntSet(file,"Deaths",deaths[playerid]);
            dini_IntSet(file,"money", GetPlayerMoney(playerid));
             dini_IntSet(file,"Kills", kills[playerid]);
             dini_IntSet(file,"AdminLevel", admlvl[playerid]);
            dini_IntSet(file,"Password", udb_hash(inputtext));
SendClientMessage(playerid, COLOR_GREEN, "Za pregled vaseg statusa upisite /stats");
SendClientMessage(playerid, COLOR_GREEN, "Za pregled statusa drugog igraca upisite /statsp [ID]");
         }
         }
         }
      }
   }
      if(dialogid == login)
   {
      if(response)
      {
          new string[128];
          new PlayerName[24];
         if(strlen(inputtext) == 0)
         {
             GetPlayerName(playerid, PlayerName, sizeof PlayerName);
             format(string, sizeof string, "Upisite lozinku \n\nDobrodosli %s! \nRegistrirani ste ! molimo da se ulogirate!!", PlayerName);
            ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "Login", string, "Login!", "Odustani.");
            return 0;
         }
         new name[MAX_PLAYER_NAME];
         GetPlayerName(playerid, name, sizeof(name));
         format(file,sizeof(file),"%s.ini",name);
         if(fexist(file))
         {
             new password = dini_Int(file, "Password");
                if(udb_hash(inputtext) != password)
            {
            SendClientMessage(playerid, COLOR_RED, "Pogrijesili ste lozinku!");
                 GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
                 printf("%s has failed to login", name);
                 Kick(playerid);
            }
            else
            {
            for(new i=0; i<MAX_PLAYERS; i++)
            {
            if(IsPlayerConnected(i))
            {
               IsLogged[playerid] = 1;
               ResetPlayerMoney(playerid);
               SetPlayerScore(playerid, dini_Int(file,"Score"));
               admlvl[playerid] = dini_Int(file, "AdminLevel");
               GivePlayerMoney(playerid, dini_Int(file,"Money"));
               deaths[playerid] = dini_Int(file,"Deaths");
               kills[playerid] = dini_Int(file,"Kills");
               TogglePlayerSpectating(playerid, 0);
               SendClientMessage(playerid, COLOR_YELLOW, "Dobrodosli na Multy Games");
            }
            }
            }
         }
      }
   }
	return 1;
}
[/color][/b]
Poslednja Izmena: Decembar 12, 2010, 15:00:45 POSLE PODNE od |~>FoX<~|