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

Wysłany: 2012-12-09, 13:05


Adrianek1







Wiek: 36
Na forum: 4958 dni
Posty: 136
Nick w MP: Forcer

Piwa: 1434

Respekt: 37,1

Witam zrobi?em dwa gangi Grove i Ballas.
?eby do??czy? do gangu grove lub ballas trzeba wejsc w pickup.
I mam problem jak zrobi? zapis do mysql czy jest w grove czy ballas??
Piwka polec?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 13:58


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

W jaki spos?b gracz do??cza do tych team?w? Chodzi mi o kod, przypisujesz to do tablicy? No bo jak tak to korzystasz z
Kod:

INSERT INTO


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 14:15


Adrianek1







Wiek: 36
Na forum: 4958 dni
Posty: 136
Nick w MP: Forcer

Piwa: 1434

Respekt: 37,1

SetPVarInt(playerid, "Ballas", 1); przez PVar

Kod:

if(pickupid == gangb)
{
if(GetPVarInt(playerid, "Grove") == 0)
{
if(GetPVarInt(playerid, "Ballas") == 0)
{
GetPlayerSkin(playerid);
switch(random(3))
{
case 0: SetPlayerSkin(playerid, 102);
case 1: SetPlayerSkin(playerid, 103);
case 2: SetPlayerSkin(playerid, 104);
}

SendClientMessage(playerid, GREEN, "» Wst?pi?e? do gangu Ballas. ");
SendClientMessage(playerid, GREEN, "» Mo?esz pisa? na czacie gangu wpisuj?c ! [tresc] np. ! elo . ");
SendClientMessage(playerid, GREEN, "» W ka?dej chwili mo?esz opu?ci? gang wpisuj?c komend? /gango . ");
SetPVarInt(playerid, "Ballas", 1);
return 1;
}
}
}
if(pickupid == ganggs)
{
if(GetPVarInt(playerid, "Ballas") == 0)
{
if(GetPVarInt(playerid, "Grove") == 0)
{
GetPlayerSkin(playerid);
switch(random(3))
{
case 0: SetPlayerSkin(playerid, 105);
case 1: SetPlayerSkin(playerid, 106);
case 2: SetPlayerSkin(playerid, 107);
}
SendClientMessage(playerid, C_GREEN, "» Wst?pi?e? do gangu Grove Street. ");
SendClientMessage(playerid, C_GREEN, "» Mo?esz pisa? na czacie gangu wpisuj?c ! [tresc] np. ! elo . ");
SendClientMessage(playerid, C_GREEN, "» W ka?dej chwili mo?esz opu?ci? gang wpisuj?c komend? /gango . ");
SetPVarInt(playerid, "Grove", 1);

return 1;
}
}
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 14:26


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Kod:



new str[168];
if(GetPVarInt(playerid, "Grove") == 1)
{
format(str, sizeof(str), "UPDATE `Nazwa tabeli` SET `Grove` = '1' WHERE `Nick` = '%s'", PlayerName(playerid)); // Je?eli do konta gracza.
format(str, sizeof(str), "INSERT INTO `Nazwa tabeli` SET `Nick` = '%s', `Grove` = '1'", PlayerName(playerid)); // Je?eli do tabeli
mysql_query(str);
}
else if(GetPVarInt(playerid, "Ballas") == 1)
{
format(str, sizeof(str), "UPDATE `Nazwa tabeli` SET `Ballas` = '1' WHERE `Nick` = '%s'", PlayerName(playerid)); // Je?eli do konta gracza.
format(str, sizeof(str), "INSERT INTO `Nazwa tabeli` SET `Nick` = '%s', `Ballas` = '1'", PlayerName(playerid)); // Je?eli do tabeli
mysql_query(str);
}


Chyba dalej powiniene? sobie poradzi? :) .

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 15:26


Adrianek1







Wiek: 36
Na forum: 4958 dni
Posty: 136
Nick w MP: Forcer

Piwa: 1434

Respekt: 37,1

Zrobi?em tak:
Kod:

if(pickupid == ganggs)
{
if(GetPVarInt(playerid, "Ballas") == 0)
{
if(GetPVarInt(playerid, "Grove") == 0)
{
GetPlayerSkin(playerid);
switch(random(3))
{
case 0: SetPlayerSkin(playerid, 105);
case 1: SetPlayerSkin(playerid, 106);
case 2: SetPlayerSkin(playerid, 107);
}
SendClientMessage(playerid, C_GREEN, "» Wst?pi?e? do gangu Grove Street. ");
SendClientMessage(playerid, C_GREEN, "» Mo?esz pisa? na czacie gangu wpisuj?c ! [tresc] np. ! elo . ");
SendClientMessage(playerid, C_GREEN, "» W ka?dej chwili mo?esz opu?ci? gang wpisuj?c komend? /gango . ");
SetPVarInt(playerid, "Grove", 1);
new str[168];
if(GetPVarInt(playerid, "Grove") == 1)
{
format(str, sizeof(str), "UPDATE `Players` SET `Grove` = '1' WHERE `Nick` = '%s'", PlayerName(playerid)); // Je?eli do konta gracza.
mysql_query(str);
}

return 1;
}
}
}

I si? nie zapisuj? musze jak?s tabele da? w bazie danych a jak tak to jak to zrobi?,?eby nie kasowa? danych graczy?

[ Dodano: 2012-12-09, 15:33 ]
Chcia?bym si? dowiedzie? czy trzeba w disconnect co? doda?? ?eby si? zapisa?y i jak wchodzi na serwer odczyt?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 15:45


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Te? si? nad tym g?owi?em jak doda? w?a?nie kolumn? bez usuwania danych. Jak jeste? w phpmyadmin to klikasz na tabele Players i Struktura, na samej g?rze :) .

Po za tym, ten tw?j kod zmie? na ten:

Kod:


if(pickupid == ganggs)
{
if(GetPVarInt(playerid, "Grove") == 0 && GetPVarInt(playerid, "Ballas") == 0)
{
GetPlayerSkin(playerid);
switch(random(3))
{
case 0: SetPlayerSkin(playerid, 105);
case 1: SetPlayerSkin(playerid, 106);
case 2: SetPlayerSkin(playerid, 107);
}
SendClientMessage(playerid, C_GREEN, "» Wst?pi?e? do gangu Grove Street. ");
SendClientMessage(playerid, C_GREEN, "» Mo?esz pisa? na czacie gangu wpisuj?c ! [tresc] np. ! elo . ");
SendClientMessage(playerid, C_GREEN, "» W ka?dej chwili mo?esz opu?ci? gang wpisuj?c komend? /gango . ");
SetPVarInt(playerid, "Grove", 1);

new str[168];
format(str, sizeof(str), "UPDATE `Players` SET `Grove` = '1' WHERE `Nick` = '%s'", PlayerName(playerid)); // Je?eli do konta gracza.
mysql_query(str);
return 1;
}
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 16:28


Adrianek1







Wiek: 36
Na forum: 4958 dni
Posty: 136
Nick w MP: Forcer

Piwa: 1434

Respekt: 37,1

Nadal si? nie zapisuj?.. ;/ Zrobilem ten kod jak kaza?e? ale w mysql nic nie robi?em

[ Dodano: 2012-12-09, 16:35 ]
A wi?c doda?em Grove tabele i jak wszedlem w pickup zmienilo sie na 1 teraz trzeba zrobic ze jak wchodzi i jest na 1 to przypisuje do gangu wiesz moze jak to zrobic?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 16:55


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

A w jakim sensie przypisuje do gangu? Bo skoro ju? w bazie masz ustawione Grove = 1 to w czym problem?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 16:57


Adrianek1







Wiek: 36
Na forum: 4958 dni
Posty: 136
Nick w MP: Forcer

Piwa: 1434

Respekt: 37,1

W tym,?e jak wchodze na serv to nie wczytuje mnie ?e jestem w gangu

[ Dodano: 2012-12-09, 16:58 ]
Tylko ustawia si? na Grove 1 i nic wi?cej jak zrobi? ,?e jak jest grove 1 to jak wejde na serv jestem w grove?
Mo?e jako? za pomoc? SELECT?

[ Dodano: 2012-12-09, 17:44 ]
Kod:

stock Grove(playerid)
{
new str[168];
if(GetPVarInt(playerid, "Grove") == 1){
format(str, sizeof(str), "SELECT `Players` SET `Grove` = '1' WHERE `Nick` = '%s'", PlayerName(playerid)); // Je?eli do konta gracza.
mysql_query(str);
}
else if(GetPVarInt(playerid, "Grove") == 0){
format(str, sizeof(str), "SELECT `Players` SET `Grove` = '0' WHERE `Nick` = '%s'", PlayerName(playerid)); // Je?eli do konta gracza.
mysql_query(str);
}

return 1;
}


Zrobi?em co?takiego ale nadal nie dzia?a ;//

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 19:31


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

No to, to jest oczywiste, ?e musisz zrobi? zapytanie kt?re odczytuje t? funkcje, najlepiej zrobi? tam gdzie masz ju? odczyt innych danych a w tym przypadku to musisz zrobi? co? takiego:

Kod:


Grove(playerid)
{
new str[168];
format(str, sizeof(str), "SELECT `Grove` FROM `Players` WHERE `Name` = '%s'", PlayerName(playerid));
mysql_query(str);
mysql_store_result();

if(mysql_num_rows())
{
SetPVarInt(playerid, "Grove", mysql_fetch_int());
}

mysql_free_result();
}



Plugin od StrickenKind'a :) .

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 19:36


kamil3642







Wiek: 29
Na forum: 5882 dni
Posty: 52
Nick w MP: Brak

Piwa: 1201

Respekt: 11,8

Sami sobie robicie problemy. Po co tutaj wgl. if? Nie lepiej b?dzie od razu przy zapytaniu zrobi? getpvar? I na Twoim miejscu zmodyfikowa?bym tabele.

Kod:


format(str, sizeof(str), "UPDATE `Players` SET `Gang` = '%d' WHERE `Nick` = '%s'", GetPVarInt(playerid, "Grove"), PlayerName(playerid)); // Je?eli do konta gracza.
mysql_query(str);

//To jest zapis

W tabeli Grove zmie? na gang i tyle.

Ostatnio zmieniony przez kamil3642 2012-12-09, 20:03, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 19:55


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Mo?na to zrobi? na takiej zasadzie, ?e w bazie b?dzie ten tw?j ca?y Gang, no i wtedy by?yby dwie warto?ci:

Gang = 0 // Nie nale?y do ?adnego gangu.
Gana = 1 // Odpowiada za Grove
Gang = 2 // Odpowiada za Ballas

Ja na takiej zasadzie robi?, je?eli mam Admin?w to mam podzielone w taki spos?b i warto?? maxymalna wynosi 4 - Head Administrator.

To twoje zapytanie jest tak dziwnie zrobione. Ja tylko poprawi?em jego kod. :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 20:05


kamil3642







Wiek: 29
Na forum: 5882 dni
Posty: 52
Nick w MP: Brak

Piwa: 1201

Respekt: 11,8

Jak dziwne? Ja przedstawi?em szybszy spos?b zapisu gangu gracza. Zamiast ifowa? i wykonywa? do tego zapytanie maj?ce tylko inn? liczb? mo?na wykona? jedno, sprawdzaj?c jakie ID zosta?o przypisane do pvar'a.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 20:13


Adrianek1







Wiek: 36
Na forum: 4958 dni
Posty: 136
Nick w MP: Forcer

Piwa: 1434

Respekt: 37,1

"kamil3642" napisał/a:

Sami sobie robicie problemy. Po co tutaj wgl. if? Nie lepiej b?dzie od razu przy zapytaniu zrobi? getpvar? I na Twoim miejscu zmodyfikowa?bym tabele.

Kod:


format(str, sizeof(str), "UPDATE `Players` SET `Gang` = '%d' WHERE `Nick` = '%s'", GetPVarInt(playerid, "Grove"), PlayerName(playerid)); // Je?eli do konta gracza.
mysql_query(str);

//To jest zapis

W tabeli Grove zmie? na gang i tyle.

Nie zapisuje.
Jak zrobi? ze gang = 1 to grove?

[ Dodano: 2012-12-09, 20:17 ]
Przecie? ja mam zapis jak zrobi? odczyt?
oto zapis w pickupie:
new str[168];
format(str, sizeof(str), "UPDATE `Players` SET `Grove` = '1' WHERE `Nick` = '%s'", PlayerName(playerid)); // Je?eli do konta gracza.
mysql_query(str);

[ Dodano: 2012-12-09, 20:44 ]
Dobra ju? nie chce pisze ,?e chce odczyt ten mi daje zapis eh.. Mo?na lock.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-09, 20:46


Wafelowski







Wiek: 29
Na forum: 5347 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

kamil3642, Teraz jak zmieni?e? ma to sens. Po za tym, ten tw?j post jest bez sensu, bo ja nie widz?, r??nicy pomi?dzy moim a twoim zapytaniem? Ty w og?le wiesz co? na temat pawn? Wiesz po co ten warunek? Po to ?e je?eli gracz nie jest w ?adnym gangu to si? wykona kod, a je?li PVar wynosi tu 1 i tu 1 to oznacza to, ?e kod nie mo?e zosta? ponownie wykonany.

@UP: No to musisz w takim razie zmieni? w zapytaniach z 'Grove' na 'Gang':

Kod:


new str[168];
format(str, sizeof(str), "UPDATE `Players` SET `Gang` = '1' WHERE `Nick` = '%s'", PlayerName(playerid)); // Je?eli do konta gracza.
mysql_query(str);


Tam gdzie masz Ballas zr?b tak samo. No i tam gdzie masz PVary Grove, Ballas zr?b tak:
Kod:


if(pickupid == ganggs)
{
if(GetPVarInt(playerid, "Gang") >= 1) return SendClientMessage(playerid, -1, "Nale?ysz ju? do jakiego? gangu");
GetPlayerSkin(playerid);
switch(random(3))
{
case 0: SetPlayerSkin(playerid, 105);
case 1: SetPlayerSkin(playerid, 106);
case 2: SetPlayerSkin(playerid, 107);
}
SendClientMessage(playerid, C_GREEN, "» Wst?pi?e? do gangu Grove Street. ");
SendClientMessage(playerid, C_GREEN, "» Mo?esz pisa? na czacie gangu wpisuj?c ! [tresc] np. ! elo . ");
SendClientMessage(playerid, C_GREEN, "» W ka?dej chwili mo?esz opu?ci? gang wpisuj?c komend? /gango . ");

new str[168];
format(str, sizeof(str), "UPDATE `Players` SET `Gang` = '1' WHERE `Nick` = '%s'", PlayerName(playerid)); // Je?eli do konta gracza.
mysql_query(str);

SetPVarInt(playerid, "Gang", 1);

return 1;
}


Po za tym po co Ci "GetPlayerSkin"?

@DOWN:

kamil3642, Tak, prosi?em koleg? aby mi specjalnie u?o?y? to zapytanie. A my?lisz ty logicznie czasami? On ma dwa pickupy, no i jak wejdzie w tego z Grove to zmieni mu warto?? Gang na 1 czyli ?e nale?y do Grove, potem mo?e u?y? PVara do komend, a ten warunek jest po to ?e je?eli np. gang wynosi 2 to kod si? nie wykona, tylko wy?wietli mu SCM... No i zamiast bezpo?rednio wpisa? '1' to ty wolisz
Kod:

GetPVarInt(playerid, "Grove")
skoro to i tak na jedno wychodzi bo ten PVar i tak wynosi 1. Nie mam zamiaru si? z tob? k??ci? bo Ty zawsze masz racje.

Ostatnio zmieniony przez Wafelowski 2012-12-09, 21:35, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Tagi: zapis :: gangów :: [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] Zapis gangów [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