Balkan SA:MP
PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ‹Fox› poslato Decembar 12, 2010, 13:33:05 POSLE PODNE
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]