PDA

Просмотр полной версии : [Вопрос] По payday топ игрокам (киллам)



$continue$
10.09.2014, 16:15
Всем бобра, уважаемый посетители Pro Pawn!

И у меня проблема, не выводит сообщение игрокам из топа..


@_Pay_Timer();
@_Pay_Timer()
{
/*new h,m;
gettime(h,m);
if(m == 0) */ mysql_function_query(connect_to_mysql, "SELECT `Name`, `Kills` FROM `"TABLE_ACCOUNT"` ORDER BY `Kills` DESC LIMIT 10", true, "PAY_DAY_TOPPING", "");
//return 1;
}
forward PAY_DAY_TOPPING();
public PAY_DAY_TOPPING()
{
new r[2];
cache_get_data(r[0], r[1]);
if(r[0])
{
for(new i = 0; i < r[0]; i++)
{
new name[MAX_PLAYER_NAME];
cache_get_field_content(i, "Name", name, connect_to_mysql, MAX_PLAYER_NAME);
if(IsPlayerConnected(GetPlayerID(name)))
{
switch(i+1)
{
case 1: SendClientMessage(i, COLOR_GRAD, "ТОП 1");
case 2: SendClientMessage(i, COLOR_GRAD, "ТОП 2");
case 3: SendClientMessage(i, COLOR_GRAD, "ТОП 3");
case 4: SendClientMessage(i, COLOR_GRAD, "ТОП 4");
case 5: SendClientMessage(i, COLOR_GRAD, "ТОП 5");
case 6: SendClientMessage(i, COLOR_GRAD, "ТОП 6");
case 7: SendClientMessage(i, COLOR_GRAD, "ТОП 7");
case 8: SendClientMessage(i, COLOR_GRAD, "ТОП 8");
case 9: SendClientMessage(i, COLOR_GRAD, "ТОП 9");
case 10: SendClientMessage(i, COLOR_GRAD, "ТОП 10");
}
}
}
SendClientMessageToAll(COLOR_LIGHTRED, "test");
}
return 1;
}



stock GetPlayerID(playername[])
{
foreach(new i: Player)
{
if(IsPlayerConnected(i))
{
if(strcmp(NAME_REG[i], playername, true, strlen(playername)) == 0) return i;
}
}
return INVALID_PLAYER_ID;
}

Заранее спасибо.

$continue$
11.09.2014, 16:33
Вверх!

$continue$
13.09.2014, 11:22
Вверх

DeimoS
13.09.2014, 14:14
Эмм, что логирование говорит?

$continue$
15.09.2014, 00:10
Эмм, что логирование говорит?

Test, Top - 1 и т.д не выводит.

DeimoS
15.09.2014, 07:14
Test, Top - 1 и т.д не выводит.

Уфф, учитесь нормально логировать. Это самое элементарное, что есть в программировании и если вы даже это не можете сделать...
Логи:

forward PAY_DAY_TOPPING();
public PAY_DAY_TOPPING()
{
print("\nPAY_DAY_TOPPING");
new r[2];
cache_get_data(r[0], r[1]);
printf("r[0] = %d", r[0]);
if(r[0])
{
for(new i = 0; i < r[0]; i++)
{
printf("\ni = %d", i);
new name[MAX_PLAYER_NAME];
cache_get_field_content(i, "Name", name, connect_to_mysql, MAX_PLAYER_NAME);
printf("name = %s", name);
printf("GetPlayerID = %d", GetPlayerID(name));
printf("IsPlayerConnected = %d", IsPlayerConnected(GetPlayerID(name)));
if(IsPlayerConnected(GetPlayerID(name)))
{
switch(i+1)
{
case 1: SendClientMessage(i, COLOR_GRAD, "ТОП 1");
case 2: SendClientMessage(i, COLOR_GRAD, "ТОП 2");
case 3: SendClientMessage(i, COLOR_GRAD, "ТОП 3");
case 4: SendClientMessage(i, COLOR_GRAD, "ТОП 4");
case 5: SendClientMessage(i, COLOR_GRAD, "ТОП 5");
case 6: SendClientMessage(i, COLOR_GRAD, "ТОП 6");
case 7: SendClientMessage(i, COLOR_GRAD, "ТОП 7");
case 8: SendClientMessage(i, COLOR_GRAD, "ТОП 8");
case 9: SendClientMessage(i, COLOR_GRAD, "ТОП 9");
case 10: SendClientMessage(i, COLOR_GRAD, "ТОП 10");
}
}
}
SendClientMessageToAll(COLOR_LIGHTRED, "test");
}
return 1;
}

$continue$
17.09.2014, 16:55
Уфф, учитесь нормально логировать. Это самое элементарное, что есть в программировании и если вы даже это не можете сделать...
Логи:

forward PAY_DAY_TOPPING();
public PAY_DAY_TOPPING()
{
print("\nPAY_DAY_TOPPING");
new r[2];
cache_get_data(r[0], r[1]);
printf("r[0] = %d", r[0]);
if(r[0])
{
for(new i = 0; i < r[0]; i++)
{
printf("\ni = %d", i);
new name[MAX_PLAYER_NAME];
cache_get_field_content(i, "Name", name, connect_to_mysql, MAX_PLAYER_NAME);
printf("name = %s", name);
printf("GetPlayerID = %d", GetPlayerID(name));
printf("IsPlayerConnected = %d", IsPlayerConnected(GetPlayerID(name)));
if(IsPlayerConnected(GetPlayerID(name)))
{
switch(i+1)
{
case 1: SendClientMessage(i, COLOR_GRAD, "ТОП 1");
case 2: SendClientMessage(i, COLOR_GRAD, "ТОП 2");
case 3: SendClientMessage(i, COLOR_GRAD, "ТОП 3");
case 4: SendClientMessage(i, COLOR_GRAD, "ТОП 4");
case 5: SendClientMessage(i, COLOR_GRAD, "ТОП 5");
case 6: SendClientMessage(i, COLOR_GRAD, "ТОП 6");
case 7: SendClientMessage(i, COLOR_GRAD, "ТОП 7");
case 8: SendClientMessage(i, COLOR_GRAD, "ТОП 8");
case 9: SendClientMessage(i, COLOR_GRAD, "ТОП 9");
case 10: SendClientMessage(i, COLOR_GRAD, "ТОП 10");
}
}
}
SendClientMessageToAll(COLOR_LIGHTRED, "test");
}
return 1;
}

Вот логи, ник нормально возвращает просто не хочу их показывать :\


PAY_DAY_TOPPING
[15:47:06] r[0] = 10
[15:47:06]
i = 0
[15:47:06] name =
[15:47:06] GetPlayerID = 65535
[15:47:06] IsPlayerConnected = 0
[15:47:06]
i = 1
[15:47:06] name =
[15:47:06] GetPlayerID = 0
[15:47:06] IsPlayerConnected = 1
[15:47:06]
i = 2
[15:47:06] name =
[15:47:06] GetPlayerID = 65535
[15:47:06] IsPlayerConnected = 0
[15:47:06]
i = 3
[15:47:06] name =
[15:47:06] GetPlayerID = 65535
[15:47:06] IsPlayerConnected = 0
[15:47:06]
i = 4
[15:47:06] name =
[15:47:06] GetPlayerID = 65535
[15:47:06] IsPlayerConnected = 0
[15:47:06]
i = 5
[15:47:06] name =
[15:47:06] GetPlayerID = 65535
[15:47:06] IsPlayerConnected = 0
[15:47:06]
i = 6
[15:47:06] name =
[15:47:06] GetPlayerID = 65535
[15:47:06] IsPlayerConnected = 0
[15:47:06]
i = 7
[15:47:06] name =
[15:47:06] GetPlayerID = 65535
[15:47:06] IsPlayerConnected = 0
[15:47:06]
i = 8
[15:47:06] name =
[15:47:06] GetPlayerID = 65535
[15:47:06] IsPlayerConnected = 0
[15:47:06]
i = 9
[15:47:06] name =
[15:47:06] GetPlayerID = 65535
[15:47:06] IsPlayerConnected = 0

DeimoS
17.09.2014, 17:04
forward PAY_DAY_TOPPING();
public PAY_DAY_TOPPING()
{
new r[2];
cache_get_data(r[0], r[1]);
if(!r[0]) return 1;
new plauerid,
name[MAX_PLAYER_NAME];
for(new i = 0; i < r[0]; i++)
{
cache_get_field_content(i, "Name", name, connect_to_mysql, MAX_PLAYER_NAME);
plauerid = GetPlayerID(name);
if(!IsPlayerConnected(plauerid)) continue;
switch(i+1)
{
case 1: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 1");
case 2: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 2");
case 3: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 3");
case 4: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 4");
case 5: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 5");
case 6: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 6");
case 7: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 7");
case 8: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 8");
case 9: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 9");
case 10: SendClientMessage(plauerid, COLOR_GRAD, "ТОП 10");
}
}
SendClientMessageToAll(COLOR_LIGHTRED, "test");
return 1;
}