İSTEK Takım Değiştirme
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 35
- Kayıt: Pzr Eki 11, 2020 11:04 pm
İSTEK Takım Değiştirme
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?
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
-
- Mesajlar: 67
- Kayıt: Çrş Ağu 26, 2020 1:49 pm
- Konum: Makedonya/Üsküp
İSTEK Takım Değiştirme
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
Link: | |
Linklerini gizle |
-
- Mesajlar: 67
- Kayıt: Çrş Ağu 26, 2020 1:49 pm
- Konum: Makedonya/Üsküp
İSTEK Takım Değiştirme
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;
}
}
Link: | |
Linklerini gizle |
-
- Mesajlar: 1625
- Kayıt: Cmt Eyl 30, 2017 12:44 pm
- Konum: Samsun
İSTEK Takım Değiştirme
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.
}
}
}
Kod: Tümünü seç
set_pcvar_num(get_cvar_pointer("sv_restart"), 1);
Link: | |
Linklerini gizle |
-
- Mesajlar: 67
- Kayıt: Çrş Ağu 26, 2020 1:49 pm
- Konum: Makedonya/Üsküp
İSTEK Takım Değiştirme
önerilerin için teşekkürler,yeni başladığım için önerilerini dikkate alacağımbestcore yazdı: Pzr May 16, 2021 10:45 pmCstrike 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;* Ekstra olarak sunucuda bulunan bir cvar için "set_pcvar_num" kullanmanız daha sağlıklı olur.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. } } }
Kod: Tümünü seç
set_pcvar_num(get_cvar_pointer("sv_restart"), 1);

Link: | |
Linklerini gizle |