ну как один из вариантов, узнать сколько у игрока денег было в конце раунда, потом узнать скольк остало в начале следующего и собственное разность и будет искомой величиной приращения
L 04/29/2013 - 17:15:58: [SM] Native "GetEntProp" reported: Property "m_iAccount" not found (entity 0/worldspawn) L 04/29/2013 - 17:15:58: [SM] Displaying call stack trace for plugin "ZombieMoney++.smx": L 04/29/2013 - 17:15:58: [SM] [0] Line 41, ZombieMoney++.sp::round_end()
public OnPluginStart() { HookEvent("round_start", round_start); HookEvent("round_end", round_end); }
public round_start(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); money_start[client] = GetEntProp(client, Prop_Send, "m_iAccount", 4); BackMoney(client); }
public round_end(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); money_end[client] = GetEntProp(client, Prop_Send, "m_iAccount"); }
Как я понял невозможно получить чей либо индекс в конце раунда, есть конечно вариант цикла, проходящего по всем игрокам, но хочу узнать ваше мнение возможен ли другой вариант.
Сообщение отредактировал Darkeneez - Понедельник, 29.04.2013, 15:37:33
public Event_OnRoundStart(Handle:event, const String:name[], bool:silent) { GetMoneyPlayersStart(); }
public Event_OnRoundEnd(Handle:event, const String:name[], bool:silent) { GetMoneyPlayersEnd(); }
public Action:CallBack(client, args) { PrintToConsole(client, "# | Name | RoundStartMoney | RoundEndMoney | Different");
for (new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i)) { PrintToConsole(client, "%d. %N %d %d %d", i, i, RoundStartMoney[i], RoundEndMoney[i], RoundStartMoney[i] - RoundEndMoney[i]); } } return Plugin_Handled; }
public GetMoneyPlayersStart() { for (new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i)) { RoundStartMoney[i] = GetEntData(i, m_iAccount, 4); } } }
public GetMoneyPlayersEnd() { for (new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i)) { RoundEndMoney[i] = GetEntData(i, m_iAccount, 4); } } }
И мой не работает...
Добавлено (29.04.2013, 18:59:52) --------------------------------------------- И причем только RoundEnd