Wysłany: 2013-02-06, 19:07
okoospokoo
Wiek: 29 Na forum: 5089 dni Posty: 102
Nick w MP: Shake/LeStunters
Piwa : 273
Witam,chcia?bym si? dowiedzie? jak zacz?? warny pod mysql chodzi o przechowywanie w bazie nicku i ilosci warn?w,czy m?g?by mi kto? pom?c to napisa? pod plugin strickenkida? Chocia? zacz?? potem to sobie poradz? jako?. Poleci piwko.
Wysłany: 2013-02-06, 19:26
Quis
Wszechwiedzący
Wiek: 31 Na forum: 5146 dni Posty: 464
Nick w MP: Quis
Piwa : 1110
No to tak:
W OnGameModeInit najpierw tworzysz tabel? w bazie:
Kod: mysql_query("CREATE TABLE IF NOT EXISTS `warns` (`Name` VARCHAR(30) `Count` SMALLINT(5))");
Potem komenda /warn dla admin?w:
Kod: CMD:warn(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, KOLOR, "Nie jeste? administratorem!");
else if(sscanf(params, "us[100]", giveid, reason)) SendClientMessage(playerid, KOLOR, "U?yj /warn [Nazwa gracza/ID] [Pow?d]");
else
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(giveid, pName, MAX_PLAYER_NAME);
new query[128];
format(query, sizeof(query), "SELECT * FROM `warns` WHERE `Name`='%s'", pName);
mysql_query(query);
new numRows = mysql_num_rows();
mysql_free_result();
if(!numRows)
{
format(query, sizeof(query), "INSERT INTO `warns` VALUES('%s', '1')", pName);
mysql_query(query);
}
else
{
format(query, sizeof(query), "UPDATE `warns` SET `Count`=`Count`+1 WHERE `Name`='%s'", pName);
mysql_query(query);
}
new adminName[MAX_PLAYER_NAME];
GetPlayerName(playerid, adminName, MAX_PLAYER_NAME);
new msg[128];
format(msg, sizeof(msg), "Da?e? warna graczowi %s.", pName);
SendClientMessage(playerid, KOLOR, msg);
format(msg, sizeof(msg), "Dosta?e? warna od administratora %s.", adminName);
SendClientMessage(giveid, KOLOR, msg);
}
return 1;
}
I jeszcze funkcja na sprawdzenie ilo?ci warn?w:
Kod: stock GetPlayerWarns(playerid)
{
new query[128];
format(query, sizeof(query), "SELECT Count FROM `warns` WHERE `Name`='%s'", pName);
mysql_query(query);
new count = 0;
if(mysql_num_rows() > 0)
count = mysql_fetch_int();
mysql_free_result();
return count;
}
Kod pisany w przegl?darce, radz? sprawdzi? ^
Ja bym to zrobi? raczej na zmiennych (i zapis/wczytywanie z bazy), ?eby zbytnio nie obci??a? bazy, ale to zale?y jak wolisz.
Pozdrawiam
Wysłany: 2013-02-06, 19:33
okoospokoo
Wiek: 29 Na forum: 5089 dni Posty: 102
Nick w MP: Shake/LeStunters
Piwa : 273
Dzi?ki wielkie Zaraz sprawdze jak co? napisze piwko leci . Zeby jak najopmtymalniej by?o to jak zrobi??
Wysłany: 2013-02-06, 19:41
Quis
Wszechwiedzący
Wiek: 31 Na forum: 5146 dni Posty: 464
Nick w MP: Quis
Piwa : 1110
Przy wej?ciu gracza na serwer, zapisz ilo?? jego warn?w do tablicy, a przy jego wyj?ciu ilo?? warn?w z tablicy zapisz do bazy. W komendzie zamiast tych wszystkich zapyta? wystarczy wtedy Warny[giveid]+=1; a funkcja do pobrania warn?w niepotrzebna, bo u?ywasz tylko Warny[giveid] i ju? masz wynik.
Tagi: warny :: mysql
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: