1. sayfa (Toplam 1 sayfa)
İSTEK Takım Değiştirme
Gönderilme zamanı: Pzr May 16, 2021 9:43 pm
gönderen sinancalisci
Merhaba DM bir mapta 20 dakika oynandıktan sonra otomatik olarak takımlar yer değiştirsin istiyorum ve değişiklik olduktan sonra fragları sıfırlamaması gerek eklentiyi düzenleyebilirmisiniz?
İSTEK Takım Değiştirme
Gönderilme zamanı: Pzr May 16, 2021 9:47 pm
gönderen afan1990
round süresini 20 dk yaparsan 2.round başladığında takımlar değişecektir ben böyle bişey düşündüm başkası istediğin gibi bişey yapabilir bilemiyorum
Kod: Tümünü seç
#include <amxmodx>
#include <cstrike>
#define DEGISECEKROUND 2
new saydir=0;
new degisti=0;
public plugin_init() {
register_plugin("Takim Degistirme", "1.0", "marKeL");
register_event("TextMsg", "res", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
register_event("SendAudio", "tewin", "a", "2&%!MRAD_terwin");
register_event("SendAudio", "ctwin", "a", "2&%!MRAD_ctwin");
register_event("SendAudio", "berabere", "a", "2&%!MRAD_rounddraw");
}
public res()
{
saydir=0;
set_task(1.0,"sorgula");
}
public tewin()
{
saydir++;
set_task(1.0,"sorgula");
}
public ctwin()
{
saydir++;
set_task(1.0,"sorgula");
}
public berabere()
{
saydir++;
set_task(1.0,"sorgula");
}
publi
İSTEK Takım Değiştirme
Gönderilme zamanı: Pzr May 16, 2021 10:28 pm
gönderen afan1990
ilkini tam atmamışım kb buyur
Kod: Tümünü seç
#include <amxmodx>
#include <cstrike>
#define DEGISECEKROUND 2
new saydir=0;
new degisti=0;
public plugin_init() {
register_plugin("Round Takim Degistirme", "1.1", "marKeL");
register_event("TextMsg", "res", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
register_event("SendAudio", "tewin", "a", "2&%!MRAD_terwin");
register_event("SendAudio", "ctwin", "a", "2&%!MRAD_ctwin");
register_event("SendAudio", "berabere", "a", "2&%!MRAD_rounddraw");
}
public res()
{
saydir=0;
set_task(1.0,"sorgula");
}
public tewin()
{
saydir++;
set_task(1.0,"sorgula");
}
public ctwin()
{
saydir++;
set_task(1.0,"sorgula");
}
public berabere()
{
saydir++;
set_task(1.0,"sorgula");
}
public sorgula(){
if(saydir >= DEGISECEKROUND && degisti==0){
set_hudmessage(0,255,0,-1.0,0.0,0,12.0,5.0);
show_hudmessage(0,"Takimlar Yer Degistiriyor.");
new players[32], inum, id;
get_players(players, inum);
for(new i;i<inum;i++){
id = players[i]
if(get_user_team(id) == 2){
cs_set_user_team(id, CS_TEAM_T );
}
else if(get_user_team(id) == 1){
cs_set_user_team(id, CS_TEAM_CT );
}
}
server_cmd("sv_restart 1");
degisti = 1;
}
}
İSTEK Takım Değiştirme
Gönderilme zamanı: Pzr May 16, 2021 10:45 pm
gönderen bestcore
afan1990 yazdı: Pzr May 16, 2021 10:28 pm
ilkini tam atmamışım kb buyur

Cstrike değilde bu olayı reapi kütüphanesiyle kolaylıkla yapabilirsiniz. Demek istediğim 4 tane register oluşturacağına "RG_RoundEnd" ile tek registerde bitirebilirsiniz.
Örneklerini aşşağıya bırakıyorum;
Kod: Tümünü seç
#include <reapi> // Reapi kütüphanesi kurulu olmalıdır.
RegisterHookChain(RG_RoundEnd, "RG_RoundEnd_Post", .post = true); // Post true olmalıdır.
public RG_RoundEnd_Post(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
{
switch(status)
{
case WINSTATUS_CTS:
{
// Roundu ct kazandiysa.
}
case WINSTATUS_TERRORIST:
{
// Roundu te kazandiysa.
}
case WINSTATUS_DRAW:
{
// Round berabere bittiyse.
}
}
}
* Ekstra olarak sunucuda bulunan bir cvar için "set_pcvar_num" kullanmanız daha sağlıklı olur.
Kod: Tümünü seç
set_pcvar_num(get_cvar_pointer("sv_restart"), 1);
İSTEK Takım Değiştirme
Gönderilme zamanı: Pzr May 16, 2021 11:04 pm
gönderen afan1990
bestcore yazdı: Pzr May 16, 2021 10:45 pm
afan1990 yazdı: Pzr May 16, 2021 10:28 pm
ilkini tam atmamışım kb buyur

Cstrike değilde bu olayı reapi kütüphanesiyle kolaylıkla yapabilirsiniz. Demek istediğim 4 tane register oluşturacağına "RG_RoundEnd" ile tek registerde bitirebilirsiniz.
Örneklerini aşşağıya bırakıyorum;
Kod: Tümünü seç
#include <reapi> // Reapi kütüphanesi kurulu olmalıdır.
RegisterHookChain(RG_RoundEnd, "RG_RoundEnd_Post", .post = true); // Post true olmalıdır.
public RG_RoundEnd_Post(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
{
switch(status)
{
case WINSTATUS_CTS:
{
// Roundu ct kazandiysa.
}
case WINSTATUS_TERRORIST:
{
// Roundu te kazandiysa.
}
case WINSTATUS_DRAW:
{
// Round berabere bittiyse.
}
}
}
* Ekstra olarak sunucuda bulunan bir cvar için "set_pcvar_num" kullanmanız daha sağlıklı olur.
Kod: Tümünü seç
set_pcvar_num(get_cvar_pointer("sv_restart"), 1);
önerilerin için teşekkürler,yeni başladığım için önerilerini dikkate alacağım
