Mam 2 pluginy:
1. adminchat
2. własny plugin od zarządzania wiadomościami
Adminchat ma za zadanie wysłać za pomocą natywu ID gracza co użył adminchata oraz wiadomość. Problemów w wiadomością nie mam, ale źle przekazuje ID. Wstawiałem sobie w obu pluginach funkcję od wychwytywania jakie ID jest wysyłane i jakie odbierane. Wyniki:
- w adminchat wysyła 1 (poprawnie)
- w drugim pluginie odbiera 11 (zła wartość)
Czy może macie jakieś pomysły co to wywołuje? Jak to rozwiązać? Nie wchodzi w grę opcja id=id-10
Kod z adminchata:
native przechwyc_tekst(id, wiadomosc[])
public cmdSayAdmin(id)
{
new said[2];
read_argv(1, said, 1);
if(said[0] != '@')
return PLUGIN_CONTINUE;
new message[192], name[32], authid[32], userid;
new players[32], inum;
read_args(message, 191);
remove_quotes(message);
get_user_authid(id, authid, 31);
get_user_name(id, name, 31);
userid = get_user_userid(id);
log_amx("Chat: ^"%s<%d><%s><>^" chat ^"%s^"", name, userid, authid, message[1]);
log_message("^"%s<%d><%s><>^" triggered ^"amx_chat^" (text ^"%s^")", name, userid, authid, message[1]);
if(is_user_admin(id))
{
ColorChat(id, GREEN, "(%s) %s : %s", "ADMIN", name, message[1]);
}
else
{
ColorChat(id, GREEN, "(%s) %s : %s", "GRACZ", name, message[1]);
}
get_players(players, inum);
for(new i=0; i<inum; ++i)
{
if(players[i] != id && get_user_flags(players[i]) & g_AdminChatFlag)
{
ColorChat(players[i], GREEN, "(%s) %s : %s", is_user_admin(id) ? "ADMIN" : "GRACZ", name, message[1]);
#if defined SOUND
client_cmd(players[i],"mp3 play sound/beep-07.mp3");
#endif
}
}
przechwyc_tekst(id, message)
return PLUGIN_HANDLED;
}
kod natywu w drugim pluginie:
public plugin_natives()
{
register_native("przechwyc_tekst", "przechwytywanie");
}
public przechwytywanie(id, wiadomosc[])
{
if(!plugin_wlaczony)
return 0;
if(typ != 1)
return 0;
new wiad[150]
get_string(2, wiad, 149)
//log_to_file("addons/amxmodx/logs/testy.txt", "PRZECHWYCILEM: %s, ID: %i", wiad, id);
if(containi(wiad, od_przechwytywania[wybrane_pytanie][0]) != -1 )
{
new nod[4], nock[40]
get_user_name(id, nock, 39)
num_to_str(id_drzewka, nod, 3)
TrieSetString(nicki,nod,nock)
TrieSetString(odpowiedzi,nod,wiad)
id_drzewka++
return 0
}
return 0
}


Dodatki SourceMod



Temat jest zamknięty










