М9сНиК
|
Дата: Суббота, 12.05.2012, 13:22:10 | Сообщение # 3 |
|
Сообщений: 61
Репутация: 0 [ +/- ]
|
|
Спасибо большое. Очень нравится ресурс, много чего интересного и полезного и отзывчивый админ, который всегда поможет если что-то не получается Добавлено (12.05.2012, 13:22:10) --------------------------------------------- Всё работает но есть 1 минус, только сегодня заметил. При использовании бонуса сами бонусы не вычитаются
Code ShowRedBonusMenu(i) { decl Handle:p; if ((p = CreatePanel()) == INVALID_HANDLE) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Не удалось \x05создать \x01меню"); return; } DrawPanelText(p, "[ FreeDom ] Магазин\n \n"); decl String:f[100]; Format(f, sizeof(f), "Скорость %d сек (%d бонусов)", props_featureSEC, props_cash_speed); if (Kills[i] < props_cash_speed || SpeedTimer[i] != INVALID_HANDLE) DrawPanelItem(p, f, ITEMDRAW_DISABLED); else DrawPanelItem(p, f); Format(f, sizeof(f), "Невидимость %d сек (%d бонусов)", props_featureSEC, props_cash_invis); if (Kills[i] < props_cash_invis || InvisTimer[i] != INVALID_HANDLE) DrawPanelItem(p, f, ITEMDRAW_DISABLED); else DrawPanelItem(p, f); Format(f, sizeof(f), "Оздоровление (%d бонусов)", props_cash_regen); if (Kills[i] < props_cash_regen || props_on) DrawPanelItem(p, f, ITEMDRAW_DISABLED); else DrawPanelItem(p, f); Format(f, sizeof(f), "Узнать где враги (%d бонусов)", props_cash_where); if (Kills[i] < props_cash_where || WhereTimer[i] != INVALID_HANDLE) DrawPanelItem(p, f, ITEMDRAW_DISABLED); else DrawPanelItem(p, f); Format(f, sizeof(f), "Просветить предмет (%d бонусов)", props_cash_invpr); if (Kills[i] < props_cash_invpr || props_on) DrawPanelItem(p, f, ITEMDRAW_DISABLED); else DrawPanelItem(p, f); Format(f, sizeof(f), "Удалить предмет (%d бонусов)\n \n", props_cash_delpr); if (Kills[i] < props_cash_delpr || props_on) DrawPanelItem(p, f, ITEMDRAW_DISABLED); else DrawPanelItem(p, f); DrawPanelItem(p, "Выход"); SendPanelToClient(p, i, Select_RedBonusMenu, 0); CloseHandle(p); }
public Select_RedBonusMenu(Handle:menu, MenuAction:action, i, option) { if (action != MenuAction_Select || option > 6 || GetClientTeam(i) != 2) { return; } if (option == 1) { if (Kills[i] < props_cash_speed) { ErrorMsgNoCash(i); return; } if (SpeedTimer[i] != INVALID_HANDLE) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Скорость \x05УЖЕ \x01прокачана"); return; } SetEntProp(i, Prop_Send, "m_iAccount", Kills[i] - props_cash_speed); SetEntPropFloat(i, Prop_Send, "m_flLaggedMovementValue", 3.0); SpeedTimer[i] = CreateTimer(float(props_featureSEC), StopSpeed_Func, i, TIMER_FLAG_NO_MAPCHANGE); PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Скорость \x04активирована"); ClientCommand(i, "playgamesound weapons/flashbang/flashbang_explode1.wav"); } else if (option == 2) { if (Kills[i] < props_cash_invis) { ErrorMsgNoCash(i); return; } if (InvisTimer[i] != INVALID_HANDLE) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Невидимость \x05УЖЕ \x01прокачана"); return; } SetEntProp(i, Prop_Send, "m_iAccount", Kills[i] - props_cash_invis); SetColor(i, 255, 255, 255, 25); InvisTimer[i] = CreateTimer(float(props_featureSEC), StopInvis_Func, i, TIMER_FLAG_NO_MAPCHANGE); PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Невидимость \x04активирована"); ClientCommand(i, "playgamesound weapons/elite/elite_deploy.wav"); } else if (option == 3) { if (Kills[i] < props_cash_regen) { ErrorMsgNoCash(i); return; } if (GetEntProp(i, Prop_Send, "m_iHealth") > 99) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Вы и так \x05здоровы"); return; } SetEntProp(i, Prop_Send, "m_iAccount", Kills[i] - props_cash_regen); SetEntProp(i, Prop_Send, "m_iHealth", 100); PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Здоровье \x04восстановлено"); Vertical_Effect(i, {0,255,0,255}); ClientCommand(i, "playgamesound ui/freeze_cam.wav"); } else if (option == 4) { if (Kills[i] < props_cash_where) { ErrorMsgNoCash(i); return; } if (WhereTimer[i] != INVALID_HANDLE) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Ждите \x0510 \x01секунд"); return; } SetEntProp(i, Prop_Send, "m_iAccount", Kills[i] - props_cash_where); decl Float:MyPos[3], Float:TargetPos[3]; GetClientAbsOrigin(i, MyPos); MyPos[2] += 500.0; new targets = 0; for (new x = 1; x <= MaxClients; x++) { if (IsClientInGame(x) && IsPlayerAlive(x) && GetClientTeam(x) == 3) { GetClientAbsOrigin(x, TargetPos); TE_SetupBeamPoints(MyPos, TargetPos, PrecH, PrecH, 0, 0, 5.0, 25.0, 1.0, 0, 0.0, {255,0,0,255}, 50); TE_SendToClient(i); targets += 1; } } PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Найдено врагов: \x05%d", targets); ClientCommand(i, "playgamesound ambient/office/button1.wav"); WhereTimer[i] = CreateTimer(10.0, StopWhere_Func, i, TIMER_FLAG_NO_MAPCHANGE); } else if (option == 5) { if (Kills[i] < props_cash_invpr) { ErrorMsgNoCash(i); return; } if (props_on) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Ждите \x05окончания \x01строительства"); return; } new Prop_Index = wS_GetLookPropIndex(i); if (Prop_Index < 1) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Вы должны \x05смотреть \x01на предмет"); return; } if (GetEntProp(Prop_Index, Prop_Send, "m_clrRender") == 436207615) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Этот предмет \x05уже \x01просвещен"); return; } SetEntProp(i, Prop_Send, "m_iAccount", Kills[i] - props_cash_invpr); SetColor(Prop_Index, 255, 255, 255, 25); CreateTimer(5.0, StopInvpr_Func, Prop_Index, TIMER_FLAG_NO_MAPCHANGE); ClientCommand(i, "playgamesound physics/plastic/plastic_box_strain2.wav"); } else if (option == 6) { if (Kills[i] < props_cash_delpr) { ErrorMsgNoCash(i); return; } if (props_on) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Ждите \x05окончания \x01строительства"); return; } new Prop_Index = wS_GetLookPropIndex(i); if (Prop_Index < 1) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] Вы должны \x05смотреть \x01на предмет"); return; } SetEntProp(i, Prop_Send, "m_iAccount", Kills[i] - props_cash_delpr); new vladelec_i = GetEntPropEnt(Prop_Index, Prop_Send, "m_PredictableID"); if (vladelec_i > 0 && IsClientInGame(vladelec_i) && IsPlayerAlive(vladelec_i)) { PrintCenterText(vladelec_i, "ВНИМАНИЕ! %N удалил ваш проп!", i); } SetEntPropEnt(Prop_Index, Prop_Send, "m_PredictableID", 0); DispatchKeyValue(Prop_Index, "targetname", "t_dis_prop"); Dissolve("t_dis_prop", "1"); props_num -= 1; ClientCommand(i, "playgamesound physics/cardboard/cardboard_box_break1.wav"); } ShowRedBonusMenu(i); }
ErrorMsgNoCash(i) { PrintToChat(i, "\x01[ \x03FreeDom\x01 ] У вас \x05недостаточно \x01бонусов"); ClientCommand(i, "playgamesound resource/warning.wav"); }
Vertical_Effect(i, Color[4]) { decl Float:Pos1[3], Float:wS_Pos2[3]; GetClientAbsOrigin(i, Pos1); wS_Pos2[0] = Pos1[0]; wS_Pos2[1] = Pos1[1]; wS_Pos2[2] = Pos1[2] + 70.0; TE_SetupBeamPoints(Pos1, wS_Pos2, PrecH, PrecH, 0, 0, 0.2, 50.0, 90.0, 0, 0.0, Color, 50); TE_SendToAll(); }
SetColor(i, r, g, b, a) { SetEntityRenderMode(i, RENDER_TRANSCOLOR); SetEntityRenderColor(i, r, g, b, a); }
как сделать чтобы бонусы вычитались?
|
|
| |