Skripta koju koristim: Nebitno
Opis problema Vako radio sam REG/LOG system od 0 napravio sam sve dobro ali kada udem u samp i kada mi treba doci REGISTER_DIALOG_RULES msm da se registrujem ono me odma baci na logiranje.
Dio skripte: //
Slika (neobavezno): //
//ovo je kada se igrac treba registrirati
stock SetupPlayerForRegister(playerid) {
new str[64], str2[256];
format(str, sizeof(str), ""svjetloplava"%s - Pravila", SERVER_NAME);
format(str2, sizeof(str2), ""bijela"%s,\n\nZelimo ti dobrodoslicu na server !\n\nKako bi igrao moras prihvatiti\ndole navedena pravila:\n\n1. Zabranjeno Vrijedjanje\n2. Zabranjen DM\n3. Zabranjeno iskoristavanje BUG-ova\n4,Zabranjeno varanje !\n\nDali prihvacas pravila ?", pName(playerid));
ShowPlayerDialog(playerid, REGISTER_DIALOG_RULES, DIALOG_STYLE_MSGBOX, str, str2, "Prihvacam", "Odbijam");
return 1; }
// evo sad za login
stock SetupPlayerForLogin(playerid) {
new str[64], str2[128];
format(str, sizeof(str), ""svjetloplava"%s - Logiranje", SERVER_NAME);
format(str2, sizeof(str2), ""bijela"%s,\nDobrodošao natrag na server !\n\nKako bi nastavio s igrom molimo\nte upisi lozinku:", pName(playerid));
ShowPlayerDialog(playerid, LOGIN_DIALOG_PASSWORD, DIALOG_STYLE_PASSWORD, str, str2, "Prijava", "Odustani");
return 1; }
napravis da radi provjeru dal je igrac reg. ako nije da izbaci dialog za reg.
ali da taj onplayerconnect ili di vec pokreces taj dialog za registriranje
Evo OnPlayerConnect
public OnPlayerConnect(playerid) {
//Stavljanje defaultni pvarova
SetPVarInt(playerid, "is_logged", 0); // Govori dali je igrac logiran
SetPVarInt(playerid, "godine", -1); // Govori koliko igrac ima godina
SetPVarInt(playerid, "spol", -1); // Govori igracev spol(0 musko, 1 zensko)
SetPVarInt(playerid, "skin", -1); // Govori Id igracevog skina
SetPVarInt(playerid, "login_fail", 0); // Govori koliko je puta igrac pogresio lozinku na logriranjuy
SetPVarInt(playerid, "firstspawn", 1); // Govori da se igrac prvi put spawna
SetPVarInt(playerid, "is_spawned", 0); // Govori da li je igrac spawna
//----------------------------------------------------------------- ---------
//Provjeravamo dali igrac ima acc i šaljemo ga na registraciju/logiranje
new str[64]; format(str, sizeof(str), "/Users/%s.ini", pName(playerid));
if(!dini_Exists(str)) { SetupPlayerForRegister(playerid);
}else{ SetupPlayerForLogin(playerid); }
//--------------------------------------------------------------------------
SetupPlayerForRegister(playerid);
SetupPlayerForLogin(playerid);
return 1; }
OnDialogResponse
//
public OnDialogResponse (playerid, dialogid, response, listitem, inputtext[]) {
//Dialog za prihvatiti pravila registracije
if(dialogid == REGISTER_DIALOG_RULES) {
if(!response) return Kick(playerid);
new str[64], str2[128];
format(str, sizeof(str), ""svjetloplava"%s - Godine", SERVER_NAME);
format(str, sizeof(str), ""bijela"%s,\nUpisi koliko imaas godina:", pName(playerid));
ShowPlayerDialog(playerid, REGISTER_DIALOG_RULES, DIALOG_STYLE_INPUT, str, str2, "Dalje", "Odustani");
evo slika da malo olaksam sta mi dode http://prntscr.com/6uje6q a treba prvo da mi registraciju izbaci !
http://balkan-samp.com/forum/index.php?topic=51652.0
evo ti ovo pa gledaj,
i koristi Y_Ini ostavi se dinia,
probaj nac negdje include od y-ini-a jer ovaj ne radi link u toj temi
Moze mi ko pomoc kako da napravim da mi prvo izbaci registraciju a ne odma login ?
Citat: Pita poslato April 18, 2015, 22:13:22 POSLE PODNE
Moze mi ko pomoc kako da napravim da mi prvo izbaci registraciju a ne odma login ?
pa napraviÅ¡ varijablu koja će se saÄuvati npr. pRegistrovan , onda pod onplayerconnect if(PlayerInfo[playerid][pRegistrovan] < 1) return ShowPlayerDialog i to za registraciju..i onda kada zavrsi sa registracijom stavis mu PlayerInfo[playerid][pRegistrovan] = 1; i onda napravis pod onplayerconnect if(PlayerInfo[playerid][pRegistrovan] > 0) return ShowPlayerDialog i to za login dijalog i sta vec ide... i to je to uglavnom prilagodi svom enumu i naravno to moras sacuvati i na vrh onplayerconnecta ucitati igrace jer inace nece loadovati prije nego sto se izbaci login/register dijalog kontas
new str[64]; format(str, sizeof(str), "/Users/%s.ini", pName(playerid));
if(!dini_Exists(str)) { SetupPlayerForRegister(playerid); //ukoliko nema account
}else{ SetupPlayerForLogin(playerid); } //ukoliko ima account
//--------------------------------------------------------------------------
SetupPlayerForRegister(playerid); //obrisi
SetupPlayerForLogin(playerid); //obrisi
Samo obrisi ovo na kraju callbacka OnPlayerConnect sto sam ti oznacio "//obrisi"