Page 1 of 1

Plugin modele

Posted: 03 Feb 2019, 02:00
by Stereo#
Aveti un plugin de modele pe flaguri?

am incercat asta
Cosmin wrote:
| Afiseaza codul
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>

static const
	PLUGIN[] = "",
	VERSION[] = "1.0",
	AUTHOR [] = "scosmyn";

new const szFlags[][] =
{
	"abcdefghijklhmnopqrstu",
	"abcdegfhijmnopqrs",
	"bcdefijmnopqrs",
	"bcdefijmnopq",
	"bcdefijmno",
	"bcefijmno",
	"t",
	"bcefojm",
	"b"
}

new const szModels[][] =
{
	"models/player/fondator.mdl",
	"models/player/owner.mdl",
	"models/player/coowner.mdl",
	"models/player/god.mdl",
	"models/player/moderator.mdl",
	"models/player/administrator.mdl",
	"models/player/vips.mdl",
	"models/player/helper.mdl",
	"models/player/slot.mdl"
}

public plugin_init() {
	register_plugin(PLUGIN,VERSION,AUTHOR)
	
	RegisterHam(Ham_Spawn,"player","spawn_post",1)
}

public spawn_post(id) {
	if(!is_user_alive(id))
		return HAM_IGNORED

	if(get_user_flags(id) & read_flags(szFlags[0]))
		cs_set_user_model(id,szModels[0])
	else if(get_user_flags(id) & read_flags(szFlags[1]))
		cs_set_user_model(id,szModels[1])
	else if(get_user_flags(id) & read_flags(szFlags[2]))
		cs_set_user_model(id,szModels[2])
	else if(get_user_flags(id) & read_flags(szFlags[3]))
		cs_set_user_model(id,szModels[3])
	else if(get_user_flags(id) & read_flags(szFlags[4]))
		cs_set_user_model(id,szModels[4])
	else if(get_user_flags(id) & read_flags(szFlags[5]))
		cs_set_user_model(id,szModels[5])
	else if(get_user_flags(id) & read_flags(szFlags[6]))
		cs_set_user_model(id,szModels[6])
	else if(get_user_flags(id) & read_flags(szFlags[7]))
		cs_set_user_model(id,szModels[7])
	else if(get_user_flags(id) & read_flags(szFlags[8]))
		cs_set_user_model(id,szModels[8])
	else
		cs_reset_user_model(id)
	
	return HAM_HANDLED
}
public plugin_precache() {
	static i
	for(i = 0; i < sizeof szModels; i++)
		precache_model(szModels)
}


Code: Select all

new const szModels[][] =
{
	"models/player/fondator.mdl",
	"models/player/owner.mdl",
	"models/player/coowner.mdl",
	"models/player/god.mdl",
	"models/player/moderator.mdl",
	"models/player/administrator.mdl",
	"models/player/vips.mdl",
	"models/player/helper.mdl",
	"models/player/slot.mdl"
}
aici sunt modelele
Dar nu se compileaza

Re: Plugin modele

Posted: 03 Feb 2019, 11:55
by levin

Code: Select all

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Header size:            576 bytes
Code size:             2608 bytes
Data size:             1568 bytes
Stack/heap size:      16384 bytes; estimated max. usage=42 cells (168 bytes)
Total requirements:   21136 bytes
Done.

Re: Plugin modele

Posted: 03 Feb 2019, 12:33
by Stereo#
L E V I N wrote:

Code: Select all

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Header size:            576 bytes
Code size:             2608 bytes
Data size:             1568 bytes
Stack/heap size:      16384 bytes; estimated max. usage=42 cells (168 bytes)
Total requirements:   21136 bytes
Done.
Mi-l poti da si mie compilat.. ? eu nu reusesc
EDIT:Am reusit dar e o problema la care nu m-am gandit , nu are model separat pentru ct sau pentru t .Daca aveti altceva , multumesc.

Re: Plugin modele

Posted: 03 Feb 2019, 12:44
by infinit

Re: Plugin modele

Posted: 03 Feb 2019, 14:12
by levin

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#define MAX_MODELS 32

enum _:Data
{
	Flags[32],
	TModel[32],
	CTModel[32]
}

new const g_szModels[][Data] = 
{
	{ "m", "tmodel1", "ctmodel1" },
	{ "n", "tmodel2", "ctmodel2" },
	{ "o", "tmodel3", "ctmodel3" },
	{ "p", "tmodel4", "ctmodel4" }
}

new g_iFlags[MAX_MODELS]

public plugin_init()
{
	register_plugin("Admin Models", "1.0", "OciXCrom")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
}

public plugin_precache()
{
	for(new i; i < sizeof(g_szModels); i++)
	{
		precache_player_model(g_szModels[i][TModel])
		precache_player_model(g_szModels[i][CTModel])
		g_iFlags[i] = read_flags(g_szModels[i][Flags])
	}
}

public OnPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return
	
	new bool:bMatch
		
	for(new i, iFlags = get_user_flags(id); i < sizeof(g_szModels); i++)
	{
		if((iFlags & g_iFlags[i]) == g_iFlags[i])
		{
			cs_set_user_model(id, g_szModels[i][cs_get_user_team(id) == CS_TEAM_CT ? CTModel : TModel])
			bMatch = true
			break
		}
	}
	
	if(!bMatch)
		cs_reset_user_model(id)
}	
	
precache_player_model(szModel[])
{
    static szFile[128]
    formatex(szFile, charsmax(szFile), "models/player/%s/%s.mdl", szModel, szModel)
    precache_model(szFile)
    replace(szFile, charsmax(szFile), ".mdl", "T.mdl")
    
    if(file_exists(szFile))
        precache_model(szFile)
}

Re: Plugin modele

Posted: 03 Feb 2019, 14:47
by Stereo#
[quote="L E V I N"][/quote]

Mersi frumos.
EDIT:
L 02/03/2019 - 16:14:58: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20190203.log")
L 02/03/2019 - 16:14:58: [AMXX] Plugin file open error (plugin "modele.amxx")
EDIT
Asa am pus flagurile

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#define MAX_MODELS 32

enum _:Data
{
   Flags[32],
   TModel[32],
   CTModel[32]
}

new const g_szModels[][Data] = 
{
   { "a", "onwert", "ownerct" },
   { "bit", "vipt", "vipct" },
   { "d", "admint", "adminct" },
   { "p", "tmodel4", "ctmodel4" }
}

new g_iFlags[MAX_MODELS]

public plugin_init()
{
   register_plugin("Admin Models", "1.0", "OciXCrom")
   RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
}

public plugin_precache()
{
   for(new i; i < sizeof(g_szModels); i++)
   {
      precache_player_model(g_szModels[i][TModel])
      precache_player_model(g_szModels[i][CTModel])
      g_iFlags[i] = read_flags(g_szModels[i][Flags])
   }
}

public OnPlayerSpawn(id)
{
   if(!is_user_alive(id))
      return
   
   new bool:bMatch
      
   for(new i, iFlags = get_user_flags(id); i < sizeof(g_szModels); i++)
   {
      if((iFlags & g_iFlags[i]) == g_iFlags[i])
      {
         cs_set_user_model(id, g_szModels[i][cs_get_user_team(id) == CS_TEAM_CT ? CTModel : TModel])
         bMatch = true
         break
      }
   }
   
   if(!bMatch)
      cs_reset_user_model(id)
}   
   
precache_player_model(szModel[])
{
    static szFile[128]
    formatex(szFile, charsmax(szFile), "models/player/%s/%s.mdl", szModel, szModel)
    precache_model(szFile)
    replace(szFile, charsmax(szFile), ".mdl", "T.mdl")
    
    if(file_exists(szFile))
        precache_model(szFile)
}

Re: Plugin modele

Posted: 03 Feb 2019, 16:45
by levin
e grea engleza? :thinking: