Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-02-06, 19:07


okoospokoo







Wiek: 29
Na forum: 5089 dni
Posty: 102
Nick w MP: Shake/LeStunters

Piwa: 273

Respekt: 50

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. :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-02-06, 19:26


Quis

Wszechwiedzący






Wiek: 31
Na forum: 5146 dni
Posty: 464
Nick w MP: Quis

Piwa: 1110

Respekt: 325
Respekt: 325Respekt: 325Respekt: 325

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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-02-06, 19:33


okoospokoo







Wiek: 29
Na forum: 5089 dni
Posty: 102
Nick w MP: Shake/LeStunters

Piwa: 273

Respekt: 50

Dzi?ki wielkie :) Zaraz sprawdze jak co? napisze piwko leci . :D Zeby jak najopmtymalniej by?o to jak zrobi??

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-02-06, 19:41


Quis

Wszechwiedzący






Wiek: 31
Na forum: 5146 dni
Posty: 464
Nick w MP: Quis

Piwa: 1110

Respekt: 325
Respekt: 325Respekt: 325Respekt: 325

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.

Postaw piwo autorowi tego posta
 

 
Tagi: warny :: mysql
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [DM] Warny MySQL Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku