Skocz do zawartości

MaX432

Użytkownik
  • Zawartość

    77
  • Rejestracja

  • Ostatnia wizyta

    nigdy

O MaX432

  • Tytuł
    Początkujący

Informacje profilowe

  • Płeć
    Nie określono
  1. MaX432

    Top 10

    No więc próbuję zrobić listę graczy z największą ilością punktów, stworzyłem takie zapytanie. format(query, sizeof(query), "SELECT `Name`, `Exp` FROM `players` ORDER BY `Exp` DESC LIMIT 10"); mysql_query(query); Ale co zrobić dalej? chcę aby wyświetlić w DIALOGU takie coś np: 1. Test Exp: 200 2. Test2 Exp: 50 Jak to wykonać?
  2. Witam, kilka dni temu zrobiłem sobie rejestrację w mysql i panel gracza w php. Jak zrobić w rejestracji aby rejestrowało ID użytkownika? Tak aby w tabeli było np tak: ID|Name|Password, nie za bardzo się orientuję jak zarejestrować dane id, tutaj kod rejestrujący gracza: format(query, sizeof(query), "INSERT INTO `players` (`Name`, `Password`) VALUES('%s', MD5('%s'))", PlayerName(playerid), RegPass); mysql_query(query); Proszę o pomoc.
  3. MaX432

    GetTickCount

    Chodzi o to że jak wpisze /zycie to w ilości sekund pojawiają się jakieś nieznane liczby na minusie, przykład -56871 Co zrobić?
  4. MaX432

    GetTickCount

    Witam, chcę zrobić komendę na życie, gdy kupimy życie i od razu znowu to aby mi pokazało dokładny czas jaki pozostał aby znów kupić. Mam taki kod: CMD:zycie(playerid, params[]) { if(GetPVarInt(playerid, "Zycie") != 0 && (GetTickCount() - GetPVarInt(playerid, "Zycie")) < 12000) { new string[128], time = (GetPVarInt(playerid, "Zycie") - GetTickCount() + 12000 / 1000); format(string, sizeof string, "{FFFFFF}Zycie mozesz kupic dopiero za {EA0000}%d{FFFFFF}.sek!", time); ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "{EA0000}Czekaj..",string,"Zamknij",""); return 1; } SetPlayerHealth(playerid,100.0); SetPVarInt(playerid, "Zycie", GetTickCount()); return 1; } Może ktoś poprawić? Pozdrawiam.
  5. Hej, od jakiegoś czasu uczę się php, zrobiłem sobie banowanie i sprawdzanie czy dane konto jest zbanowane ale z samego wyglądu nie jest to dość optymalnie, oto kawałek kodu. $result = mysql_query("SELECT Count(ID) FROM `players` WHERE `Name` = '{$_POST['banplayer']}'"); $row = mysql_fetch_row($result); if($row[0] == false) { echo '<center>Gracz '.$_POST['banplayer'].' nie istnieje!</center>'; echo "<br><br>"; echo '<center><a href="admin.php">Wroc do Panelu Admina</a></center>'; }else{ $CheckBan = mysql_query("SELECT Count(ID) FROM `players` WHERE `Ban` = '1' AND `Name` = '{$_POST['banplayer']}'"); $row1 = mysql_fetch_row($CheckBan); if($row1[0] == true) { echo '<center>Gracz '.$_POST['banplayer'].' ma juz bana!'; echo "<br><br>"; echo '<a href="admin.php">Wroc do Panelu Admina</a></center>'; }else{ mysql_query("UPDATE `players` SET Ban='1' WHERE Name='{$_POST['banplayer']}'"); echo '<center>Zbanowales gracza '.$_POST['banplayer'].''; echo "<br><br>"; echo '<a href="admin.php">Wroc do Panelu Admina</a></center>'; } } [/php] Bardziej chodzi mi o to sprawdzanie czy gracz jest zbanowany bo nie wiem jakim innym sposobem na razie to zrobić. Pozdrawiam.
  6. Witam, od jakiegoś czasu programuję w Visual C++, zrobiłem już kilka dobrych programów. Tworzę właśnie nowy i nie wiem kompletnie jak stworzyć takie coś: Pomoże ktoś?, bardzo mi na tym zależy. Pozdrawiam.
  7. MaX432

    Dwie sprawy

    Na pewno nie. Mam to do pokazywania/ukrywania TD. ShowLicznik(playerid) { if(GetPVarInt(playerid, "Licznik")==1) return 1; TextDrawShowForPlayer(playerid,Licznik[0]); TextDrawShowForPlayer(playerid,Licznik[1]); TextDrawShowForPlayer(playerid,Licznik[2]); TextDrawShowForPlayer(playerid,Licznik[3]); TextDrawShowForPlayer(playerid,Licznik[4]); TextDrawShowForPlayer(playerid,LicznikQ[playerid]); return 1; } HideLicznik(playerid) { TextDrawHideForPlayer(playerid,Licznik[0]); TextDrawHideForPlayer(playerid,Licznik[1]); TextDrawHideForPlayer(playerid,Licznik[2]); TextDrawHideForPlayer(playerid,Licznik[3]); TextDrawHideForPlayer(playerid,Licznik[4]); TextDrawHideForPlayer(playerid,LicznikQ[playerid]); return 1; } Używam tego tylko 2x gdy jestem w pojeździe lub nie jestem. Np gdy mam ID 17 to wgl nie widzę licznika a np ID 2 to nie widzę tylko części. Gdy mam zatem ID 0 to widoczny jest cały.
  8. MaX432

    Dwie sprawy

    Witam, mam 2 problemy. 1. Jak zrobić poprawie zmianę nicku w SQLite. Mam taki kod ale po wyjściu z serwera i wpisaniu nowego nicku a nasepnie po wejściu na serwer znów muszę się zarejestrować więc wgl to nie działa. Kod. CMD:nowynick(playerid, params[]) { new DBResult:result; if(isnull(params) || strlen(params) > MAX_PLAYER_NAME) return SendClientMessage(playerid, COLOR_WHITE, "Użyj: /NowyNick"); if(!IsValidPlayerName(params)) return SendClientMessage(playerid, 0x800040AA, "Zmiana nicku: podałeś nieprawidłowy nick!"); format(query, sizeof query, "SELECT `id` FROM `players` WHERE `login` = '%s'", params); result = db_query(b_Acc, query); if(db_num_rows(result)) return SendClientMessage(playerid, COLOR_RED2, "Podany nick jest już zajęty!"); db_free_result(result); format(query, sizeof query, "UPDATE `players` SET `login` = '%s' WHERE `login` = %s", params, PlayerName(playerid)); db_free_result(db_query(b_Acc, query)); SetPlayerName(playerid, params); SendClientMessage(playerid, 0x80FF00AA, "Prawidłowo zmieniłeś nick i przenisłeś swoje statystyki! Twój nowy nick to:"); SendClientMessage(playerid, 0x0080FFAA, PlayerName(playerid)); return 1; } 2. Licznik(TextDraw) znika przy większej liczbie graczy niż 1. Więc mam taki problem, stworzyłem taki bardziej zaawansowany licznik z textdrawów. 5 TextDrawów to box + kreski otaczające ten box a 6 to text. Wszystko działa poprawie ale.. gdy na serwerze jest 2 graczy to znika jedna z kresek licznika a jak już więcej graczy to reszta licznika ;/ Co może być powodem?
  9. MaX432

    [SQLite] Błędne Hasło

    No ale patrz, wcześniej tak było i wszystko działało dobrze a teraz nie odczytuje mi hasła. To chyba bardziej błąd jest w logowaniu niż w tworzeniu tabeli i zapisywaniu.
  10. MaX432

    [SQLite] Błędne Hasło

    Witam, ostatnio dodawałem do rejestracji wiele rzeczy do zapisania, wszystko działało jak trzeba ale dziś coś po założeniu konta nie mogę się zalogować. Naprawdę nie wiem co to powoduje, rejestracja na pewno zapisuje dobre hasło itd bo w niej nic nie zostało ruszane. Oto kod logowania: if(!response) return SendClientMessage(playerid, 0x800000AA, "Ten nick jest już zarejestrowany w naszej bazie, musisz się zalogować!"), Kick(playerid); new DBResult:result,Bank[10],Kills[10],Deaths[10],Expp[10],Warny[10]; ConvertToSQLitePass(inputtext); format(query, sizeof query, "SELECT `bank`,`kills`,`deaths`, `Skin`,`Vip`, `Exp`, `Warny`, `Admin` FROM `players` WHERE `login` = '%s' AND `pass` = '%s'", PlayerName(playerid), inputtext); result = db_query(b_Acc, query); if(!db_num_rows(result)) return ShowPlayerDialog(playerid, DIALOG_LOG, DIALOG_STYLE_INPUT, "Zaloguj się", "Istnieje konto o twoim nicku\n\tMusisz się zalogować\nBłąd: podałeś nieprawidłowe hasło!", "Zaloguj", "Wyjdź"); db_get_field(result, 0, Bank, sizeof Bank); SetPVarInt(playerid, "Bank",strval(Bank)); db_get_field(result, 1, Kills, sizeof Kills); SetPVarInt(playerid, "Kills",strval(Kills)); db_get_field(result, 2, Deaths, sizeof Deaths); SetPVarInt(playerid, "Deaths",strval(Deaths)); db_get_field(result, 3, MSkin, sizeof MSkin); db_get_field(result, 4, MVip, sizeof MVip); db_get_field(result, 5, Expp, sizeof Expp); SetPlayerExp(playerid,strval(Expp)); db_get_field(result, 6, Warny, sizeof Warny); WarnSystem[playerid] = strval(Warny); db_get_field(result, 7, MAdmin, sizeof MAdmin); db_free_result(result); if(strval(MVip) >= 1) { new string[125]; format(string, sizeof(string), "*** Gracz %s [ID:%d] został zalogowany jako Vip!",PlayerName(playerid),playerid); SendClientMessageToAll(COLOR_VIP,string); SendClientMessage(playerid,COLOR_ORANGE,"Witamy Vipie! Swoje komendy znajdziesz pod{FF0000} /Vip"); SetPVarInt(playerid, "Vip", 1); } if(strval(MAdmin) >= 1) { Administrator[playerid] = true; SendClientMessage(playerid,COLOR_ORANGE,"Witamy Adminie! Swoje komendy znajdziesz pod{FF0000} /acmd"); } if(strval(MSkin) >= 1) { SendClientMessage(playerid,COLOR_YELLOW,"Witamy ponownie!"); SendClientMessage(playerid,COLOR_YELLOW,"Jeżeli chcesz wybrać ostatniego skina wpisz{FF0000} /MojSkin"); } return SendClientMessage(playerid, 0x80FF00AA, "Zalogowano!"),logged[playerid] = true; } Zapis danych z OnPlayerDisconnect ( Nie jest tam dodany Admin i vip ponieważ to zapisuję na komendę tzn. /DajVip, /DajAdmin) format(query, sizeof query, "UPDATE `players` SET `bank` = %d, `kills` = %d, `deaths` = %d, `Skin` = %d, `Exp` = %d, `Warny` = %d WHERE `login` = '%s'", GetPVarInt(playerid, "Bank"),GetPVarInt(playerid, "Kills"),GetPVarInt(playerid, "Deaths"),GetPlayerSkin(playerid),IloscExp[playerid],WarnSystem[playerid], PlayerName(playerid)); db_free_result(db_query(b_Acc, query)); Tworzenie tabeli: db_free_result(db_query(b_Acc, "CREATE TABLE IF NOT EXISTS `players` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `login` VARCHAR UNIQUE NOT NULL, `pass` VARCHAR NOT NULL, `bank` INTEGER DEFAULT '0' NOT NULL,`kills` INTEGER DEFAULT '0' NOT NULL,`deaths` INTEGER DEFAULT '0' NOT NULL,`Skin` INTEGER DEFAULT '0' NOT NULL, `Vip` INTEGER DEFAULT '0' NOT NULL, `Exp` INTEGER DEFAULT '0' NOT NULL, `Warny` INTEGER DEFAULT '0' NOT NULL, `Admin` INTEGER DEFAULT '0' NOT NULL);")); Proszę o pomoc :-X
  11. MaX432

    SetPlayerWorldBounds

    Witam, mój problem polega na tym że nie wiem naprawdę jak użyć tej funkcji, próbowałem już różnych kombinacji i dalej nic, teleportuję się na dane miejsce i ciągle latam a powinienem zacząć latać dopiero gdy będę próbował wyjść ze strefy. Zapisałem przy każdym rogu tego miejsca komendom /Save i mam takie coś. Może mi ktoś powiedzieć co mam dokładnie do tego wklepać? Bardzo mi to potrzebne. AddAddPlayerClass(0,-1002.0559,-909.2666,129.2188,339.9164,0,0,0,0,0,0); // minii AddPlayerClass(0,-1002.4633,-1065.9395,129.2188,183.0076,0,0,0,0,0,0); // minii AddPlayerClass(0,-1218.2584,-1072.1879,128.8965,89.9865,0,0,0,0,0,0); // minii AddPlayerClass(0,-1221.0886,-909.5948,129.1971,85.5998,0,0,0,0,0,0); // minii
  12. Cze, mam takie małe pytanie jak pobrać z MySQL i umieścić w dialogu 10 graczy z najlepszym wynikiem a przykładowo z `kills`.
  13. MaX432

    Logowanie - Złe pobrane dane

    new Query[200]; new escpname[24]; mysql_real_escape_string(PlayerName(playerid), escpname); format(Query, sizeof(Query), "SELECT * FROM `playerinfo` WHERE `user` = '%s' AND `password` = '%s'", escpname, inputtext); mysql_query(Query);
  14. MaX432

    Logowanie - Złe pobrane dane

    CREATE TABLE IF NOT EXISTS `playerinfo` ( `user` text NOT NULL, `password` text NOT NULL, `kills` int(20) NOT NULL, `deaths` int(20) NOT NULL, `respekt` int(20) NOT NULL, `Time` int(20) NOT NULL, `Bank` int(20) NOT NULL, `money` int(20) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  15. Cześć, no więc podczas logowania nie wszystko dobrze wczytuje z bazy danych. Przykładowo źle odczytuje pieniądze w banku, respekt, pieniądze dobrze odczytuje. Oto kod: new line[750]; if(mysql_fetch_row(line)) { new data[3][50]; new data2[6]; logged[playerid] = true; sscanf(line, "p<|>s[50]s[50]dddds[50]", data[0], data[1], data2[0], data2[1], data2[2], data2[3],data2[4],data2[5], data[2]); Kills[playerid] = data2[0]; Deaths[playerid] = data2[1]; Respekt[playerid] = data2[2]; GivePlayerMoney(playerid, data2[3]); TimePlay[playerid] = data2[4]; Bank[playerid] = data2[5]; mysql_free_result(); SendClientMessage(playerid, COLOR_GREEN, "Zalogowałeś(aś) się!"); } } } }
×