Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Problem z client_infochanged


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

#1 SeeK

    Wszechobecny

  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 01.07.2013 21:06

Witam,

piszę plugin, który zlicza przegrany czas na serwerze. I mam pewien problem, którego nie potrafię rozgryźć. Posiadam taką funkcję:

public client_infochanged(id)
{
new newname[32],oldname[32]
get_user_info(id, "name", newname,31)
get_user_name(id, oldname,31)
 
if(!equal(newname,oldname) && !equal(newname,"") && !equal(oldname,""))
Save_Data(id,oldname,sizeof(oldname));
}

Raz na jakiś czas w w/w funkcji funckja get_user_name pobiera tylko część nicku, nie pobiera całego. Przez co w bazie mam takie wpisy:

Gracz jest zarabisty - 2230

Gracz jest zar - 2000

Gracz jest zarab - 2200

 

Dlaczego funkcja get_user_name pobiera niepełne nicki?


Użytkownik SeeK edytował ten post 01.07.2013 21:08

  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#2 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1279
Godlike

  • Postów:2371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Tomaszów Mazowiecki
Offline

Napisano 01.07.2013 21:08

get_user_name w momencie client_infochanged też pobiera stary nick.

Daj opóźnienie 0.1 sec.


  • +
  • -
  • 0

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#3 SeeK

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 01.07.2013 21:10

Hubert Twoja odpowiedź tak jakby jest nieadekwatna do problemu :P Chce pobrać stary nick, niestety nie zawsze jest on pobierany "w całości"...


  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#4 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1279
Godlike

  • Postów:2371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Tomaszów Mazowiecki
Offline

Napisano 01.07.2013 21:14

Widzisz zedytowałeś post, myślałem, że chodzi Ci o rozróżnianie. 

 

get_user_name u mnie na serwerze w tym momencie działa normalnie zawsze, więc może błąd jest w Save_Data?


  • +
  • -
  • 0

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#5 SeeK

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 01.07.2013 21:20

Możliwe, że jest błąd, ale wydaje mi się że raczej go nie ma. Tak zedytowałem, masz rację ;)

public Save_Data(id, name[], nameLen)
{
if(!is_user_connected(id))
return;
 
new Data[40], vaultkey[64], vaultdata[64];
 
replace_all(name,nameLen,"'","\'")
formatex(vaultkey,sizeof(vaultkey),"%s-sekundy",name);
formatex(vaultdata,sizeof(vaultdata),"%d",czas_gry[id]);
 
nvault_set(g_vault,vaultkey,vaultdata)
//log_amx("ZAPIS %s: %s; %s",name, vaultdata,vaultkey);
 
formatex(Data,sizeof(Data),"%d ^"%s^"",id,name);
format(szTemp,charsmax(szTemp),"SELECT * FROM `%s` WHERE `name` = '%s' AND `serwer` = '%s'",TABELA, name,serwer_ip)
if(SqlTuple) 
SQL_ThreadQuery(SqlTuple, "check", szTemp, Data, sizeof(Data))
 
set_task(0.1,"Load_Data", id)
}

Użytkownik SeeK edytował ten post 01.07.2013 21:20

  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#6 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 01.07.2013 21:20

oldname[32]
na
oldname[33]
get_user_name(id, oldname,31)
na
get_user_name(id, oldname,32)
Save_Data(id,oldname,sizeof(oldname));
na
Save_Data(id,oldname,32);
Moze cos pomoze ?, pokaż funkcję Save_Data

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#7 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 02.07.2013 20:09

Po co używasz select przy ZAPISIE do bazy danych? Są dużo lepsze sposoby, zerknij tu: http://amxx.pl/topic...in-baza-danych/


  • +
  • -
  • 0
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#8 donaciak

    Godlike

  • Power User

Reputacja: 892
Czempion

  • Postów:2067
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 03.07.2013 12:41

zwieksz pojemnosc tablicy old_name i new name, ew. spróbuj z get_user_info, ale to kiepski pomysł


  • +
  • -
  • 0

#9 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 04.07.2013 00:39

Abstrahując od głównego problemu, przeanalizuj, co stanie się po wklepaniu przez któregoś z graczy w konsolę:

name "''''''''''''''''''''''''''''''''"


#10 SeeK

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 04.07.2013 16:45

@up wyjdzie coś takiego: "\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'" czyli 64 znakowy nick. Zwiększyłem zatem pojemność tablicy do 65. Aczkolwiek nicki które się doublują wcale nie mają w sobie znaku: " ' ".

 

GwynBleidD będę miał to na uwadze programując w przyszłości. Jednakże to nie ma żadnego związku z występującym problemem. Za kilka dni napiszę czy po zwiększeniu pojemności tablicy problem nadal występuje.


  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#11 SeeK

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 08.07.2013 02:45

Okej, trochę podebugowałem i oto wyniki:

 

Mam funkcje client_infochanged() i taki jest jej kod:

public client_infochanged(id)
{
new newname[65],oldname[65]
get_user_info(id, "name", newname,64)
get_user_name(id, oldname,64)
 
if(!equal(newname,oldname) && !equal(newname,"") && !equal(oldname,"")) {
log_to_file("addons/amxmodx/logs/infochange.txt","%s - %s",newname,oldname)
Save_Data(id,oldname,sizeof(oldname));
}
}

  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#12 donaciak

    Godlike

  • Power User

Reputacja: 892
Czempion

  • Postów:2067
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 08.07.2013 12:06

Powinno być ok, tylko zastosuj equali zamiast equal.


  • +
  • -
  • 1

#13 SeeK

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 08.07.2013 12:45

Kurcze jest jakiś bug na forum i usuwa tekst wpisany poniżej znacznika [ code][ /code]. Kontynuując tamten post:

 

W logach są takie informacje:

L 07/02/2013 - 17:58:11: Psychiczny Mozgoje - Psychiczny Mozgojeb
L 07/02/2013 - 17:58:11: Psychiczny Mozgojeb - Psychiczny Mozgoje
(...)
L 07/02/2013 - 17:59:40: Psychiczny Mozgoje - Psychiczny Mozgojeb
L 07/02/2013 - 17:59:40: Psychiczny Mozgojeb - Psychiczny Mozgoje
(...)
L 07/03/2013 - 19:55:58: Psychiczny Mo - Psychiczny Mozgojeb
L 07/03/2013 - 19:55:59: Psychiczny Mozgojeb - Psychiczny Mo
(...)

L 07/03/2013 - 22:07:25: Psychiczny Mo - Psychiczny Mozgojeb
L 07/03/2013 - 22:07:26: Psychiczny Mozgojeb - Psychiczny Mo

Czyli można z tego wyciągnąć takie wnioski, że client_infochanged coś robi nieciekawego z nickami. Tak jakby go zmienia na ucięty i potem z powrotem w normalny.... Ktoś ma pomysł o co może chodzić?

 

@up dlaczego mam użyć funkcji która ignoruje różnicę duże/małe znaki?


Użytkownik SeeK edytował ten post 08.07.2013 12:46

  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#14 donaciak

    Godlike

  • Power User

Reputacja: 892
Czempion

  • Postów:2067
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 08.07.2013 14:35

Dlatego że jak gracz zmieni rozmiar literki w nicku to plugin tego nie wychwyci


  • +
  • -
  • 1

#15 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 08.07.2013 17:20

@d0naciak, właśnie wychwyci w tym momencie. Przy użyciu equali NIE wychwyci. Nie pamiętam tylko, czy klucze w nvault są case sensitive. Jeśli nie są, to equali będzie odpowiednie, jeśli są, należy zostawić equal.

 

@seek, wychodzi na to, że coś innego na serwerze bawi się nickami graczy... plugins.ini poproszę. Wszystkie... :)


  • +
  • -
  • 0
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#16 SeeK

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 13.07.2013 00:42

GwynBleidD część tych pluginów to moja własna twórczość, a także sporo z nich było edytowanych na moje własne potrzeby, więc raczej Ci nazwy niewiele powiedzą, ponieważ ja mogłem gdzieś zrobić buga :) Poza tym udało mi się chyba sprawić, że te zmiany nicku już są nieszkodliwe, troszkę pozmieniałem cały kod pluginu i wydaje się, że wszystko działa poprawnie. A co do plugins.ini, to zamieszczam je poniżej, może akurat ktoś coś wymyśli ;)

seek's_banning_method.amxx ; ban neo
screenshot_maker.amxx ; robienie screenow
amxbans_core.amxx debug ; AMXBans
amxbans_main.amxx debug ; AMXBans
vips.amxx ; wczytuje liste vipow
;admin.amxx ; admin base (required for any admin-related)
;admin_sql.amxx ; admin base - SQL version (comment admin.amxx)
 
; Basic
admincmd.amxx ; basic admin console commands
adminhelp.amxx ; help command for admin console commands
adminslots.amxx ; slot reservation
multilingual.amxx ; Multi-Lingual management
 
; Menus
menufront.amxx ; front-end for admin menus
cmdmenu.amxx ; command menu (speech, settings)
plmenu.amxx ; players menu (kick, ban, client cmds.)
telemenu.amxx ; teleport menu (Fun Module required!)
mapsmenu.amxx ; maps menu (vote, changelevel)
pluginmenu.amxx ; Menus for commands/cvars organized by plugin
 
; Chat / Messages
adminlisten.amxx ; admin widzi wszystkie rozmowy
admin_color_chat.amxx ; Kolorowe rozmowyt na admin channel
chat_logger.amxx ; Logowanie rozmow z czatu
adminchat.amxx ; console chat commands
antiflood.amxx ; prevent clients from chat-flooding the server
scrollmsg.amxx ; displays a scrolling message
imessage.amxx ; displays information messages
adminvote.amxx ; vote commands
 
; Map related
nextmap.amxx ; displays next map in mapcycle
;mapchooser.amxx ; allows to vote for next map
timeleft.amxx ; displays time left on map
 
; Configuration
pausecfg.amxx ; allows to pause and unpause some plugins
statscfg.amxx ; allows to manage stats plugins via menu and commands
 
; Counter-Strike
;restmenu.amxx ; restrict weapons menu
statsx.amxx ; stats on death or round end (CSX Module required!)
miscstats.amxx ; bunch of events announcement for Counter-Strike
stats_logging.amxx ; weapons stats logging (CSX Module required!)
 
; Enable to use AMX Mod plugins
;amxmod_compat.amxx ; AMX Mod backwards compatibility layer
 
; Custom - Add 3rd party plugins here
 
sillyc4.amxx ; klejaca sie paka
runplanting.amxx ; podkladanie paki biegajac
 
; Główne
bf2rank.amxx ; bf2 rank
admin_spec_esp.amxx ; esp dla admina
abd.amxx ; wyswietla zadane obrazenia
afkbombtransfer.amxx ; transfer paki jezeli ktos jest afk
amx_record.amxx ; mozliwosc nagrywania demek
anty_reklama.amxx ; brak reklam w sayu
bs_limiter.amxx ; tylko jeden bs jak jest malo ludzi
;deagsmapmanager.amxx ; votowanie map
vote_mapa.amxx ; votowanie map2
hpk.amxx ; kickowanie z powodu duzego pingu
interp_rate.amxx ; ustawianie interpu
mse.amxx ; edytor spawnow
spawn_protection_pl.amxx
przegrane_godziny.amxx ; ilosc przegranych godzin
ptb.amxx ; wyrownywanie skladow
reasonkicker.amxx ; powod kickow
spect_kicker.amxx ; przerzuca na spect
team_micro.amxx ; ns nie slyszy s
mutemenu.amxx ; menu mute
voices_management.amxx ; zarzadzanie glosem na serwerze
ad_manager.amxx ; reklama
nohostagekilling.amxx ; brak zabijania hostow
resetstat.amxx ; /rs
 
simple_redirect.amxx ; przekierowywanie
xredirect.amxx ; wieksze przekierowanie
autobuyfix.amxx   ; blokada dlugich komend autobuy i rebuy
 
; Dodatki
roundsound.amxx   ; Muzyka na koniec rundy
amx_ip.amxx ; wyswietla ip w konsoli
inf_smierc.amxx ; info po smierci
automaticknifeduel.amxx ; pojedynek nozowy
c4timer.amxx ; zegarek c4
csnadedrops.amxx ; wypadajace granaty
serwer_info.amxx ; informacje na serwerze
ultimate_warmup.amxx ; rozgrzewka
kill_assist.amxx ; asysty
fragcounter.amxx ; licznik fragow
c4_muzyka.amxx ; muzyka i napisy
blocking_death.amxx   ; blokowanie smierci na koniec rundy
invisible_spectator.amxx   ; niewidka
ghw_weapon_replacement.amxx   ; zamiana modeli
 
; Bajery
knife_mod.amxx ; noze
grenade_sack.amxx ; kilka he
parachute.amxx ; spadochron
unlimited_money.amxx ; brak ograniczenia 16000
flashbang_dlight.amxx   ; blysk po fleshu
defuse_progress_bar.amxx   ; postep rozbrajania paki
 
 
;przerwa.amxx ; przerwa techniczna
reload.amxx ; mozliwosc przeladowania listy adminow
 
;czarnyrynek.amxx  ; sklep eustachego
 
 
vip.amxx ; vip

Użytkownik SeeK edytował ten post 13.07.2013 00:42

  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#17 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 13.07.2013 02:28

Być może ten plugin do banowania neo coś z tym knoci, wyłącz go i sprawdź.


  • +
  • -
  • 0
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#18 SeeK

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 29.07.2013 01:55

Za dużo zabawy by było z szukaniem, który plugin robi problem. Tak wyedytowałem mój plugin, że te zmiany nicku nie sprawiają już problemu :)


  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)





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

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