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

[ROZWIĄZANE] Jak (jeżeli się da) usunąć vipa z map as_?


Najlepsza odpowiedź Ossal, 23.01.2015 18:35

usunięcie po prostu enta info_start_vip nic nie dało, za to pomogła wersja Gutka z tego tematu :)

/* AMX Mod X
*   No Objectives
*
* (c) Copyright 2007 by VEN
*
* This file is provided as is (no warranties)
*
*    DESCRIPTION
*        Plugin allow to remove all map objectives or objectives of certain type.
*        Round timer will be disbled for maps that doesn't contain any objectives.
*
*    CVARS
*        no_objectives (flags: acde, default: acde, "": disable the plugin)
*            a - remove "as" (vip assasination) objectives
*            c - remove "cs" (hostage rescue) objectives
*            d - remove "de" (bomb defuse) objectives
*            e - remove "es" (T escape) objectives
*        Note: map change on CVar change required.
*
*    VERSIONS
*        0.3
*            - added support for all objective entities
*            - fixed: timer wasn't shown on multi objective maps if objectives wasn't completely removed
*            - improvements in objective modes routine
*        0.2
*            - disabled round timer
*            - added no_objectives CVar
*        0.1
*            - initial version
*/
 
// plugin's main information
#define PLUGIN_NAME "No Objectives"
#define PLUGIN_VERSION "0.3"
#define PLUGIN_AUTHOR "VEN"
 
#include <amxmodx>
#include <fakemeta>
 
new const g_objective_ents[][] = {
    "func_bomb_target",
    "info_bomb_target",
    "hostage_entity",
    "monster_scientist",
    "func_hostage_rescue",
    "info_hostage_rescue",
    "info_vip_start",
    "func_vip_safetyzone",
    "func_escapezone"
}
 
#define OBJTYPE_AS (1<<0)
#define OBJTYPE_CS (1<<2)
#define OBJTYPE_DE (1<<3)
#define OBJTYPE_ES (1<<4)
#define OBJTYPE_ALL (OBJTYPE_AS | OBJTYPE_CS | OBJTYPE_DE | OBJTYPE_ES)
 
#define CVAR_NAME "no_objectives"
#define CVAR_DEFAULT OBJTYPE_ALL
 
new const g_objective_type[] = {
    OBJTYPE_DE,
    OBJTYPE_DE,
    OBJTYPE_CS,
    OBJTYPE_CS,
    OBJTYPE_CS,
    OBJTYPE_CS,
    OBJTYPE_AS,
    OBJTYPE_AS,
    OBJTYPE_ES
}
 
new const bool:g_objective_prim[] = {
    true,
    true,
    true,
    false,
    false,
    false,
    false,
    true,
    true
}
 
 
 
new g_pcvar_no_objectives
 
new g_no_objectives = CVAR_DEFAULT & OBJTYPE_ALL
 
public plugin_precache() {
    if ((g_pcvar_no_objectives = get_cvar_pointer(CVAR_NAME))) {
        new cvar_val[8]
        get_pcvar_string(g_pcvar_no_objectives, cvar_val, sizeof cvar_val - 1)
        g_no_objectives = read_flags(cvar_val) & OBJTYPE_ALL
    }
 
    if (g_no_objectives)
        register_forward(FM_Spawn, "forward_spawn")
}
 
public plugin_init() {
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
 
    if (!g_pcvar_no_objectives) {
        new cvar_defval[8]
        get_flags(CVAR_DEFAULT, cvar_defval, sizeof cvar_defval - 1)
        register_cvar(CVAR_NAME, cvar_defval)
    }
 
    if (is_objective_map())
        return
 
}
public forward_spawn(ent) {
    if (!pev_valid(ent))
        return FMRES_IGNORED
 
    static classname[32], i
    pev(ent, pev_classname, classname, sizeof classname - 1)
    for (i = 0; i < sizeof g_objective_ents; ++i) {
        if (equal(classname, g_objective_ents[i])) {
            if (!(g_no_objectives & g_objective_type[i]))
                return FMRES_IGNORED
 
            engfunc(EngFunc_RemoveEntity, ent)
            return FMRES_SUPERCEDE
        }
    }
 
    return FMRES_IGNORED
}
 
bool:is_objective_map() {
    new const classname[] = "classname"
    for (new i = 0; i < sizeof g_objective_ents; ++i) {
        if (g_objective_prim[i] && engfunc(EngFunc_FindEntityByString, FM_NULLENT, classname, g_objective_ents[i]))
            return true
    }
 
    return false
}
Przejdź do postu


  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 Ossal

    Wszechwidzący

  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 21.01.2015 23:52

To co w topicu, jest to w ogóle możliwe? Chodzi o to żeby nie ustawiało vipa graczom w ct :)
Uprzedzając odpowiedzi nie na temat, powtórzę, chodzi o vipa, który musi uciec/zostać zabity - jest celem mapy na mapach as_ :)
Wpadłem jak to obejść w prosty sposób, ale nie chcę go używać, albowiem tak: wrzucić bota do ct, przyznać mu vipa, po czym przy pomocy set_user_origin z fun'a wyrzucić go daleko pod mapę :P Ale nie chce tego obchodzić, tylko pytam czy się da i jak ewentualnie to usunąć, no obejść to w inny sposób niż ww :D


Użytkownik Ossal edytował ten post 22.01.2015 00:01

  • +
  • -
  • 0

#2 glutex

    Mamamba

  • Power User

Reputacja: 377
Wszechpomocny

  • Postów:997
  • GG:
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Studzionka
Offline

Napisano 22.01.2015 00:01

No Objectives v0.3 (+no round time)
  • +
  • -
  • 1

przejdzmynaty.gif


#3 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 22.01.2015 00:19

nie do końca chodziło o to, ale łap plusa
Plugin usuwa vipa, ale oprócz tego usuwa czas rundy, w efekcie rudna się nigdy nie kończy, musiałbym sobie plugin osobny pod czas rundy napisać na takie mapy, co wielkiego problemu nie stanowi, ale może jest inna opcja?
Ma ktoś jakieś pomysły? :)


  • +
  • -
  • 0

#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 22.01.2015 02:04

Zakomentuj linie 118 i 119 i po kłopocie ;)
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#5 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 22.01.2015 03:00

Ja nie mogę, w tamtym temacie nikt na to nie wpadł, albo za mało przeczytałem odpowiedzi :D a ja stwierdziłem że plugin pewnie dobrze dopierdzielony i nie zajrzałem w sma :P
Niby powinno działać, ale nie chce coś :P jesteś pewien że wystarczą te 2 linijki?
 


  • +
  • -
  • 0

#6 psilocybe

    Toasty!

  • Power User

Reputacja: 252
Wszechwidzący

  • Postów:524
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:PL
Offline

Napisano 22.01.2015 16:27

Na mapach as_ vip spawnuje się tylko dlatego że ma swój osobny spawn.

 

Napisz sobie prosty plugin który na starcie mapy wyszuka i usunie wszystkie entity o classname 'info_vip_start'. Mapa as_ przestanie nią być ;) Nie patrzyłem w źródło 'No objectives' ale na pewno zrobili tak samo.


  • +
  • -
  • 0

Dołączona grafika

Dołączona grafika


#7 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 23.01.2015 18:35   Najlepsza odpowiedź

usunięcie po prostu enta info_start_vip nic nie dało, za to pomogła wersja Gutka z tego tematu :)

/* AMX Mod X
*   No Objectives
*
* (c) Copyright 2007 by VEN
*
* This file is provided as is (no warranties)
*
*    DESCRIPTION
*        Plugin allow to remove all map objectives or objectives of certain type.
*        Round timer will be disbled for maps that doesn't contain any objectives.
*
*    CVARS
*        no_objectives (flags: acde, default: acde, "": disable the plugin)
*            a - remove "as" (vip assasination) objectives
*            c - remove "cs" (hostage rescue) objectives
*            d - remove "de" (bomb defuse) objectives
*            e - remove "es" (T escape) objectives
*        Note: map change on CVar change required.
*
*    VERSIONS
*        0.3
*            - added support for all objective entities
*            - fixed: timer wasn't shown on multi objective maps if objectives wasn't completely removed
*            - improvements in objective modes routine
*        0.2
*            - disabled round timer
*            - added no_objectives CVar
*        0.1
*            - initial version
*/
 
// plugin's main information
#define PLUGIN_NAME "No Objectives"
#define PLUGIN_VERSION "0.3"
#define PLUGIN_AUTHOR "VEN"
 
#include <amxmodx>
#include <fakemeta>
 
new const g_objective_ents[][] = {
    "func_bomb_target",
    "info_bomb_target",
    "hostage_entity",
    "monster_scientist",
    "func_hostage_rescue",
    "info_hostage_rescue",
    "info_vip_start",
    "func_vip_safetyzone",
    "func_escapezone"
}
 
#define OBJTYPE_AS (1<<0)
#define OBJTYPE_CS (1<<2)
#define OBJTYPE_DE (1<<3)
#define OBJTYPE_ES (1<<4)
#define OBJTYPE_ALL (OBJTYPE_AS | OBJTYPE_CS | OBJTYPE_DE | OBJTYPE_ES)
 
#define CVAR_NAME "no_objectives"
#define CVAR_DEFAULT OBJTYPE_ALL
 
new const g_objective_type[] = {
    OBJTYPE_DE,
    OBJTYPE_DE,
    OBJTYPE_CS,
    OBJTYPE_CS,
    OBJTYPE_CS,
    OBJTYPE_CS,
    OBJTYPE_AS,
    OBJTYPE_AS,
    OBJTYPE_ES
}
 
new const bool:g_objective_prim[] = {
    true,
    true,
    true,
    false,
    false,
    false,
    false,
    true,
    true
}
 
 
 
new g_pcvar_no_objectives
 
new g_no_objectives = CVAR_DEFAULT & OBJTYPE_ALL
 
public plugin_precache() {
    if ((g_pcvar_no_objectives = get_cvar_pointer(CVAR_NAME))) {
        new cvar_val[8]
        get_pcvar_string(g_pcvar_no_objectives, cvar_val, sizeof cvar_val - 1)
        g_no_objectives = read_flags(cvar_val) & OBJTYPE_ALL
    }
 
    if (g_no_objectives)
        register_forward(FM_Spawn, "forward_spawn")
}
 
public plugin_init() {
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
 
    if (!g_pcvar_no_objectives) {
        new cvar_defval[8]
        get_flags(CVAR_DEFAULT, cvar_defval, sizeof cvar_defval - 1)
        register_cvar(CVAR_NAME, cvar_defval)
    }
 
    if (is_objective_map())
        return
 
}
public forward_spawn(ent) {
    if (!pev_valid(ent))
        return FMRES_IGNORED
 
    static classname[32], i
    pev(ent, pev_classname, classname, sizeof classname - 1)
    for (i = 0; i < sizeof g_objective_ents; ++i) {
        if (equal(classname, g_objective_ents[i])) {
            if (!(g_no_objectives & g_objective_type[i]))
                return FMRES_IGNORED
 
            engfunc(EngFunc_RemoveEntity, ent)
            return FMRES_SUPERCEDE
        }
    }
 
    return FMRES_IGNORED
}
 
bool:is_objective_map() {
    new const classname[] = "classname"
    for (new i = 0; i < sizeof g_objective_ents; ++i) {
        if (g_objective_prim[i] && engfunc(EngFunc_FindEntityByString, FM_NULLENT, classname, g_objective_ents[i]))
            return true
    }
 
    return false
}

  • +
  • -
  • 0

#8 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 24.01.2015 09:22

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





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

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