Raised This Month: $51 Target: $400
 12% 

Modifying plugins select models zombie plague


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Mihai94
Junior Member
Join Date: Feb 2018
Old 02-07-2018 , 04:09   Modifying plugins select models zombie plague
Reply With Quote #1

Hello I have on the server this menu menu models appears a menu where I can choose which skin I want only that I want to change in the following way.
1. when you choose the skin you want from there to be permanent he only takes 1 round the next round gives you skin with default and if you can permanently change it, only if you want that player to select another skin only then to modify it and slices to be permanent.
2. have access to this menu only players who hold vip [gold members] in the menu to be set from the flag and be the ADMIN_LEVEL_H [flags t]

plugins:

#include <amxmodx>
#include <zombie_plague_special>
#include <fakemeta>
#include <fun>
#include <zmvip>
#include <colorchat>

new g_ent_playermodel[33];
new g_ent_weaponmodel[33];
new g_currentweapon[33];
new g_pcvar_active;

new MenuKeys = (1 << 0) + (1 << 1) + (1 << 2) + (1 << 3) + (1 << 4) + (1 << 5) + (1 << 6) + (1 << 7) + (1 << + (1 << 9)
new BuyMenuBodyText[256]

public plugin_init()
{
register_plugin("[ZP] Select Models", "1.2", "Anggara_nothing")
g_pcvar_active = register_cvar("zp_sem_enable", "1")
register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
SetupSelectMenu()
register_clcmd("say /models", "ClCmdSelectModel")
register_menucmd(register_menuid("\rSelecteaz a-ti Modelul Dorit:"), MenuKeys, "SelectIt")
}

public plugin_precache()
{
// Change your models here.
engfunc(EngFunc_PrecacheModel, "models/player/VIPBarbatJoker/VIPBarbatJoker.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/VIPBarbatSmithAgent/VIPBarbatSmithAgent.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/VIPFemeleBarbara/VIPFemeleBarbara.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/VIPFemeleInger/VIPFemeleInger.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/VIPBarbatDoctorFox/VIPBarbatDoctorFox.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/VIPBarbatVendetta/VIPBarbatVendetta.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/VIPFemeleSonya/VIPFemeleSonya.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/VIPFemeleJennifer/VIPFemeleJennifer.mdl")
}

// Current Weapon info
public message_cur_weapon(msg_id, msg_dest, msg_entity)
{
// Player not alive or not an active weapon
if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
return;

// Get weapon id
static weapon
weapon = get_msg_arg_int(2)

// Store weapon id for reference
g_currentweapon[msg_entity] = weapon

// Replace weapon models with custom ones
fm_set_weaponmodel_ent(msg_entity)
}

// User Infected forward
public zp_user_infected_post(id, infector)
{
// remove the glow.
set_user_rendering(id, kRenderFxNone, 0,0,0,kRenderNormal, 255)

// Remove Custom Model Entities
fm_remove_model_ents(id)
}

public ClCmdSelectModel(id)
{
if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
{
ColorChat(0, GREY, "^4[ZP Models] ^3Aceste Skinuri Sunt Doar Pentru Oameni.")

set_hudmessage(200, 155, 0, -1.0, 0.50, 0, 6.0, 8.0, 0.3, 0.5, 3)
show_hudmessage(id, "Aceste Skinuri Sunt Doar Pentru Oameni.")
return PLUGIN_HANDLED;
}
else if(!get_pcvar_num(g_pcvar_active))
{
set_hudmessage(200, 155, 0, -1.0, 0.50, 0, 6.0, 8.0, 0.3, 0.5, 3)
show_hudmessage(id, "Aceasta Abiliate A Fost Dezactivata.")
return PLUGIN_HANDLED;
}
else if(!is_user_alive(id))
{
ColorChat(0, GREY, "^4[ZP Models] ^3Trebuie Sa Fii In Viata Pentru A Putea Utiliza Acest Meniu.")

set_hudmessage(200, 155, 0, -1.0, 0.50, 0, 6.0, 8.0, 0.3, 0.5, 3)
show_hudmessage(id, "Trebuie Sa Fii In Viata Pentru A Putea Utiliza Acest Meniu.")
return PLUGIN_HANDLED;
}
else
{
SetupSelectMenu()
show_menu(id, MenuKeys, BuyMenuBodyText)
}
return PLUGIN_CONTINUE;
}

public SelectIt(id, key)
{
switch (key)
{
case 0:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;

set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/VIPBarbatJoker/VIPBarbatJoker.mdl")
fm_set_weaponmodel_ent(id)
}
}
case 1:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;

set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/VIPBarbatSmithAgent/VIPBarbatSmithAgent.mdl")
fm_set_weaponmodel_ent(id)
}
}
case 2:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;

set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/VIPFemeleBarbara/VIPFemeleBarbara.mdl")
fm_set_weaponmodel_ent(id)
}
}
case 3:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;

set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/VIPFemeleInger/VIPFemeleInger.mdl")
fm_set_weaponmodel_ent(id)
}
}
case 4:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;

set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/VIPBarbatDoctorFox/VIPBarbatDoctorFox.mdl")
fm_set_weaponmodel_ent(id)
}
}
case 5:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;

set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/VIPBarbatVendetta/VIPBarbatVendetta.mdl")
fm_set_weaponmodel_ent(id)
}
}
case 6:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;

set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/VIPFemeleSonya/VIPFemeleSonya.mdl")
fm_set_weaponmodel_ent(id)
}
}
case 7:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;

set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/VIPFemeleJennifer/VIPFemeleJennifer.mdl")
fm_set_weaponmodel_ent(id)
}
}
case 9: return ;
}

ClCmdSelectModel(id)
return;
}

public SetupSelectMenu()
{
new menuLen = format(BuyMenuBodyText, 255, "\rSelecteaza-ti Modelul Dorit:^n^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w1. Barbat Joker^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w2. Barbat Agent Smith^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w3. Femeie Barbara^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w4. Femeie Inger^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w5. Barbat Doctor Fox^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w6. Barbat Vendetta^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w7. Femeie Sonya^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w8. Femeie Jennifer^n^n")

menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w0. Iesire")

return 1
}

// Remove Custom Model Entities
stock fm_remove_model_ents(id)
{
// Remove "playermodel" ent if present
if (pev_valid(g_ent_playermodel[id]))
{
engfunc(EngFunc_RemoveEntity, g_ent_playermodel[id])
g_ent_playermodel[id] = 0
}
// Remove "weaponmodel" ent if present
if (pev_valid(g_ent_weaponmodel[id]))
{
engfunc(EngFunc_RemoveEntity, g_ent_weaponmodel[id])
g_ent_weaponmodel[id] = 0
}
}

// Set Weapon Model on Entity
stock fm_set_weaponmodel_ent(id)
{
// Get player's p_ weapon model
static model[100]
pev(id, pev_weaponmodel2, model, sizeof model - 1)

// Set model on entity or make a new one if unexistant
if (!pev_valid(g_ent_weaponmodel[id]))
{
g_ent_weaponmodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
if (!pev_valid(g_ent_weaponmodel[id])) return;

set_pev(g_ent_weaponmodel[id], pev_classname, "weapon_model")
set_pev(g_ent_weaponmodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_weaponmodel[id], pev_aiment, id)
set_pev(g_ent_weaponmodel[id], pev_owner, id)
}

engfunc(EngFunc_SetModel, g_ent_weaponmodel[id], model)
}

stock chat_color(const id, const input[], any:...)
{
new count = 1, players[32]

static msg[191]

vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!t2", "^0")

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
}

include zmvip:

/********************************************* *********************

Zm VIP for Zombie Plague 4.3
Author: aaarnas

********************************************* **********************

This (zm vip) plugin uses it's own extra
items simmilar like in main mod(Zombie Plague).
There are the main natives/forward witch required to
register extra items plugins on this zm vip plugin.

Also it's has own authentication system (If MODE 1 is on)
Use native zv_get_user_flags(id) to check player flags in
other plugins:

#include <zmvip>

public function()
{
if(zv_get_user_flags(id) > 0) // Checks if player has any vip privilegies.
if(zv_get_user_flags(id) & ZV_MAIN) // Checks if player has specific privilegie.
}

********************************************* **********************/
#if defined _zmvip_included
#endinput
#endif

#define _zmvip_included

#define ZV_PLUGIN_HANDLED 97

/* Flags */
#define ZV_MAIN (1<<0)
#define ZV_MULTI (1<<1)
#define ZV_UNLIMITED (1<<2)
#define ZV_DAMAGE (1<<3)

/* Teams */
#define ZV_TEAM_ZOMBIE (1<<0)
#define ZV_TEAM_HUMAN (1<<1)
#define ZV_TEAM_NEMESIS (1<<2)
#define ZV_TEAM_SURVIVOR (1<<3)


/* Natives */

/* Registers extra items on this plugin for VIPs (Only if MODE 2 is active)
*
* @param name Extra item name.
* @param discription Extra item discription (simmilar like zombie class discription).
* @param cost How much ammo packs will cost this item for player.
* @param team Teams allowed to buy this item. (0 for all teams)
* @return Extra item id.
*/
native zv_register_extra_item(const name[], const discription[], cost, team)

/* Gets user flags (Only if MODE 1 is active)
*
* @param id Player index.
* @return Player flags.
*/
native zv_get_user_flags(id)
native zv_is_user_gold(id)

native get_nr_vips()
native get_total_vips()


/* Forwards */

/* Called then player selects extra item in his VIP meniu. (Only if MODE 2 is active)
*
* You can stop player of buing item returning ZV_PLUGIN_HANDLED.
* Player will be refunded automaticaly
*
* @param id Player index.
* @param itemid Extra item id, witch player bought.
*/
forward zv_extra_item_selected(id, itemid)

thank you.
Mihai94 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 07:42.


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