[Orpheu] Schimbare model arma !

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
LordOfNothing
Membru, skill +1
Membru, skill +1
Posts: 387
Joined: 19 Jul 2013, 15:51
Detinator Steam: Nu
Reputatie: Restrictie PM
Has thanked: 11 times
Been thanked: 35 times

08 Feb 2014, 10:24

Buna astazi as vrea sa va invat cum sa schimbati modelul unei arme folosind "Oprheu" :D

PS : Acest tutorial nu a fost copiat , ie adevarat ca si eu am invatat tot dintrun tutorial dar asta nu inseamna ca ie fix acelasi tutorial ....

Incepem incluzind 2 librarry

amxmodx - default library
orpheu_memory - o librarie pentru a scrie in memoria serverului !

Code: Select all

#include <amxmodx>
#include <orpheu_memory>
Apoi vom crea publicul plugin_precache() in acest public vom putea "modera" memoria serverului :

Code: Select all

public plugin_precache()
{
   // codul tau aici !
}
Dupa ce am facut publicul vom folosi functia " OrpheuMemoryReplace" pentru a schimba memoria !

Ex : schimbare model arma :

Code: Select all

OrpheuMemoryReplace( "weaponModels", 0, "models/v_hegrenade.mdl", "models/noua_grenada.mdl" );
Ne va trebui si un fisier in addons/amxmodx/configs/orpheu/memory :

Code: Select all

{
    "name"        : "weaponModels",
    "library"     : "mod",
    "type"        : "string",
    "memoryType"  : "data"
}
pluginul va arata asa :

Code: Select all

#include <amxmodx>
#include <orpheu_memory>
   
public plugin_precache()
{
          OrpheuMemoryReplace( "weaponModels", 0, "models/v_hegrenade.mdl", "models/noua_grenada.mdl" );
}

Ce nu ati inteles va rog sa lasati reply !
Pentru mai multe informatii despre schimbare memoryei cu orpheu va rog sa consultati acest tutorial : http://www.extreamcs.com/forum/pluginur ... 22274.html
RoyalServer
User avatar
Adventx
Membru, skill +4
Membru, skill +4
Posts: 1785
Joined: 17 Sep 2013, 21:44
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 128 times
Been thanked: 142 times
Contact:

08 Feb 2014, 10:57

Bravo, dar de ce sa te complici cu orpheu cand poti face prin engine si fakemeta:

Code: Select all

/* Plugin generated by AMXX-Studio */

#include <  amxmodx  >
#include <  fakemeta  >
#include <  engine  >

#define PLUGIN "Modificarea Modelului A Unei Arme"
#define VERSION "0.1"
#define AUTHOR "hadesownage"

new Model_W [ 66 ] = "models/ModelArma/w_model.mdl";


public plugin_init ( ) {
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_forward ( FM_SetModel, "ArmaNoua_SetWModel" ); 
}

public plugin_precache ( )
{
	precache_model ( Model_W );
	
}

public ArmaNoua_SetWModel ( entity, model [ ] ) {
	
	if ( !is_valid_ent ( entity ) ) return FMRES_IGNORED;
	
	static szClassName [ 33 ];
	entity_get_string ( entity, EV_SZ_classname, szClassName, charsmax ( szClassName ) );
	
	if ( !equal ( szClassName, "weaponbox" ) ) return FMRES_IGNORED;
	
	new WPN_ArmaNoua = find_ent_by_owner ( -1, "weapon_ak47", entity );
	
	if ( is_valid_ent ( WPN_ArmaNoua ) && equal ( model, "models/w_ak47.mdl" ) ) {
		
		entity_set_int ( WPN_ArmaNoua, EV_INT_impulse, 103 );
		entity_set_model ( entity, Model_W );
		return FMRES_SUPERCEDE;
	}
	
	return FMRES_IGNORED;
}
LordOfNothing
Membru, skill +1
Membru, skill +1
Posts: 387
Joined: 19 Jul 2013, 15:51
Detinator Steam: Nu
Reputatie: Restrictie PM
Has thanked: 11 times
Been thanked: 35 times

08 Feb 2014, 17:37

Adventx wrote:

Code: Select all

/* Plugin generated by AMXX-Studio */

#include <  amxmodx  >
#include <  fakemeta  >
#include <  engine  >

#define PLUGIN "Modificarea Modelului A Unei Arme"
#define VERSION "0.1"
#define AUTHOR "hadesownage"

new Model_W [ 66 ] = "models/ModelArma/w_model.mdl";


public plugin_init ( ) {
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_forward ( FM_SetModel, "ArmaNoua_SetWModel" ); 
}

public plugin_precache ( )
{
	precache_model ( Model_W );
	
}

public ArmaNoua_SetWModel ( entity, model [ ] ) {
	
	if ( !is_valid_ent ( entity ) ) return FMRES_IGNORED;
	
	static szClassName [ 33 ];
	entity_get_string ( entity, EV_SZ_classname, szClassName, charsmax ( szClassName ) );
	
	if ( !equal ( szClassName, "weaponbox" ) ) return FMRES_IGNORED;
	
	new WPN_ArmaNoua = find_ent_by_owner ( -1, "weapon_ak47", entity );
	
	if ( is_valid_ent ( WPN_ArmaNoua ) && equal ( model, "models/w_ak47.mdl" ) ) {
		
		entity_set_int ( WPN_ArmaNoua, EV_INT_impulse, 103 );
		entity_set_model ( entity, Model_W );
		return FMRES_SUPERCEDE;
	}
	
	return FMRES_IGNORED;
}
glumesti ? e mai usor decat asta :

Code: Select all

#include <amxmodx>
#include <orpheu_memory>
   
public plugin_precache()
{
          OrpheuMemoryReplace( "weaponModels", 0, "models/v_hegrenade.mdl", "models/noua_grenada.mdl" );
}
+ ca e mai recomandat sa folosesti orpheu e direct in memoria jocului
Cosmin
Fost moderator
Fost moderator
Posts: 9362
Joined: 06 Jul 2013, 22:08
Detinator Steam: Da
Detinator server CS: Nu
Reputatie: Fost eXtream Mod
Fost Scripter eXtreamCS
Nume anterior: scosmynnnn
Has thanked: 492 times
Been thanked: 547 times

08 Feb 2014, 17:59

Salut !
Mersi pentru tutorial apropo ce fel de fisier trebuie sa faci in configs?
Ne va trebui si un fisier in addons/amxmodx/configs/orpheu/memory :
Cod:
{
"name" : "weaponModels",
"library" : "mod",
"type" : "string",
"memoryType" : "data"
}
Foarte interesant si cu orpheu si parca e mai usor , practic schimbi totul cu o singura functie ca sa zic asa..
E mult pana te inveti putin si renunti la engine si fakemeta..

P.S Ai putea sa ne arati si cum pui in meniu sau eu stiu unde o arma cu orpheu? :D
LordOfNothing
Membru, skill +1
Membru, skill +1
Posts: 387
Joined: 19 Jul 2013, 15:51
Detinator Steam: Nu
Reputatie: Restrictie PM
Has thanked: 11 times
Been thanked: 35 times

08 Feb 2014, 20:17

Cum am scris si sus nu merge sa scrii/inlocuiesti/aflii memorie doar in plugin_precache()

Uite un ex. pentru awp/deagle/usp:

Code: Select all

#include <amxmodx>
#include <orpheu_memory>
   
public plugin_precache()
{
          OrpheuMemoryReplace( "weaponModels", 0, "models/v_awp.mdl", "models/my_own_awp.mdl" );
          OrpheuMemoryReplace( "weaponModels", 0, "models/v_usp.mdl", "models/my_own_usp.mdl" );
          OrpheuMemoryReplace( "weaponModels", 0, "models/v_deagle.mdl", "models/my_own_deagle.mdl" );
}
si fiserul :

Code: Select all

{
    "name"        : "weaponModels",
    "library"     : "mod",
    "type"        : "string",
    "memoryType"  : "data"
}
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 18 guests