Započeo [IF] mariomako
•20. Maj 2011.[pomoc] Kako od komandu napraviti dialog
8,472
pregleda
25
postova
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
618
Postovi:
155
Teme:
Pridružio se:Apr. 2010
20. Maj 2011.
Skriptu koju koristim: Moji gamemode od 0
Detaljan opis problema: Imam komande /register i /login ali neznam kako da napravim da register i login nije vise u komande nego da je u dialog, ja znam da napravim ono showplayerdialog cim se igrac konektuje ali kako da napravim ono sta ide pod OnDialogResponse.
Dio skripte:
Detaljan opis problema: Imam komande /register i /login ali neznam kako da napravim da register i login nije vise u komande nego da je u dialog, ja znam da napravim ono showplayerdialog cim se igrac konektuje ali kako da napravim ono sta ide pod OnDialogResponse.
Dio skripte:
CMD:register(playerid, params[])
{
if(GetPVarInt(playerid, "Logged")) return SendClientMessage(playerid, COLOR_ORANGE, "[*] You're already logged in!");
if(isnull(params)) return SendClientMessage(playerid, COLOR_ORANGE, "[*] Usage: /register ");
new Query, pName;
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
mysql_real_escape_string(pName, pName);
format(Query, sizeof Query, "SELECT * FROM `accounts` WHERE `Name` = '%s' LIMIT 1", pName);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows())
{
SendClientMessage(playerid, COLOR_ORANGE, "[*] An account already exists under that name! Use \"/login\" to log in!");
mysql_free_result();
return 1;
}
mysql_free_result();
WP_Hash(Query, 129, params);
new IP;
GetPlayerIp(playerid, IP, 16);
format(Query, sizeof Query, "INSERT INTO `accounts` (Name, Password, IP, Admin, Money, Score, Kills, Deaths) VALUES ('%s', '%s', '%s', %i, %i, %i, %i, %i)",
pName,
Query,
IP,
GetPVarInt(playerid, "Admin"),
GetPlayerMoney(playerid),
GetPlayerScore(playerid),
GetPVarInt(playerid, "Kills"),
GetPVarInt(playerid, "Deaths"));
mysql_query(Query);
SetPVarInt(playerid, "Logged", 1);
SendClientMessage(playerid, COLOR_LIMEGREEN, "[*] Succesfully registered and automatically logged in!");
return 1;
}CMD:login(playerid, params[])
{
if(GetPVarInt(playerid, "Logged")) return SendClientMessage(playerid, COLOR_ORANGE, "[*] You're already logged in!");
if(isnull(params)) return SendClientMessage(playerid, COLOR_ORANGE, "[*] Usage: /login ");
new Query, pName;
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
mysql_real_escape_string(pName, pName);
format(Query, sizeof Query, "SELECT * FROM `accounts` WHERE `Name` = '%s' LIMIT 1", pName);
mysql_query(Query);
mysql_store_result();
if(!mysql_num_rows())
{
SendClientMessage(playerid, COLOR_ORANGE, "[*] You're not registered! Use \"/register\" to register an account!");
mysql_free_result();
return 1;
}
mysql_free_result();
WP_Hash(Query, 129, params);
format(Query, sizeof Query, "SELECT * FROM `accounts` WHERE `Name` = '%s' AND `Password` = '%s' LIMIT 1", pName, Query);
mysql_query(Query);
mysql_store_result();
if(!mysql_num_rows())
{
SetPVarInt(playerid, "LoginWarns", GetPVarInt(playerid, "LoginWarns") + 1);
if(GetPVarInt(playerid, "LoginWarns") == 3)
{
format(Query, sizeof Query, "[*] %s has been kicked for 3 wrong login attempts!", pName);
SendClientMessageToAll(COLOR_ROYALBLUE, Query);
Kick(playerid);
}
else
{
format(Query, sizeof Query, "[*] Wrong password! Attempt %i out of 3.", GetPVarInt(playerid, "LoginWarns"));
SendClientMessage(playerid, COLOR_ORANGE, Query);
}
return 1;
}
mysql_fetch_row(Query);
new values;
sscanf(Query, "p<|>{sss}a", values); //Enjoy editing.
SetPVarInt(playerid, "Admin", values);
GivePlayerMoney(playerid, values);
SetPlayerScore(playerid, values);
SetPVarInt(playerid, "Kills", values);
SetPVarInt(playerid, "Deaths", values);
mysql_free_result();
SetPVarInt(playerid, "Logged", 1);
SendClientMessage(playerid, COLOR_LIMEGREEN, "[*] Succesfully logged in!");
//Ip setting
GetPlayerIp(playerid, Query, 16);
format(Query, sizeof Query, "UPDATE `accounts` SET `IP` = '%s' WHERE `Name` = '%s' LIMIT 1", Query, pName);
mysql_query(Query);
return 1;
}Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
618
Postovi:
155
Teme:
Pridružio se:Apr. 2010
20. Maj 2011.
Quote from May 20, 2011, 5:32 pm:
cek, jel ti zelis da kucas /register ili /login pa da se pojavi dialog ili da se odma pojavi bez komandi
znaci, ja cu si uraditi SHOWPLAYERDIALOG, neznam kako napraviti ono sta ide ispod ondialogresponse 😄 mozda uradis ti ? Hvala unapred, pozdrav
20. Maj 2011.
Quote from May 20, 2011, 6:17 pm:
pa jel zelis da ti kad kucas koamndu da se onda projavi dialog ili automatski😕
A da ti proÄitaÅ¡ njegov post? On je uradio sve samo mu treba netko napraviti Response za dijaloge !
Već 50 postova imaš jel automatski ili ovako , nije bitno on je napisao što treba a ne da ga ispituješ tu svaki 2 post.
Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,504
Postovi:
88
Teme:
Pridružio se:Sep. 2010
20. Maj 2011.
ok ok nisam ga skuzio
evo ovako je u mom GM-u ti samo promjeni svoje funkcije i varjable za spremanje score,va money itd.
if (dialogid == 1)
{
new name, file, string;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodošli, niste registrirani! Molim registrirajte se za daljnju igru!", "Register", "Leave");
dini_Create(file);
dini_IntSet(file, "Lozinka", udb_hash(inputtext));
dini_IntSet(file, "Admin Level",PlayerInfo = 0);
dini_IntSet(file, "Money",PlayerInfo = 0);
dini_IntSet(file, "Score",PlayerInfo = 0);
dini_IntSet(file, "Kills",PlayerInfo = 0);
dini_IntSet(file, "Deaths",PlayerInfo = 0);
format(string, 128, "Registrirali ste se s imenom %s i s lozinkom %s, automatski ste logirani!", name, inputtext);
SendClientMessage(playerid, COLOR_YELLOW, string);
gPlayerLogged = 1;
}
if (dialogid == 2)
{
new name, file;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se!", "Login", "Leave");
new tmp;
tmp = dini_Int(file, "Lozinka");
if(udb_hash(inputtext) != tmp) {
SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Pogrešna lozinka!", "Upisali ste pogrešnu lozinku!\nMolimo pokušajte ponovo!", "Login", "Leave");
}
else
{
gPlayerLogged = 1;
PlayerInfo = dini_Int(file, "Admin Level");
PlayerInfo = dini_Int(file, "Score");
PlayerInfo = dini_Int(file, "Money");
PlayerInfo = dini_Int(file, "Kills");
PlayerInfo = dini_Int(file, "Deaths");
SendClientMessage(playerid,COLOR_RED, "Logirani ste!");
}
}
evo ovako je u mom GM-u ti samo promjeni svoje funkcije i varjable za spremanje score,va money itd.
if (dialogid == 1)
{
new name, file, string;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodošli, niste registrirani! Molim registrirajte se za daljnju igru!", "Register", "Leave");
dini_Create(file);
dini_IntSet(file, "Lozinka", udb_hash(inputtext));
dini_IntSet(file, "Admin Level",PlayerInfo = 0);
dini_IntSet(file, "Money",PlayerInfo = 0);
dini_IntSet(file, "Score",PlayerInfo = 0);
dini_IntSet(file, "Kills",PlayerInfo = 0);
dini_IntSet(file, "Deaths",PlayerInfo = 0);
format(string, 128, "Registrirali ste se s imenom %s i s lozinkom %s, automatski ste logirani!", name, inputtext);
SendClientMessage(playerid, COLOR_YELLOW, string);
gPlayerLogged = 1;
}
if (dialogid == 2)
{
new name, file;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se!", "Login", "Leave");
new tmp;
tmp = dini_Int(file, "Lozinka");
if(udb_hash(inputtext) != tmp) {
SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Pogrešna lozinka!", "Upisali ste pogrešnu lozinku!\nMolimo pokušajte ponovo!", "Login", "Leave");
}
else
{
gPlayerLogged = 1;
PlayerInfo = dini_Int(file, "Admin Level");
PlayerInfo = dini_Int(file, "Score");
PlayerInfo = dini_Int(file, "Money");
PlayerInfo = dini_Int(file, "Kills");
PlayerInfo = dini_Int(file, "Deaths");
SendClientMessage(playerid,COLOR_RED, "Logirani ste!");
}
}
Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
241 / 250 XP
Početnik(0)
2,248
Postovi:
66
Teme:
Pridružio se:Mar. 2010
20. Maj 2011.
Quote from May 20, 2011, 6:44 pm:
ok ok nisam ga skuzio
evo ovako je u mom GM-u ti samo promjeni svoje funkcije i varjable za spremanje score,va money itd.
if (dialogid == 1)
{
new name, file, string;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodošli, niste registrirani! Molim registrirajte se za daljnju igru!", "Register", "Leave");
dini_Create(file);
dini_IntSet(file, "Lozinka", udb_hash(inputtext));
dini_IntSet(file, "Admin Level",PlayerInfo = 0);
dini_IntSet(file, "Money",PlayerInfo = 0);
dini_IntSet(file, "Score",PlayerInfo = 0);
dini_IntSet(file, "Kills",PlayerInfo = 0);
dini_IntSet(file, "Deaths",PlayerInfo = 0);
format(string, 128, "Registrirali ste se s imenom %s i s lozinkom %s, automatski ste logirani!", name, inputtext);
SendClientMessage(playerid, COLOR_YELLOW, string);
gPlayerLogged = 1;
}
if (dialogid == 2)
{
new name, file;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se!", "Login", "Leave");
new tmp;
tmp = dini_Int(file, "Lozinka");
if(udb_hash(inputtext) != tmp) {
SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Pogrešna lozinka!", "Upisali ste pogrešnu lozinku!\nMolimo pokušajte ponovo!", "Login", "Leave");
}
else
{
gPlayerLogged = 1;
PlayerInfo = dini_Int(file, "Admin Level");
PlayerInfo = dini_Int(file, "Score");
PlayerInfo = dini_Int(file, "Money");
PlayerInfo = dini_Int(file, "Kills");
PlayerInfo = dini_Int(file, "Deaths");
SendClientMessage(playerid,COLOR_RED, "Logirani ste!");
}
}
evo ovako je u mom GM-u ti samo promjeni svoje funkcije i varjable za spremanje score,va money itd.
if (dialogid == 1)
{
new name, file, string;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodošli, niste registrirani! Molim registrirajte se za daljnju igru!", "Register", "Leave");
dini_Create(file);
dini_IntSet(file, "Lozinka", udb_hash(inputtext));
dini_IntSet(file, "Admin Level",PlayerInfo = 0);
dini_IntSet(file, "Money",PlayerInfo = 0);
dini_IntSet(file, "Score",PlayerInfo = 0);
dini_IntSet(file, "Kills",PlayerInfo = 0);
dini_IntSet(file, "Deaths",PlayerInfo = 0);
format(string, 128, "Registrirali ste se s imenom %s i s lozinkom %s, automatski ste logirani!", name, inputtext);
SendClientMessage(playerid, COLOR_YELLOW, string);
gPlayerLogged = 1;
}
if (dialogid == 2)
{
new name, file;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se!", "Login", "Leave");
new tmp;
tmp = dini_Int(file, "Lozinka");
if(udb_hash(inputtext) != tmp) {
SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Pogrešna lozinka!", "Upisali ste pogrešnu lozinku!\nMolimo pokušajte ponovo!", "Login", "Leave");
}
else
{
gPlayerLogged = 1;
PlayerInfo = dini_Int(file, "Admin Level");
PlayerInfo = dini_Int(file, "Score");
PlayerInfo = dini_Int(file, "Money");
PlayerInfo = dini_Int(file, "Kills");
PlayerInfo = dini_Int(file, "Deaths");
SendClientMessage(playerid,COLOR_RED, "Logirani ste!");
}
}
Vidiš ti da on koristi mysql? -.-
Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,504
Postovi:
88
Teme:
Pridružio se:Sep. 2010
20. Maj 2011.
Quote from May 20, 2011, 6:44 pm:
ok ok nisam ga skuzio
evo ovako je u mom GM-u ti samo promjeni svoje funkcije i varjable za spremanje score,va money itd.
if (dialogid == 1)
{
new name, file, string;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodošli, niste registrirani! Molim registrirajte se za daljnju igru!", "Register", "Leave");
dini_Create(file);
dini_IntSet(file, "Lozinka", udb_hash(inputtext));
dini_IntSet(file, "Admin Level",PlayerInfo = 0);
dini_IntSet(file, "Money",PlayerInfo = 0);
dini_IntSet(file, "Score",PlayerInfo = 0);
dini_IntSet(file, "Kills",PlayerInfo = 0);
dini_IntSet(file, "Deaths",PlayerInfo = 0);
format(string, 128, "Registrirali ste se s imenom %s i s lozinkom %s, automatski ste logirani!", name, inputtext);
SendClientMessage(playerid, COLOR_YELLOW, string);
gPlayerLogged = 1;
}
if (dialogid == 2)
{
new name, file;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se!", "Login", "Leave");
new tmp;
tmp = dini_Int(file, "Lozinka");
if(udb_hash(inputtext) != tmp) {
SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Pogrešna lozinka!", "Upisali ste pogrešnu lozinku!\nMolimo pokušajte ponovo!", "Login", "Leave");
}
else
{
gPlayerLogged = 1;
PlayerInfo = dini_Int(file, "Admin Level");
PlayerInfo = dini_Int(file, "Score");
PlayerInfo = dini_Int(file, "Money");
PlayerInfo = dini_Int(file, "Kills");
PlayerInfo = dini_Int(file, "Deaths");
SendClientMessage(playerid,COLOR_RED, "Logirani ste!");
}
}
evo ovako je u mom GM-u ti samo promjeni svoje funkcije i varjable za spremanje score,va money itd.
if (dialogid == 1)
{
new name, file, string;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodošli, niste registrirani! Molim registrirajte se za daljnju igru!", "Register", "Leave");
dini_Create(file);
dini_IntSet(file, "Lozinka", udb_hash(inputtext));
dini_IntSet(file, "Admin Level",PlayerInfo = 0);
dini_IntSet(file, "Money",PlayerInfo = 0);
dini_IntSet(file, "Score",PlayerInfo = 0);
dini_IntSet(file, "Kills",PlayerInfo = 0);
dini_IntSet(file, "Deaths",PlayerInfo = 0);
format(string, 128, "Registrirali ste se s imenom %s i s lozinkom %s, automatski ste logirani!", name, inputtext);
SendClientMessage(playerid, COLOR_YELLOW, string);
gPlayerLogged = 1;
}
if (dialogid == 2)
{
new name, file;
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se!", "Login", "Leave");
new tmp;
tmp = dini_Int(file, "Lozinka");
if(udb_hash(inputtext) != tmp) {
SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Pogrešna lozinka!", "Upisali ste pogrešnu lozinku!\nMolimo pokušajte ponovo!", "Login", "Leave");
}
else
{
gPlayerLogged = 1;
PlayerInfo = dini_Int(file, "Admin Level");
PlayerInfo = dini_Int(file, "Score");
PlayerInfo = dini_Int(file, "Money");
PlayerInfo = dini_Int(file, "Kills");
PlayerInfo = dini_Int(file, "Deaths");
SendClientMessage(playerid,COLOR_RED, "Logirani ste!");
}
}
Vidiš ti da on koristi mysql? -.-
sad sam vidio :S
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
618
Postovi:
155
Teme:
Pridružio se:Apr. 2010
20. Maj 2011.
mozete li mi uraditi barem za login da viidm kako ide a ja cu da si uradim za register 😄
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
618
Postovi:
155
Teme:
Pridružio se:Apr. 2010
20. Maj 2011.
Quote from May 20, 2011, 9:06 pm:
Ovo ti je najbolej pitat na SA-Mp forumu pošto tamo likovi znaju s mysql..
pitao sam ali neodgovaraju :@ :@ a ja se vec 10 dana mucim sa jеbеnog dialoga :@
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
618
Postovi:
155
Teme:
Pridružio se:Apr. 2010
21. Maj 2011.
uradio sam ali aj da ne otvaram drugi topic da pitam ovde:
zasto na ovaj line:
OnPlayerCommandText(playerid,"/register %s", inputtext);
nalazi ovaj error
zasto na ovaj line:
OnPlayerCommandText(playerid,"/register %s", inputtext);
nalazi ovaj error
D:\Infinity DM Stunt\gamemodes\infinitygm.pwn(511) : error 004: function "zcmd_OnPlayerCommandText" is not implementedMorate biti prijavljeni da biste odgovorili na ovu temu.
Prijava