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.
|
blad usermsg not present on client 163
#1
Napisano 29.12.2010 16:20
#2
Napisano 29.12.2010 16:38
wyłączaj kolejno pluginy aż problem zniknie, a potem daj .sma pluginu który powoduje błędy
#3
Napisano 29.12.2010 16:50
Załączone pliki
Użytkownik raxor19 edytował ten post 29.12.2010 16:51
#4
Napisano 29.12.2010 17:11
#5
Napisano 29.12.2010 17:45
#6
Napisano 29.12.2010 20:11
//Radar public radar_scan() { new PlayerCoords[3]; new id; new Players[32]; new i; new playerCount = 0; for (id=1; id<=g_maxplayers; id++) { if((!is_user_alive(id))||(!radar[id])) continue; if(get_players(Players, playerCount, "a") &&is_user_alive(id)) { playerCount++; } for (i=1;i<=playerCount;i++) { get_user_origin(i, PlayerCoords) message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id) write_byte(id) write_byte(i) write_coord(PlayerCoords[0]) write_coord(PlayerCoords[1]) write_coord(PlayerCoords[2]) message_end() message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id) write_byte(i) message_end() } emit_sound(id, CHAN_ITEM, sound_radar, 1.0, ATTN_NORM, 0, PITCH_NORM); } }bo mało co jest w niej poprawne
#7
Napisano 29.12.2010 20:52
Więc zrób coś z tą funkcją:
//Radar
public radar_scan()
{
new PlayerCoords[3];
new id;
new Players[32];
new i;
new playerCount = 0;
for (id=1; id<=g_maxplayers; id++)
{
if((!is_user_alive(id))||(!radar[id])) continue;
if(get_players(Players, playerCount, "a") &&is_user_alive(id))
{
playerCount++;
}
for (i=1;i<=playerCount;i++)
{
get_user_origin(i, PlayerCoords)
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
write_byte(id)
write_byte(i)
write_coord(PlayerCoords[0])
write_coord(PlayerCoords[1])
write_coord(PlayerCoords[2])
message_end()
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
write_byte(i)
message_end()
}
emit_sound(id, CHAN_ITEM, sound_radar, 1.0, ATTN_NORM, 0, PITCH_NORM);
}
}
bo mało co jest w niej poprawne
A dokladniej? Mozesz cos opisac- co jest zle ?
Lub jak mozesz to wywal mi ten item a w zalaczniku daje .sma bez zadnych bledow
Dodano 30 grudzień 2010 - 10:07:
L 12/30/2010 - 09:54:50: [ENGINE] Invalid entity 17
L 12/30/2010 - 09:54:50: [AMXX] Displaying debug trace (plugin "qtm_codmod.amxx")
L 12/30/2010 - 09:54:50: [AMXX] Run time error 10: native error (native "entity_get_int")
L 12/30/2010 - 09:54:50: [AMXX] [0] qtm_codmod.sma::PokazInformacje (line 1921)
Poprawilem wszystko dodalem debuga i wyskoczyly mi takie bledy
Dodano 30 grudzień 2010 - 10:21:
Daje jeszcze cala finkcje PokazInformacje , (tam gdzie blad w lini 1921 pogrubione)
public PokazInformacje(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;
set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);
if(target == 0)
return PLUGIN_CONTINUE;
set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s^nZapraszamy na^nwww.Cs-Rakszawa.pl", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]]);
return PLUGIN_CONTINUE;
}
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Przedmiot : %s]^nZapraszamy na^nwww.Cs-Rakszawa.pl", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
return PLUGIN_CONTINUE;
}
Dodano 30 grudzień 2010 - 10:34:
Teraz wywala ludzi a w konsoli znajduje sie :
Last 32 messages parsed.
23372 0085 svc_temp_entity
23372 0107 svc_temp_entity
23376 0008 StatusValue
23376 0013 StatusValue
23376 0018 StatusValue
23376 0023 svc_time
23376 0028 svc_clientdata
23376 0045 svc_deltapacketentities
23383 0008 svc_time
23383 0013 svc_clientdata
23383 0030 svc_deltapacketentities
23383 0099 svc_temp_entity
23387 0008 svc_time
23387 0013 svc_clientdata
23387 0030 svc_deltapacketentities
23392 0008 svc_time
23392 0013 svc_clientdata
23392 0030 svc_deltapacketentities
23392 0104 svc_sound
23392 0117 svc_temp_entity
23393 0008 StatusValue
23393 0013 StatusValue
23393 0018 StatusValue
23393 0023 svc_time
23393 0028 svc_clientdata
23393 0043 svc_deltapacketentities
23397 0008 svc_time
23397 0013 svc_clientdata
23397 0028 svc_deltapacketentities
23397 0100 svc_temp_entity
23397 0126 svc_setview
BAD: 130:svc_bad
Host_Error: CL_ParseServerMessage:
Załączone pliki
Użytkownik raxor19 edytował ten post 29.12.2010 21:15
#8
Napisano 30.12.2010 18:51
public radar_scan()
{
new Players[32];
new playerCount = 0;
get_players(Players, playerCount)
for (new i=0; i<=playerCount; i++)
{
new id = Players[i]
if((!is_user_alive(id))||(!radar[id])) continue;
for (new j=0;i<=playerCount;i++)
{
new pid = Players[j]
new PlayerCoords[3];
get_user_origin(pid, PlayerCoords)
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
write_byte(id)
write_byte(pid)
write_coord(PlayerCoords[0])
write_coord(PlayerCoords[1])
write_coord(PlayerCoords[2])
message_end()
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
write_byte(pid)
message_end()
}
emit_sound(id, CHAN_ITEM, sound_radar, 1.0, ATTN_NORM, 0, PITCH_NORM);
}
}
Dużo nie zmienilem, uzyłem tylko w PRAWIDŁOWY sposób funkcji get_players. Zapamiętaj że niektóre ID są puste, bo np. gracz wyszedł z serwera (nie zostanie przesunięty nikt na jego miejsce, póki ktoś na serwer nie wejdzie) i nie możesz jechać pętlą od 0 do ilości graczy licząc na to, że liczba na której się aktualnie znajdujesz jest graczem. get_players wypełnia tablice wpisując tam po kolei id graczy, przez co tablica wygląda tak:
{1, 2, 4, 5, 7, 11}
oznacza to że masz 6ciu graczy na serwerze, a id ostatniego to 11. Id 3, 6, 8, 9, 10 są PUSTE, także odwołanie się do nich powoduje błąd.
Spróbuj teraz skompilować
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ę.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych