- Защото get_players бъгва при търсене по отбори.
- Защото може да върне случаен играч.
- Защото връща всички с посочената дума, а не грешка или само първият.
- Може да засече:
- "Gosho" (Връща всички играчи, който в името си имат думата)
- "@ct" (връща всички контра терористи)
- "@t" (връща всички терористи)
- "@all" (връща всички играчи в сървъра)
- "@r" (Избира произволен играч)
- Употреба:
Код за потвърждение: Избери целия код
new duma[15] copy(duma, "say goldenak @all") get_players_by_name(id, pl[32], duma[13], &num) // duma[13] защото тогава е "@all", което всъчщност й трябва на функцията if(num == -1) return if(num == 1) { //кодът намери това което търсехте } else { //кодът е намерил повече от един }
Код за потвърждение: Избери целия код
get_players_by_name(id, pl[32], szString[50], &num)
{
switch(szString[0]) {
case '@':if(szString[1] == 'r')
{
if( get_playersnum() < 2)
{
ColorChat(id, RED, "^x04[^x01PREFIX^x04] ^"@random^" cannot be used with only 1 person in the server!")
}
new tid32
while ((tid32 = random_num(1,32)))
{
if(!is_user_connected(tid32) || id == tid32) continue
pl[num] = tid32
num++
break
}
}
else
{
for(new i=1; i<33; i++)
{
if(is_user_connected(i))
{
if(get_user_team(i) != (szString[1]-97)%6 && szString[1] != 'a') continue
pl[num] = i, num++
}
}
}
default : for(new i=1; i<33; i++)
if(is_user_connected(i) && containi(user_name[i], szString) != -1)
pl[num] = i, num++
}
}