Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#define PLUGIN "[JailBreak] Sarkac Oyunu"
#define VERSION "1.0"
#define AUTHOR "Fatih ~ EjderYa"
new OyunDurumu , OyunIcinde[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "Yeni_Tur_Basladi", "a", "1=0", "2=0")
register_clcmd("say /sarkac","Sarkac_Baslangic_Kontrolu")
register_clcmd("say .sarkac","Sarkac_Baslangic_Kontrolu")
}
public Oyundisi_oyuncu_kontrolu(){
if ( OyunDurumu == 1 ){
new Oyuncular[32],T_Oyuncular
get_players(Oyuncular,T_Oyuncular,"ae","TERRORIST")
for ( new i ; i < T_Oyuncular ; i++ ) if ( OyunIcinde[Oyuncular[i]] != 1 ) Oyuncuyu_Oyuna_Ekle(Oyuncular[i])
set_task(5.0,"Oyundisi_oyuncu_kontrolu")
}
}
public Oyuncuyu_Oyuna_Ekle(id){
OyunIcinde[id] = 1
set_user_health(id,random_num(90,125))
set_task(float(id)/10.0,"Sarkac_Islemleri",id)
}
public Oyunu_Baslat(){
set_cvar_num("sv_gravity",800)
OyunDurumu = 1
new Oyuncular[32],T_Oyuncular
get_players(Oyuncular,T_Oyuncular,"ae","TERRORIST")
for ( new i ; i < T_Oyuncular ; i++ ) Oyuncuyu_Oyuna_Ekle(Oyuncular[i])
Oyundisi_oyuncu_kontrolu()
}
public Sarkac_Baslangic_Kontrolu(id){
if( cs_get_user_team(id) == CS_TEAM_CT ){
if( OyunDurumu != 0 ) client_print_color(0,print_team_default,"^3Sarkac Oyunu Zaten ^4ACIK")
else
{
new Isim[36]
get_user_name(id,Isim,charsmax(Isim))
client_print_color(0,print_team_default,"^4%s ^3Isimli Gardiyan ^4Sarkac Oyunu^3nu Baslattti.",Isim)
Oyunu_Baslat()
}
}
else client_print_color(0,print_team_default,"^4Sarkac Oyunu^3nu Baslatabilmek Icin ^4Gardiyan ^3Olmalisiniz.")
}
public Yeni_Tur_Basladi() Sifirla(0)
public Sifirla(id){
if( id == 0 ){
OyunDurumu = 0
new Oyuncular[32],Numara
get_players(Oyuncular,Numara)
for ( new i ; i < Numara ; i++ ) OyunIcinde[Oyuncular[i]] = 0
}
else
{
set_user_health(id,100)
set_pev(id,pev_gravity,1.0)
set_user_godmode(id,0)
Renk_Ver(id,0,0,0,255)
}
}
public Sarkac_Islemleri(id){
if ( OyunDurumu != 1 )
return PLUGIN_HANDLED
new Oyuncular[32],T_Oyuncular
get_players(Oyuncular,T_Oyuncular,"ae","TERRORIST")
if ( T_Oyuncular == 1 && is_user_alive(id) ) Kazandi(id) , set_task(1.0,"Kazandi",id) , set_task(7.0,"Sifirla",id) , Sifirla(0)
else if ( is_user_alive(id) ){
new Float:HIZ[3]
pev(id,pev_velocity,HIZ)
if ( floatabs(HIZ[2]) >= random_float(1000.0,500.0) ){
if ( random_num( 0,1 ) == random_num( 0,1 ) ) set_pev(id,pev_velocity, {0.0,0.0,0.0})
}
else if ( HIZ[2] == 0 ){
if ( Duvar_Ici(id,-1.0) && !Duvar_Ici(id,1.0) ){
new Float:Konum[3]
pev(id,pev_origin,Konum)
Konum[2] += 1
set_pev(id,pev_origin,Konum)
set_pev(id,pev_velocity, {0.0,0.0,300.0})
}
}
new Float:Cekim
pev(id,pev_gravity,Cekim)
if ( random_num( 0,5 ) == random_num( 0,5 ) ){
if ( Yerden_Yukseklik(id) > 750 ) Cekim = random_float(0.0,5.0)
{
if ( random_num(0,6) == random_num(0,5) ) set_pev(id,pev_velocity, {0.0,0.0,-555.0})
else Cekim = random_float(-3.0,5.0)
}
}
else
Cekim = random_float(-1.0,1.0)
if ( random_num( 0,3 ) == random_num( 0,3 ) ) set_user_health(id,get_user_health(id) + random_num(-4,1))
set_pev(id,pev_gravity,Cekim)
set_task(random_float(0.2,0.4),"Sarkac_Islemleri",id)
}
return PLUGIN_HANDLED
}
public Kazandi(id){
set_pev(id,pev_gravity,0.2)
set_pev(id,pev_velocity,{0.0,0.0,0.0})
set_user_godmode(id,1)
Renk_Ver(id,20,200,20,200)
ekrani_parlat(id)
}
stock ekrani_parlat(id){
new ScreenFade = get_user_msgid("ScreenFade")
const UnitSecond = (1<<12)
message_begin(MSG_ONE_UNRELIABLE, ScreenFade, _, id)
write_short(UnitSecond*5)
write_short(UnitSecond*0)
write_short(0x0000)
write_byte(0)
write_byte(255)
write_byte(0)
write_byte(180)
message_end()
}
stock Renk_Ver(id,KIRMIZI,YESIL,MAVI,SAYDAMLIK) set_user_rendering(id,kRenderFxGlowShell,KIRMIZI,YESIL,MAVI,kRenderNormal,SAYDAMLIK)
stock Duvar_Ici(Id,Float:Sayi)
{
static Float:Origin[3]
pev(Id, pev_origin, Origin)
Origin[2] += Sayi
engfunc(EngFunc_TraceHull, Origin, Origin, IGNORE_MONSTERS, pev(Id, pev_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN, 0, 0)
if (get_tr2(0, TR_StartSolid))
return true
return false
}
stock Yerden_Yukseklik(Id)
{
new Yukseklik , Durum
for ( new i ; Durum != 1; i++){
static Float:Origin[3]
pev(Id, pev_origin, Origin)
Origin[2] -= i*10.0
engfunc(EngFunc_TraceHull, Origin, Origin, IGNORE_MONSTERS, pev(Id, pev_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN, 0, 0)
if (get_tr2(0, TR_StartSolid))
Durum = 1 , Yukseklik = i * 10
}
return Yukseklik
}
@Fatih ~ EjderYa Dostum merhaba size ait bu plugin sona kalan oyuncu sayısını biz kendimiz belirleyebilrimiyiz oyunu başlattığımız zaman sol üste messagemod şeklinde kalan oyuncuyu belırleyelım kanka teşekkürler