Model Restrict Error
#1
Exclamación 
Buenas gentita, tengo un problema con este plugins, que no me reconoce la ruta del modelo de player, la verdad que compile con el AMX Mod 1.8 y 1.9 y en ambos figuran el mismo error.

Este error lo veo en la consola al ingresar al servidor;

Error: could not load file models/player/portugal/portugal.mdl

Y así me tira con los demás models/player...

EL PLUGINS
Código PHP:
#include <amxmodx>
#include <amxmisc>

#define ADMINLEVEL ADMIN_LEVEL_H
#define MODELFILE "addons/amxmodx/data/modelrestrict.ini"

  new defaultmodels[][64] = { "argentina""brazil""croatia""england""france""germany""japan""mexico""portugal""senegal","spain","uruguay","usa" };
  new validmodel[33][64];

  // when client changes info
  public client_infochanged(id) {

    // get model
    new model[64];
    get_user_info(id,"model",model,63);

    // if admin, ignore restrictons
    if(access(id,ADMINLEVEL)) {
      validmodel[id] = model;
      return PLUGIN_CONTINUE;
    }

    // check for invalid model
    for( new isizeofdefaultmodels ); i++ )
    {
      if( equalidefaultmodels[i], model ) )
      {
        validmodel[id] = defaultmodels[i];
        return PLUGIN_CONTINUE;
      }
    }
    
    validmodel
[id] = defaultmodels[random(sizeofdefaultmodels ))];
    console_print(id,"La indumentaria %s esta restringida, cambiando a %s^n",model,validmodel[id]);
    client_cmd(id,"model %s",validmodel[id]);

    return PLUGIN_CONTINUE;    
  
}

// client connection    
public client_putinserver(id)  
{  

    
// get model
    new model[64];
    get_user_info(id,"model",model,63);

    // if admin, ignore restrictons
    if(access(id,ADMINLEVEL)) {
      validmodel[id] = model;
      return PLUGIN_CONTINUE;
    }

    // check for invalid model
    for( new isizeofdefaultmodels ); i++ )
    {
      if( equalidefaultmodels[i], model ) )
      {
        validmodel[id] = defaultmodels[i];
        return PLUGIN_CONTINUE;
      }
    }
    
    validmodel
[id] = defaultmodels[random(sizeofdefaultmodels ))];
    console_print(id,"La indumentaria %s esta restringida, cambiando a %s^n",model,validmodel[id]);
    client_cmd(id,"model %s",validmodel[id]);

    return PLUGIN_CONTINUE;
}

  // check if a model is valid (unrestricted)
  public model_isvalid(model[64]) {

    // file is non-existant
    if(!file_exists(MODELFILE)) {
      write_file(MODELFILE,"; Avalanche's ModelRestrict",-1); // create it
      return 1// model is valid because there is no list of invalid models
    }

    new linetext[64], txtlen;

    // loop through file
    while((line read_file(MODELFILE,line,text,63,txtlen)) != 0) {
      if(equali(text,model)) { // if match
        return 0;
      }
    }

    return 1;
  }

  // check if a model should be precached
  public model_precache(model[64]) {

    // get first 3 characters
    new checkstring[4];
    copy(checkstring,3,model);

    // if starts with "P* "
    if(equali(checkstring,"P* ")) {
      return 1;
    }

    return 0;
  }

  // set a user's model by console command
  public cmd_setmodel(id,level,cid) {
    if(!cmd_access(id,level,cid,3)) { // invalid access
      return PLUGIN_HANDLED;
    }

    // get arguments
    new arg1[64], arg2[64];
    read_argv(1,arg1,63);
    read_argv(2,arg2,63);

    new player cmd_target(id,arg1,1); // get player

    if(!player) { // invalid player
      return PLUGIN_HANDLED;
    }

    // if admin, ignore restrictons
    if(access(id,ADMINLEVEL)) {
      client_cmd(player,"model %s",arg2);
      validmodel[player] = arg2;
    }
    else { // if regular user
      if(model_isvalid(arg2) == && model_precache(arg2) == 0) { // invalid model
        console_print(id,"La indumentaria %s esta restringida, no puedes colocartelo",arg2);
      }
      else { // valid
        client_cmd(player,"model %s",arg2);
        validmodel[player] = arg2;
      }
    }

    return PLUGIN_HANDLED;
  }

  // plugin precache
  public plugin_precache() {

    // file is non-existant
    if(!file_exists(MODELFILE)) {
      write_file(MODELFILE,"; Avalanche's ModelRestrict",-1); // create it
      return PLUGIN_CONTINUE// no models to precache because there was no file
    }

    new linetext[64], txtlen;

    // loop through file
    while((line read_file(MODELFILE,line,text,63,txtlen)) != 0) {
    if(model_precache(text) == 1) { // if match
    new leftside[64], rightside[64], bmpFile[64];
    argbreak(text,leftside,3,rightside,63); // get actual name in right side
    format(leftside,63,"models/player/%s/%s.mdl",rightside,rightside); // put file path in left side
    format(bmpFile,63,"models/player/%s/%s.bmp",rightside,rightside); // put file path in left side

    // couldn't find file
    if(!file_exists(leftside)) {
      server_print("No se encontro el archivo de modelo %s (.mdl) para precachearlo",leftside);
    }
    else { // found file
      precache_model(leftside); // precache it
    }
    if(!file_exists(bmpFile)) {
      server_print("No se encontro el archivo de bitmap %s (.bmp) para precachearlo",bmpFile);
    }
    else {
      precache_generic(bmpFile); // precache it
    }
  }  
}  

    
return PLUGIN_CONTINUE;
  }

  // plugin initiation
  public plugin_init() {
    register_plugin("Model Restrict","1.0","ALTOVICIO");
    console_print(0,"[MODEL RESTRICT] Cargado con exito");
    register_concmd("amx_setmodel","cmd_setmodel",ADMINLEVEL,"<target> <model> - establecer el modelo de objetivos");
  
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)