AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Weapon spawn on map(s)? (https://forums.alliedmods.net/showthread.php?t=324088)

Carpex 05-06-2020 01:04

Weapon spawn on map(s)?
 
1 Attachment(s)
How can this weapon on spawn the map?

Carpex 05-09-2020 01:43

Re: Weapon spawn on map(s)?
 
How do I create the gift in on the map? , Please some help :(
Code:

/* AMX Mod X
*  New Round Gift
*
* (c) Copyright 2005 by VEN
*
* This file is provided as is (no warranties)
*
*    DESCRIPTION:
*      Every new round at the CT and T respawn randomly appears gift.
*
*    NOTE:
*      Gift wouldn't appear for team with only one player!
*
*    FEATURES:
*      Plugin make gift collection fun and interesting because:
*        - you don't know where is gift would appear
*        - you don't know what is inside
*        - sometimes you must run fast and even jump
*
*    MODULES:
*      - engine
*      - fun
*
*    CONFIGURATION:
*      Available items can be changed (GIFT_ITEM_NUM, GIFT_ITEM), default: vest, vesthelm, nades.
*
*      Gift model can be changed (GIFT_MODEL), default: "models/w_battery.mdl".
*
*      Plugin can be disabled by changing "amx_newround_gift" CVAR value to 0.
*/

#include <amxmodx>
#include <engine>
#include <fun>

#define MAX_PLAYERS 32

#define GIFT_ITEM_NUM 5
new const GIFT_ITEM[GIFT_ITEM_NUM][] = {
        "item_kevlar",
        "item_assaultsuit",
        "weapon_hegrenade",
        "weapon_flashbang",
        "weapon_smokegrenade"
}

#define GIFT_MODEL "models/w_battery.mdl"
#define GIFT_NAME "gift"

public plugin_init() {
        register_plugin("New Round Gift", "0.1", "VEN")
        register_logevent("logevent_round_start", 2, "0=World triggered", "1=Round_Start")
        register_event("RoundTime", "event_round_time", "bc")
        register_touch(GIFT_NAME, "player", "touch_gift")
        register_cvar("amx_newround_gift", "1")
}

public plugin_precache() {
        precache_model(GIFT_MODEL)
}

public logevent_round_start() {
        if (!get_cvar_num("amx_newround_gift"))
                return

        new pnum[2], origin[3], minor[2][3], maxor[2][3], bool:compare[2]
        for (new i = 1; i <= MAX_PLAYERS; ++i) {
                if (!is_user_alive(i))
                        continue

                new team = get_user_team(i) - 1
                if (team != 0 && team != 1)
                        continue

                pnum[team]++
                get_user_origin(i, origin)
                if (compare[team]) {
                        for (new j = 0; j < 3; ++j) {
                                if (origin[j] < minor[team][j])
                                        minor[team][j] = origin[j]
                                if (origin[j] > maxor[team][j])
                                        maxor[team][j] = origin[j]
                        }
                }
                else {
                        minor[team] = origin
                        maxor[team] = origin
                        compare[team] = true
                }
        }
        for (new i = 0; i < 2; ++i) {
                if (pnum[i] < 2)
                        continue

                new gift = create_entity("info_target")
                if (!gift) {
                        log_amx("ERROR: Couldn't create gift entity!")
                        continue
                }

                entity_set_string(gift, EV_SZ_classname, GIFT_NAME)
                entity_set_int(gift, EV_INT_solid, SOLID_TRIGGER)

                new Float:gift_origin[3]
                for (new j = 0; j < 3; ++j)
                        gift_origin[j] = float(random_num(minor[i][j], maxor[i][j]))
                gift_origin[2] += 40
                entity_set_vector(gift, EV_VEC_origin, gift_origin)

                entity_set_model(gift, GIFT_MODEL)
        }
}

public touch_gift(gift, id) {
        give_item(id, GIFT_ITEM[random(GIFT_ITEM_NUM)])
        remove_entity(gift)
}

public event_round_time() {
        if (read_data(1) == get_cvar_num("mp_freezetime")) {
                new gift = 0
                while ((gift = find_ent_by_class(gift, GIFT_NAME)))
                        remove_entity(gift)
        }
}



All times are GMT -4. The time now is 17:14.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.