[Pomoc]mafije i login/register

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

prethodna tema - sledeća tema

0 članova i 2 gostiju 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:
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<~|