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

Edycja pluginu na only dd2Z restartu na zmianę mapy

Modyfikacja

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

#1 hary

    Pomocny

  • Zbanowany

Reputacja: 1
Nowy

  • Postów:66
  • Imię:Szymon
  • Lokalizacja:Torun
Offline

Napisano 22.09.2011 09:23

Witam proszę o przerobienie już istniejącego pluginu dd2_final tak, aby nie robił restartu tylko normalnie zmieniał mapę na DD2.

Proszę o szybką pomoc.

Załączone pliki



#2 _Marcin

    Wszechwidzący

  • Przyjaciel

Reputacja: 7
Nowy

  • Postów:232
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Płock
Offline

Napisano 22.09.2011 11:32

Wstaw w map cyklu tylko d2 wyłącz chooser i finioto.
  • +
  • -
  • 0

#3 hary

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:66
  • Imię:Szymon
  • Lokalizacja:Torun
Offline

Napisano 23.09.2011 10:16

Ale to nie chodzi o to. Bo ten plugin działa tak, że po X przegranych rundach zamienia strony najpierw grasz w CT powiedzmy do 5 rund, a później do 5 w TT i po 10 przegranych rundach + ewentualnie dogrywce robi się RESTART mapy, a ja chciałbym normalną ZMIANĘ mapy na DD2.

Pomoże ktoś? Zależy mi na tym.

#4 naXe

    Banned

  • Zbanowany

Reputacja: 269
Wszechwidzący

  • Postów:1 489
  • GG:
  • Steam:steam
  • Lokalizacja:Kwidzyn
Offline

Napisano 23.09.2011 10:50

zmień:

set_cvar_num("sv_restart", 3);

na:

set_cvar_num("changelevel de_dust2", 3);



#5 hary

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:66
  • Imię:Szymon
  • Lokalizacja:Torun
Offline

Napisano 24.09.2011 08:57

Nie działa, wcale nie zmienia mapy dodatkowo po zmianie drużyn zamiast 800$ na start ma się kasę którą uzbierało się w poprzednim teamie.

Niech się ktoś zlituje mamy tu tyle fachowców więc mógł by ktoś być tak miły :) Tutaj link do tematu z pluginem w razie czego http://amxx.pl/topic...2-restart-mapy/

#6 naXe

    Banned

  • Zbanowany

Reputacja: 269
Wszechwidzący

  • Postów:1 489
  • GG:
  • Steam:steam
  • Lokalizacja:Kwidzyn
Offline

Napisano 24.09.2011 10:19

set_cvar_num("amx_map de_dust2", 3);
? Spróbuj
Są różne komendy na zmianę mapy

#7 byCZUS

    Listonosz

  • Support Team

Reputacja: 752
Guru

  • Postów:459
  • GG:
  • Steam:steam
  • Lokalizacja:GW
Offline

Napisano 24.09.2011 11:04

naXe najz ogar jak by co to tak się tego używa
set_cvar_string("amx_map", "de_dust2");


na amxx.pl jest stara ver pluginu =]

Użytkownik byCZUS edytował ten post 24.09.2011 11:04

  • +
  • -
  • 4

Dziękuje, dobranoc.


#8 naXe

    Banned

  • Zbanowany

Reputacja: 269
Wszechwidzący

  • Postów:1 489
  • GG:
  • Steam:steam
  • Lokalizacja:Kwidzyn
Offline

Napisano 24.09.2011 11:48

A no jo :D
Co ja napisałem

Porażka, wstyd :/

#9 hary

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:66
  • Imię:Szymon
  • Lokalizacja:Torun
Offline

Napisano 25.09.2011 17:41

Nadal dzieje się to samo o czym pisałem wyżej. Proszę jakiegoś fachowca o pomoc.

#10 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 26.09.2011 08:11

server_cmd("changelevel de_dus2")
ew.
server_cmd("amx_map de_dust2")

pod
cs_set_user_team(players[i], cs_get_user_team(players[i]) == CS_TEAM_CT ? CS_TEAM_T : CS_TEAM_CT);
dodaj
cs_set_user_money(players[i], 800)
  • +
  • -
  • 0

#11 hary

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:66
  • Imię:Szymon
  • Lokalizacja:Torun
Offline

Napisano 26.09.2011 14:45

Nie działa. Zacznijmy od początku opis pluginu macie w tym linku http://amxx.pl/topic...2-restart-mapy/ ale każdy ogarniający pisanie pluginów pozna jego działanie po przejrzeniu .sma Chciałbym tylko żeby mapa się nie resetowała tylko zmieniała cała reszta niech zostanie jak była.

#12 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 26.09.2011 20:38

Czyli albo idziesz złą linijkę zamieniasz albo kodu nie kompilujesz
Jesteś pewny, że zamieniasz to: set_cvar_num("sv_restartround", 1); ?
  • +
  • -
  • 0

#13 hary

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:66
  • Imię:Szymon
  • Lokalizacja:Torun
Offline

Napisano 27.09.2011 15:20

Tak dobrze?

/*
  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[] = "!t[DD2]";

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!g Mamy remis, 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!g Wygrali Terrorysci %d/%d", tag, tt, ct);
        else msg(0, "%s!g Wygrali Anty Terrorysci %d/%d", tag, ct, tt);    
        if(get_pcvar_num(prestart)) WymusRes(50);
        ct = tt = 0;
    } else {
        msg(0, "%s!g Restart mapy za %d rund%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);
        cs_set_user_money(players[i], 800)
    }
    msg(0, "%s!g 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!g Najlpeszym graczem jest !t%s (%d/%d)", 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]", param[0]);
    
    param[0]--;
    
    if(param[0] >= 0) { set_task(1.0, "WyswietlRes", _, param, 1); }
    else {
        server_cmd("changelevel de_dus2")
        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();
    }
}


#14 Pittero

    Wszechwiedzący

  • Użytkownik

Reputacja: 40
Pomocny

  • Postów:545
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 27.09.2011 19:40

Masakra, myślcie trochę...
Znajdz:
  set_cvar_num("sv_restart", 3);
Zamień na:
server_cmd("changelevel de_dust")

  • +
  • -
  • 0

#15 hary

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:66
  • Imię:Szymon
  • Lokalizacja:Torun
Offline

Napisano 30.09.2011 15:58

Ok to pomogło tylko, ze teraz mapa zmienia się za szybko bo już po przegraniu X rund w jednej drużynie, a normalnie po przegraniu X rund powinno zrobić zamianę drużyn.

Odświeżam już nie wiele zostało.

Proszę o pomoc.

#16 byCZUS

    Listonosz

  • Support Team

Reputacja: 752
Guru

  • Postów:459
  • GG:
  • Steam:steam
  • Lokalizacja:GW
Offline

Napisano 30.09.2011 16:08

Omgf testuj to, tu jest najnowsza ver pluginu + usunięty res.

/*
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
1.7 - dodanie dzwiekow na koniec gry (mp3), dodano limit 2 graczy by rundy zbednie sie nie dodawaly
1.8 - dodanie opcji only 1 bs

http://amxx-dev.pl

rr_limit - ilosc granych rund
rr_change 0/1 - zamiana druzyn po ukonczeniu rund
rr_plainfo 0/1 - czy pokazywac info o najlepszym graczu
rr_winsound 0/1 - czy ma odgrywac piosenki
rr_only1bs 0/1 - czy gramy tylko na A (LICZBA Graczy LIMIT_GRACZY_B)
*/

#include <amxmodx>
#include <fakemeta>

#pragma semicolon 1

#define LIMIT_GRACZY_B 6
#define RESPAWN 9875

enum { MIN = 0, MAX };

// Dzwieki TT, CT w mp3 !
new const d[][] = { "sound/misc/dev/terwin.mp3", "sound/misc/dev/ctwin.mp3" };

// Polozenie bombsite (B)
new Float: xyz[][] = {
{ -1736.3, 2348.1, -59.9 },
{ -1356.3, 2878.1, 160.0 }
};

new tt, ct, plimit, pchange, pinforma, psoundy, ponly1bs;
new SayText, SyncHudObj;
new bool: byla_zmiana;
new tag[] = "!t[ amxx-dev.pl ]";

public plugin_precache() {
plimit = register_cvar("rr_limit", "20");
pchange = register_cvar("rr_change", "1");
pinforma = register_cvar("rr_plainfo", "1");
psoundy = register_cvar("rr_winsound", "1");
ponly1bs = register_cvar("rr_only1bs", "1");

if(get_pcvar_num(psoundy)) {
precache_sound(d[0]);
precache_sound(d[1]);
}
}

public plugin_init() {
register_plugin("DD2", "1.8", "byQQ");

register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0");
register_event("BarTime", "event_BarTime", "be", "1=3");

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

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

byla_zmiana = false;
}

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!g Mamy remis, runda rozstrzygajaca", tag);
return;
}

if(get_pcvar_num(pchange)) {
if(!byla_zmiana) ZamianaTeam();
else server_cmd("changelevel de_dust2");
}
if(tt > ct) {
msg(0, "%s!g Wygrali Terrorysci %d/%d", tag, tt, ct);
if(get_pcvar_num(psoundy)) client_cmd(0, "stopsound; mp3 stop; mp3 play %s", d[0]);
}
else {
msg(0, "%s!g Wygrali Anty Terrorysci %d/%d", tag, ct, tt);
if(get_pcvar_num(psoundy)) client_cmd(0, "stopsound; mp3 stop; mp3 play %s", d[1]);
}
ct = tt = 0;
} else {
msg(0, "%s!g Restart mapy za %d rund%s", tag, pozos, (pozos == 1) ? "e" : (pozos < 5) ? "y" : "");

if(get_pcvar_num(pinforma)) ZwrocNajlepszego();
}
}

public event_BarTime(id) {
if(!is_user_alive(id) || get_playersnum() >= LIMIT_GRACZY_B || !get_pcvar_num(ponly1bs))
return PLUGIN_CONTINUE;

if(gracz_na_b(id) && get_user_team(id) == 1) {
set_hudmessage(250, 70, 0, -1.0, 0.4, 0, 0.0, 3.0);
ShowSyncHudMsg(id, SyncHudObj, "Zbyt malo graczy by tu klasc^nOgarnij sie!");

client_cmd(id, "drop weapon_c4");
}
return PLUGIN_CONTINUE;
}

public message_TextMsg(const MsgId, const MsgDest, const MsgEntity) {
static message[32]; get_msg_arg_string(2, message, charsmax(message));

if(get_playersnum() < 2)
return PLUGIN_CONTINUE;

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++; }

return PLUGIN_CONTINUE;
}

public ZamianaTeam() {
new players[32], num;
get_players(players, num, "ch");

for(new i = 0; i < num; i++) {
fm_set_user_team(players[i], (get_user_team(players[i]) == 2) ? 1 : 2);
}
msg(0, "%s!g Zamieniam druzyny!", tag);

byla_zmiana = true;
}

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!g Najlepszym graczem jest !t%s (%d/%d)", tag, name, top[0], top[1]);
}

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();
}
}

stock gracz_na_b(id) {
new Float: fO[3]; pev(id, pev_origin, fO);

if(xyz[MIN][0] < fO[0] && xyz[MIN][1] < fO[1] && xyz[MIN][2] < fO[2] && xyz[MAX][0] > fO[0] && xyz[MAX][1] > fO[1] && xyz[MAX][2] > fO[2])
return 1;

return 0;
}

stock fm_set_user_team(id, team) {
if(!is_user_connected(id))
return 0;

set_pdata_int(id, 114, team);

dllfunc(DLLFunc_ClientUserInfoChanged, id, engfunc(EngFunc_GetInfoKeyBuffer, id));

return 1;
}

Użytkownik byCZUS edytował ten post 30.09.2011 16:11

  • +
  • -
  • 1

Dziękuje, dobranoc.


#17 hary

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:66
  • Imię:Szymon
  • Lokalizacja:Torun
Offline

Napisano 09.10.2011 13:12

byCZUS, dzięki, ale jest jeszcze problem po zmianie teamów nie resetuje fragów i kasy co do fragów to trochę się pogubiłem i już nie pamiętam czy powinno je resetować czy nie no ale kasę powinno na pewno. Do tego nie wiem jak ustawić limit graczy od których można grać BS B Ustawiłem tu
#define LIMIT_GRACZY_B 4
na 4 ale nie działa

Wszystko działa oprócz limitu BS'ów. BS B powinien się odblokowywać kiedy w CT jest 4 graczy, ale tego nie robi proszę o pomoc.

Spoiler


Można by się wspomóc kodem z tego pluginu http://amxx.pl/topic/16956-bs-limiter/

Pomocy

Załącznik dodany, nadal proszę o pomoc.

Odświeżam może do grudnia ktoś się zlituje.

Odświeżam
Onyke (06.10.2011 15:39):
Kod w postach(np. źródło pluginu) umieszczaj w odpowiednich tagach(code/php/spoiler itp) a powyżej 200 linijek tylko w załączniku.

Załączone pliki


Użytkownik hary edytował ten post 07.10.2011 09:35


#18 QuahodronN

    Godlike

  • Power User

Reputacja: 230
Wszechwidzący

  • Postów:1 262
  • GG:
  • Steam:steam
  • Imię:Olo
  • Lokalizacja:Śląsk
Offline

Napisano 30.12.2011 15:08

#define LIMIT_GRACZY_B 4


kiedy to ustawiasz na 4 to gdy na serwerze sa 4 osoby to mozna klas na b (2cT 2 TT)

  • +
  • -
  • 0

| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |

| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB  |  PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 Headphones: HyperX HX Cloud Black Display: Triple LG 24MP67VQ-P |

 

TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały ;)






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