Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Modyfikacja

Zmiana rozgrzewki

Modyfikacja

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 Mexas

    Początkujący

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:15
  • Imię:Patryk
  • Lokalizacja:Czeladź
Offline

Napisano 16.03.2013 11:40

Witam,

Czy mógłby mi ktoś przerobić ten plugin:
/*
  Changelog:
   1.0 - pierwsze wydanie pluginu.
   1.1 - poprawione zaliczanie punktu za wybuch C4
   1.2 - dodana opcja zamiany druzyn
   1.3 - dodanie rozgrzewki (pierwsza runda)
   1.4 - lekkie bugfixy
   1.5 - dodanie najlepszego gracza
   1.6 - poprawione bledy
  
   http://amxx-dev.pl
  
   rr_limit - ilość granych rund
   rr_change 0/1 - zamiana druzyn po ukończeniu rund
   rr_restart 0/1 - czy 1 runda to rozgrzewka
   rr_plainfo 0/1 - czy pokazywac info o najlepszym graczu
*/
#include <amxmodx>
#include <cstrike>
new tt, ct, plimit, pchange, prestart, pinforma;
new SayText, SyncHudObj;
new tag[] = "!gClear-Skill.pl";
public plugin_init() {
register_plugin("DD2", "1.6", "byQQ");

register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0");

register_message(get_user_msgid("TextMsg"), "message_TextMsg");

plimit = register_cvar("rr_limit", "20");
pchange = register_cvar("rr_change", "1");
prestart = register_cvar("rr_restart", "1");
pinforma = register_cvar("rr_plainfo", "1");

SyncHudObj = CreateHudSyncObj();
SayText = get_user_msgid("SayText");

if(get_pcvar_num(prestart))
  WymusRes(60);
}
public WymusRes(czas) {
new param[1]; param[0] = czas;
set_task(1.0, "WyswietlRes", _, param, 1);
}
public event_RoundStart() {
new limit = get_pcvar_num(plimit);
new sumka = ct+tt;
new pozos = limit - (ct+tt);
 
if(sumka >= limit) {
  if(ct == tt) {
   msg(0, "%s!y # Mamy !tremis!y, runda rozstrzygajaca!", tag);
   return;
  }
 
  if(get_pcvar_num(pchange)) ZamianaTeam();
 
  set_cvar_num("sv_restart", 3);
  set_cvar_num("amx_reloadadmins", 1);
  if(tt > ct) msg(0, "%s!y # Wygrali Terrorysci (!t%d!y/!t%d!y)", tag, tt, ct);
  else msg(0, "%s!y # Wygrali Anty Terrorysci (!t%d!y/!t%d!y)", tag, ct, tt);
  if(get_pcvar_num(prestart)) WymusRes(50);
  ct = tt = 0;
} else {
  msg(0, "%s!y # Restart mapy za !t%d !yrund%s.", tag, pozos, (pozos == 1) ? "e" : (pozos < 5) ? "y" : "");
 
  if(get_pcvar_num(pinforma)) ZwrocNajlepszego();
}
}
public message_TextMsg(const MsgId, const MsgDest, const MsgEntity) {	  
static message[32]; get_msg_arg_string(2, message, charsmax(message));
 
if(equal(message, "#Game_will_restart_in")) { Wyzeruj(); }
else if(equal(message, "#Terrorists_Win") || equal(message, "#Target_Bombed")) { tt++; }
else if(equal(message, "#CTs_Win")) { ct++; }
}
public ZamianaTeam() {
new players[32], num;
get_players(players, num);

for(new i = 0; i < num; i++) { 
  cs_set_user_team(players[i], cs_get_user_team(players[i]) == CS_TEAM_CT ? CS_TEAM_T : CS_TEAM_CT);
}
msg(0, "%s!y # Zamieniam druzyny!", tag);
}
public Wyzeruj() ct = tt = 0;
public ZwrocNajlepszego() {
new players[32], num;
get_players(players, num);

new fragi, dedy, top[4];
for(new i = 0; i < num; i++) {
  new id = players[i];
  if(!is_user_connected(id) || is_user_hltv(id)) continue;
 
  fragi = get_user_frags(id);
  dedy = get_user_deaths(id);
 
  new suma = fragi*2 - dedy;
 
  if(suma > top[3]) {
   top[0] = fragi;						   // Fragi najlepszego
   top[1] = dedy;		  // Dedy najlepszego
   top[2] = id;							  // ID najlepszego
   top[3] = top[0]*2 - top[1];			 // Bilans do dalszego porownania
  }
}

if(!top[2]) return;

new name[33]; get_user_name(top[2], name, 32);

msg(0, "%s!y # Najlepszym graczem jest !t%s !y(!t%d!y/!t%d!y)", tag, name, top[0], top[1]);
}
public WyswietlRes(param[])
{
set_hudmessage(0, 255, 0, 0.65, 0.75, 0, 0.0, 1.0, 0.0, 0.0);
ShowSyncHudMsg(0, SyncHudObj, "=== Rozgrzewka ===^n [Pozostaly czas: %d]^n == Clear-Skill.pl ==", param[0]);

param[0]--;

if(param[0] >= 0) { set_task(1.0, "WyswietlRes", _, param, 1); }
else {
  set_cvar_num("sv_restartround", 1);
  Wyzeruj();
}
}
stock msg(const id, const string[], {Float, Sql, Resul,_}:...) {

new msgs[191], players[32], count = 1;
vformat(msgs, sizeof msgs - 1, string, 3);

replace_all(msgs,190,"!g","^4");
replace_all(msgs,190,"!y","^1");
replace_all(msgs,190,"!t","^3");

if(id) players[0] = id;
else get_players(players,count,"ch");

new index;
for (new i = 0 ; i < count ; i++)
{
  index = players[i];
  message_begin(MSG_ONE_UNRELIABLE, SayText, _, index);
  write_byte(index);
  write_string(msgs);
  message_end();
}
}


Aby:
1) Rozgrzewka była tylko na noże (bez broni, bomby itp)
2) Rozgrzewka włączałą się wtedy gdy są minimum 2 osoby na serwerze (ponieważ wchodzę na pusty serwer i tylko ja jestem i rozgrzewka się włącza)

Myślę, że to dla kogoś nie będzie duży problem ;)

Z góry dziękuje!

#2 Mexas

    Początkujący

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:15
  • Imię:Patryk
  • Lokalizacja:Czeladź
Offline

Napisano 19.03.2013 13:42

Odświeżam!





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych