←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Modele i błąd Reliable...

Zablokowany

  • +
  • -
daniosik - zdjęcie daniosik 25.04.2011

Witam. Mam plugin który podmienia modele.
/* Plugin generated by AMXX-Studio */

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

#define PLUGIN "Modele"
#define VERSION "1.0"
#define AUTHOR "Daniosik"


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

public runda(id)
{
console_cmd (id, "cl_minmodels 0")

if(cs_get_user_team(id) == CS_TEAM_T)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(get_user_flags(id) & ADMIN_BAN)
{
cs_set_user_model(id, "wiezien_k")
}
else
{
cs_set_user_model(id, "vip_k")
}
}
else
{
cs_set_user_model(id, "wiezien_k")
}
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
cs_set_user_model(id, "straznik_k")
}
}


i przy większej liczbie osób na serwerze wywala 3/4 ludzi z powodem : "Reliable channel overflowed"

Proszę o pomoc!
Odpowiedz

  • +
  • -
Knopers - zdjęcie Knopers 25.04.2011

zamiast cs_set_user_model użyj np funkcji z fakemety (set_pev(ent, pev_model, "models/sciezka_do/modelu.mdl");)
Odpowiedz

  • +
  • -
daniosik - zdjęcie daniosik 26.04.2011

Mam taki kod
/* Plugin generated by AMXX-Studio */

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

#define PLUGIN "Modele_jb"
#define VERSION "1.0"
#define AUTHOR "Daniosik"


new model_tt[] = "wiezien_k"

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

public runda(id)
{
console_cmd (id, "cl_minmodels 0")

if(is_user_connected(id))
{
if (cs_get_user_team(id) == CS_TEAM_T)
{
fm_set_user_model_ent(id)
}
else if(cs_get_user_team(id) == CS_TEAM_CT)
{
cs_set_user_model(id, "gign")
}
}

return PLUGIN_CONTINUE
}


public plugin_precache(){
precache_model("models/player/wiezien_k/wiezien_k.mdl")
}

stock fm_set_user_model_ent(id)
{
static model[100], ent

formatex(model, sizeof model - 1, "models/player/%s/%s.mdl", model_tt, model_tt)

ent = fm_find_ent_by_owner(-1, "player_model", id)

if (!ent)
{
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
set_pev(ent, pev_classname, "player_model")
set_pev(ent, pev_movetype, MOVETYPE_FOLLOW)
engfunc(EngFunc_SetModel, ent, model)
set_pev(ent, pev_aiment, id)
set_pev(ent, pev_owner, id)
}
else
{
engfunc(EngFunc_SetModel, ent, model)
}
}

stock fm_find_ent_by_owner(entity, const classname[], owner)
{
while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}

return entity;
}


I niby wszystko działa, ale jest jeden model na drugim, czyli widać podstawowy i ten który ja chce żeby był oraz nie widać jaką gracz ma broń.
Użytkownik daniosik edytował ten post 26.04.2011 08:09
Odpowiedz

  • +
  • -
Knopers - zdjęcie Knopers 26.04.2011

Spróbuj tego.
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Modele_jb"
#define VERSION "1.0"
#define AUTHOR "Daniosik"

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

public runda(id)
{
client_cmd(id, "cl_minmodels 0");

if(is_user_connected(id))
{
if (get_user_team(id) == 1)
set_pev(id, pev_model, "models/player/wiezien_k/wiezien_k.mdl");
else if(get_user_team(id) == 2)
set_pev(id, pev_model, "models/player/gign/gign.mdl");
}

return PLUGIN_CONTINUE;
}
public plugin_precache()
precache_generic("models/player/wiezien_k/wiezien_k.mdl");
Odpowiedz

  • +
  • -
daniosik - zdjęcie daniosik 26.04.2011

Robiłem tak i model się nie zmieniał.
Odpowiedz
Zablokowany