Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CoD Nowy

Boty z zapisem SQL

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Niquit

    Zaawansowany

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:114
  • Lokalizacja:Szczecin
Offline

Napisano 07.07.2013 17:31

Witam,

jest ktoś w stanie przerobić Nowy CoD SQL tak, by boty wybierały klasę?

 

Nie wysyłajcie mnie do plugin'u QTM. Peyote, bo on działa tylko pod zapis nVault.


Użytkownik Niquit edytował ten post 07.07.2013 17:32

  • +
  • -
  • 0

#2 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 07.07.2013 17:39

Chcesz aby boty wybierały klasę i zapisywał się im exp czy tylko wybierały klasę ??

Podeślij plik .sma albo same funkcje zapisu sql bo jest wiele sposobów zapisu sql a ja nie wiem jaki ty masz.


  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#3 Niquit

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:114
  • Lokalizacja:Szczecin
Offline

Napisano 07.07.2013 17:48

Jeśli zapis exp'a jest czasochłonny, to tylko wybór klasy.

 

Chyba to:

public handleCacheDane(failstate, Handle:query, error[], errnum, data[], size)
{
if(failstate != TQUERY_SUCCESS)
{
log_amx(" Error: %s", error);
return;
}
new id = data[0];
if(!is_user_connected(id) && !is_user_connecting(id))
return;

new szClass[32], int;
while(SQL_MoreResults(query))
{
SQL_ReadResult(query, SQL_FieldNameToNum(query, "klasa"), szClass, 31);
TrieGetCell(ClassName, szClass, int);

lvl_klasy_gracza[id][int] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "level"));
xp_klasy_gracza[id][int] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "xp"));
int_klasy_gracza[id][int] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "intelligence"));
zdr_klasy_gracza[id][int] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "health"));
wyt_klasy_gracza[id][int] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "strength"));
kon_klasy_gracza[id][int] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "stamina"));

SQL_NextRow(query);
}
wczytane_dane[id] = true;
if(is_user_alive(id) && !g_rozgrzewka)
WybierzKlase(id);
}

public ZapiszDane(id, level)
{
if(!klasa_gracza[id] || !wczytane_dane[id])
return;

new szTemp[1024];
formatex(szTemp, 1023, "UPDATE `%s` SET xp=(`xp` + %d), level=(`level` + %d), intelligence='%d', health='%d', strength='%d', stamina='%d' WHERE name='%s' AND klasa='%s'", Tabela,
gracz_zdobyl_expa[id], level, inteligencja_gracza[id],
zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id],
nazwa_gracza[id], nazwy_klas[klasa_gracza[id]]);

doswiadczenie_gracza[id] += gracz_zdobyl_expa[id];
gracz_zdobyl_expa[id] = 0;//wyzeruj expa po dodaniu do bazy zeby nie dawalo 2x tyle expa typowi

lvl_klasy_gracza[id][klasa_gracza[id]] = poziom_gracza[id];
xp_klasy_gracza[id][klasa_gracza[id]] = doswiadczenie_gracza[id];
int_klasy_gracza[id][klasa_gracza[id]] = inteligencja_gracza[id];
zdr_klasy_gracza[id][klasa_gracza[id]] = zdrowie_gracza[id];
wyt_klasy_gracza[id][klasa_gracza[id]] = wytrzymalosc_gracza[id];
kon_klasy_gracza[id][klasa_gracza[id]] = kondycja_gracza[id];

SQL_ThreadQuery(hookSql, "handleIgnore", szTemp);
}

public WczytajDane(id, klasa)
{
if(!klasa || !wczytane_dane[id])
return;

gracz_zdobyl_expa[id] = 0;
poziom_gracza[id] = max(1, lvl_klasy_gracza[id][klasa]);
doswiadczenie_gracza[id] = xp_klasy_gracza[id][klasa];
inteligencja_gracza[id] = int_klasy_gracza[id][klasa];
zdrowie_gracza[id] = zdr_klasy_gracza[id][klasa];
wytrzymalosc_gracza[id] = wyt_klasy_gracza[id][klasa];
kondycja_gracza[id] = kon_klasy_gracza[id][klasa];

punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
if(poziom_gracza[id] && !doswiadczenie_gracza[id])
{
doswiadczenie_gracza[id] = 1;
xp_klasy_gracza[id][klasa] = 1;
new szTemp[512];
formatex(szTemp, 511, "INSERT INTO `%s` (`name`, `klasa`) VALUES ('%s', '%s')", Tabela, nazwa_gracza[id], nazwy_klas[klasa]);
SQL_ThreadQuery(hookSql, "handleIgnore", szTemp);
}
}

 

Tutaj cały plik(temat):

Załączony plik  codmodsql_z_frakcjami.sma   50,43 KB  647 Ilość pobrań
  codmodsql_z_frakcjami.amxx


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych