(29-06-2026, 12:18)Maravilha Adlı Kullanıcıdan Alıntı:hiç çalışmıyor asist tamamen gitti.Kod:#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <csx>
#include <fun>
#include <hamsandwich>
#define PLUGIN "fragkayit v2 - Gelistirilmis Asist Sistemi"
#define VERSION "2.0"
#define AUTHOR "thorin / heil edit - Gelistirilmis"
new bool:g_bMatchActive = false
new bool:g_bFragResetUsed = false
new g_iSavedKills[33]
new g_iSavedDeaths[33]
new g_iDamageDealt[33][33]
new Float:g_fPreDamageHealth[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("amx_kytbaslat", "Cmd_MacStart", ADMIN_KICK, "Mac modunu baslatir ve skorlari sabitler")
register_concmd("amx_kytbitir", "Cmd_MacStop", ADMIN_KICK, "Mac modunu bitirir ve normal sisteme gecer")
register_concmd("amx_fragsifirla", "Cmd_FragSifirla", ADMIN_KICK, "Tum oyuncularin frag ve olumlerini sifirlar (Haritada 1 kez)")
register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0")
RegisterHam(Ham_Killed, "player", "Fwd_PlayerKilled_Post", 1)
RegisterHam(Ham_Spawn, "player", "Fwd_PlayerSpawn_Post", 1)
RegisterHam(Ham_TakeDamage, "player", "Fwd_TakeDamage_Pre", 0)
RegisterHam(Ham_TakeDamage, "player", "Fwd_TakeDamage_Post", 1)
}
public plugin_cfg() {
g_bFragResetUsed = false
}
public client_putinserver(id) {
g_iSavedKills[id] = 0
g_iSavedDeaths[id] = 0
g_fPreDamageHealth[id] = 0.0
ClearPlayerDamage(id)
}
public client_disconnected(id) {
g_iSavedKills[id] = 0
g_iSavedDeaths[id] = 0
g_fPreDamageHealth[id] = 0.0
ClearPlayerDamage(id)
}
ClearPlayerDamage(id) {
for (new i = 1; i <= 32; i++) {
g_iDamageDealt[id][i] = 0
g_iDamageDealt[i][id] = 0
}
}
public Cmd_MacStart(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
if (g_bMatchActive) {
client_print_color(id, print_team_default, "^1[^4SSS^1] ^3Mac modu zaten aktif!")
return PLUGIN_HANDLED
}
g_bMatchActive = true
ClearAllDamage()
SyncAllScores()
client_print_color(0, print_team_default, "^1[^4SSS^1] ^3Mac modu baslatildi! ^1Skor sayma ve frag kayit sistemi aktif.")
return PLUGIN_HANDLED
}
public Cmd_MacStop(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
if (!g_bMatchActive) {
client_print_color(id, print_team_default, "^1[^4SSS^1] ^3Mac modu zaten kapali!")
return PLUGIN_HANDLED
}
g_bMatchActive = false
ClearAllDamage()
for (new i = 1; i <= 32; i++) {
if (is_user_connected(i)) {
g_iSavedKills[i] = 0
g_iSavedDeaths[i] = 0
set_user_frags(i, 0)
cs_set_user_deaths(i, 0)
UpdateScoreboard(i)
}
}
client_print_color(0, print_team_default, "^1[^4SSS^1] ^3Mac modu kapatildi! ^1Fraglar sifirlandi.")
return PLUGIN_HANDLED
}
public Cmd_FragSifirla(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
if (g_bFragResetUsed) {
client_print_color(id, print_team_default, "^1[^4SSS^1] ^3Bu haritada zaten frag sifirlama kullandin!")
return PLUGIN_HANDLED
}
ClearAllDamage()
for (new i = 1; i <= 32; i++) {
if (is_user_connected(i)) {
g_iSavedKills[i] = 0
g_iSavedDeaths[i] = 0
set_user_frags(i, 0)
cs_set_user_deaths(i, 0)
UpdateScoreboard(i)
}
}
g_bFragResetUsed = true
client_print_color(0, print_team_default, "^1[^4SSS^1] ^3Frag sifirlama yapildi! ^1Artik bu haritada kullanilamaz.")
return PLUGIN_HANDLED
}
public Fwd_TakeDamage_Pre(victim, inflictor, attacker, Float:damage, damagebits) {
if (!g_bMatchActive)
return HAM_IGNORED
if (attacker < 1 || attacker > 32 || !is_user_connected(attacker) || attacker == victim)
return HAM_IGNORED
if (get_user_team(attacker) != get_user_team(victim)) {
g_fPreDamageHealth[victim] = Float:get_user_health(victim)
}
return HAM_IGNORED
}
public Fwd_TakeDamage_Post(victim, inflictor, attacker, Float:damage, damagebits) {
if (!g_bMatchActive)
return HAM_IGNORED
if (attacker < 1 || attacker > 32 || !is_user_connected(attacker) || attacker == victim)
return HAM_IGNORED
if (get_user_team(attacker) != get_user_team(victim)) {
new Float:fPostHealth = Float:get_user_health(victim)
new Float:fRealDamage = g_fPreDamageHealth[victim] - fPostHealth
if (fRealDamage < 0.0)
fRealDamage = 0.0
g_iDamageDealt[attacker][victim] += floatround(fRealDamage)
}
return HAM_IGNORED
}
public bomb_defused(id) {
if (g_bMatchActive && is_user_connected(id)) {
set_task(0.2, "Task_SaveBombScore", id)
}
}
public bomb_explode(planter, defuser) {
if (g_bMatchActive && is_user_connected(planter)) {
set_task(0.2, "Task_SaveBombScore", planter)
}
}
public Task_SaveBombScore(id) {
if (g_bMatchActive && is_user_connected(id)) {
g_iSavedKills[id] = get_user_frags(id)
UpdateScoreboard(id)
}
}
public Fwd_PlayerKilled_Post(victim, killer) {
if (!g_bMatchActive)
return HAM_IGNORED
if (killer == victim || killer == 0 || !is_user_connected(killer)) {
if (is_user_connected(victim)) {
set_task(0.1, "Task_RestoreScore", victim)
}
for (new i = 1; i <= 32; i++) {
g_iDamageDealt[i][victim] = 0
}
return HAM_IGNORED
}
new iVictimTeam = get_user_team(victim)
for (new i = 1; i <= 32; i++) {
if (i != killer && is_user_connected(i) && get_user_team(i) != iVictimTeam) {
if (g_iDamageDealt[i][victim] >= 51) {
set_user_frags(i, get_user_frags(i) + 1)
new iMoney = cs_get_user_money(i)
iMoney += 200
if (iMoney > 16000) iMoney = 16000
cs_set_user_money(i, iMoney)
UpdateScoreboard(i)
client_print_color(i, print_team_default, "^1[^4EOSM^1] ^3Asist yaptigin icin ^4+1 frag ^1ve ^4+$200 ^1kazandin! (Hasar: ^4%d^1)", g_iDamageDealt[i][victim])
}
}
}
SyncAllScores()
for (new i = 1; i <= 32; i++) {
g_iDamageDealt[i][victim] = 0
}
return HAM_IGNORED
}
public Task_RestoreScore(id) {
if (!g_bMatchActive || !is_user_connected(id))
return
set_user_frags(id, g_iSavedKills[id])
cs_set_user_deaths(id, g_iSavedDeaths[id])
UpdateScoreboard(id)
}
public Event_NewRound() {
if (!g_bMatchActive)
return
ClearAllDamage()
for (new i = 1; i <= 32; i++) {
if (is_user_connected(i)) {
set_user_frags(i, g_iSavedKills[i])
cs_set_user_deaths(i, g_iSavedDeaths[i])
}
}
set_task(0.5, "Task_UpdateAllScores")
}
public Task_UpdateAllScores() {
if (!g_bMatchActive)
return
UpdatePlayerStaggered(1)
}
UpdatePlayerStaggered(id) {
if (!g_bMatchActive || id > 32)
return
if (is_user_connected(id)) {
UpdateScoreboard(id)
set_task(0.03, "OnUpdateNextPlayer", id + 1)
} else {
UpdatePlayerStaggered(id + 1)
}
}
public OnUpdateNextPlayer(id) {
UpdatePlayerStaggered(id)
}
public Fwd_PlayerSpawn_Post(id) {
if (!g_bMatchActive || !is_user_alive(id))
return
set_user_frags(id, g_iSavedKills[id])
cs_set_user_deaths(id, g_iSavedDeaths[id])
for (new i = 1; i <= 32; i++) {
g_iDamageDealt[id][i] = 0
g_iDamageDealt[i][id] = 0
}
g_fPreDamageHealth[id] = 0.0
}
public SyncAllScores() {
if (!g_bMatchActive)
return
for (new i = 1; i <= 32; i++) {
if (is_user_connected(i)) {
g_iSavedKills[i] = get_user_frags(i)
g_iSavedDeaths[i] = cs_get_user_deaths(i)
}
}
}
ClearAllDamage() {
for (new i = 1; i <= 32; i++) {
for (new j = 1; j <= 32; j++) {
g_iDamageDealt[i][j] = 0
}
}
}
UpdateScoreboard(id) {
message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"))
write_byte(id)
write_short(g_iSavedKills[id])
write_short(g_iSavedDeaths[id])
write_short(0)
write_short(get_user_team(id))
message_end()
}
benim attığımda çalışıyor sadece 200 dolar para verecek
bir de armoru algılamıyor, adamın hasarını armor yokmuş gibi görüyor
bir de bunun haricinde hg attığımızdaki damage yanlış çünkü benim serverımda bomba hasarı düşürme plugini var. Ona göre entegre edilip damage hasarını görmeli.
bahsettiğim bomba hasar düşürme plugini @emperor adlı arkadaşımızın attığının aynısı. Bunu asist pluginine entegre etmek gerek.
)

