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

Szukam pluginu który odradza gracza. Na CODa.


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

#1 D.Villa

    Życzliwy

  • Użytkownik

Reputacja: -2
Nowy

  • Postów:37
  • Imię:G4FUN
  • Lokalizacja:4FUN
Offline

Napisano 08.02.2012 11:30

Tak jak w tytule.
Szukam pluginu który odradza gracza po zabiciu w różnych miejscach na mapie, a nie tylko na respie.
Tak jak na DM.
I prosiłbym o ty by pasował na CoDa, żeby nic nie rozwalić.

Będę bardzo wdzięczny !

Daje + :)
  • +
  • -
  • 0
Zamierzasz kupić serwer ?

Pamiętaj ! Nie kupuj serwera

na OwnServer.pl !

#2 krystek1299

    Zaawansowany

  • Zbanowany

Reputacja: 3
Nowy

  • Postów:117
  • Lokalizacja:Polska
Offline

Napisano 08.02.2012 11:34

Na końcu masz:

http://amxx.pl/topic...odradzanie-sie/

#3 FetaGreen

    Profesjonalista

  • Użytkownik

Reputacja: 40
Pomocny

  • Postów:178
  • Imię:Łukasz
  • Lokalizacja:Nysa
Offline

Napisano 08.02.2012 13:13

Sprawdź:

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>

new Float:g_spawn_vec[60][3];
new Float:g_spawn_angle[60][3];
new Float:g_spawn_v_angle[60][3];

new bool:g_first_spawn[33];

new g_total_spawn = 0;

public plugin_init() {
    register_plugin("Respawn", "0.1", "FetaGreen");
    
    register_event("DeathMsg", "event_Death", "a");
    
    csdm_respawn();
}

public event_death_msg(){
    new ofiara = read_data(2);
        
    if(!is_user_alive(ofiara)){
        set_task(3.0, "cmdRespawn", ofiara);
    }
}

public cmdRespawn(ofiara){
        ExecuteHamB(Ham_CS_RoundRespawn, ofiara);
}

csdm_respawn(){   
    new map[32], config[32],  mapfile[64];
    
    get_mapname(map, 31);
    get_configsdir(config, 31);
    format(mapfile, 63, "%s\csdm\%s.spawns.cfg", config, map);
    g_total_spawn = 0;
    
    if (file_exists(mapfile)) {
        new new_data[124], len;
        new line = 0;
        new pos[12][8];
        
        while(g_total_spawn < 60 && (line = read_file(mapfile , line , new_data , 123 , len) ) != 0 ) {
            if (strlen(new_data)<2 || new_data[0] == '[')
                continue;
            
            parse(new_data, pos[1], 7, pos[2], 7, pos[3], 7, pos[4], 7, pos[5], 7, pos[6], 7, pos[7], 7, pos[8], 7, pos[9], 7, pos[10], 7);
            
            g_spawn_vec[g_total_spawn][0] = str_to_float(pos[1]);
            g_spawn_vec[g_total_spawn][1] = str_to_float(pos[2]);
            g_spawn_vec[g_total_spawn][2] = str_to_float(pos[3]);
            
            g_spawn_angle[g_total_spawn][0] = str_to_float(pos[4]);
            g_spawn_angle[g_total_spawn][1] = str_to_float(pos[5]);
            g_spawn_angle[g_total_spawn][2] = str_to_float(pos[6]);
            
            g_spawn_v_angle[g_total_spawn][0] = str_to_float(pos[8]);
            g_spawn_v_angle[g_total_spawn][1] = str_to_float(pos[9]);
            g_spawn_v_angle[g_total_spawn][2] = str_to_float(pos[10]);
            
            g_total_spawn++;
        }
        
        if (g_total_spawn >= 2)
            RegisterHam(Ham_Spawn, "player", "csdm_player_spawn", 1);
    }
    return 1;
}

public csdm_player_spawn(id){
    if (!is_user_alive(id) || get_user_team(id) == 2)
        return;
    
    if (g_first_spawn[id]){
        g_first_spawn[id] = false;
        return;
    }
    
    new list[60];
    new num = 0;
    new final = -1;
    new total=0;
    new players[32], n, x = 0;
    new Float:loc[32][3], locnum;
    
    get_players(players, num);
    
    for (new i=0; i<num; i++){
        if (is_user_alive(players[i]) && players[i] != id){
            pev(players[i], pev_origin, loc[locnum]);
            locnum++;
        }
    }
    
    num = 0;
    
    while (num <= g_total_spawn){
        if (num == g_total_spawn)
            break;
        n = random_num(0, g_total_spawn-1);
        if (!list[n]){
            list[n] = 1;
            num++;
        }
        else {
            total++;
            if (total > 100)
                break;
            continue;
        }
        
        if (locnum < 1){
            final = n;
            break;
        }
        
        final = n;
        for (x = 0; x < locnum; x++){
            new Float:distance = get_distance_f(g_spawn_vec[n], loc[x]);
            if (distance < 250.0){
                final = -1;
                break;
            }
        }
        if (final != -1)
            break;
    }
    if (final != -1){
        new Float:mins[3], Float:maxs[3];
        pev(id, pev_mins, mins);
        pev(id, pev_maxs, maxs);
        engfunc(EngFunc_SetSize, id, mins, maxs);
        engfunc(EngFunc_SetOrigin, id, g_spawn_vec[final]);
        set_pev(id, pev_fixangle, 1);
        set_pev(id, pev_angles, g_spawn_angle[final]);
        set_pev(id, pev_v_angle, g_spawn_v_angle[final]);
        set_pev(id, pev_fixangle, 1);
    }
}  



  • +
  • -
  • 1

#4 D.Villa

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: -2
Nowy

  • Postów:37
  • Imię:G4FUN
  • Lokalizacja:4FUN
Offline

Napisano 09.02.2012 20:41

FetaGreen Nie działa..
Nadal poszukuje pluginu ! Będę wdzięczny.
Autorespawn w róznych miejscach na mapie. Nie na respie !
  • +
  • -
  • 0
Zamierzasz kupić serwer ?

Pamiętaj ! Nie kupuj serwera

na OwnServer.pl !




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

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