Raised This Month: $ Target: $400
 0% 

Register_Native


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
PurposeLessx
Senior Member
Join Date: Jun 2017
Old 07-26-2018 , 12:08   Register_Native
Reply With Quote #1

Hey friends,
I am making a native plugin for using commands simply.
How can I make plugin more optimized? I don't want to use style 1. It's not recommended.
Waiting for your help

Native plugin (will work in server)
PHP Code:

// new bool:g_unammocuk[33] // will give players unammo.

public plugin_natives()
{
    
register_library("np");

    
register_native("np_set_user_unammo""native_set_user_unammo");
    
register_native("np_get_user_unammo""native_get_user_unammo"1);
    
register_native("np_set_user_rendering""native_set_user_rendering");
}

public 
native_set_user_unammo(indexunammo 0)
{
    new 
id get_param(1);

    if(!
id)
    {
        
set_fail_state("Error not found player.");
        return 
1;
    }

    
g_unammocuk[id] = unammo == false:true;
    return 
1;
}

public 
native_get_user_unammo(index)
{
    new 
id get_param(1);

    if(!
id)
    {
        
set_fail_state("Error not found player.");
        return 
1;
    }

    return 
g_unammocuk[id] ? true:false;
}

public 
native_set_user_rendering(indexfx kRenderFxNone, {Float,_}:color[3] = {0.0,0.0,0.0}, render kRenderNormalFloat:amount 0.0)
{
    new 
id get_param(1);
    new 
fx_id get_param(2);
    new 
Float:color_id get_param(3);
    new 
render_id get_param(4);
    new 
Float:amount_id get_param(5);

    if(!
id)
    {
        
set_fail_state("set_user_rendering user bulunamadi.");
        return 
1;
    }

    
set_entvar(idvar_renderfxfx_id fx_id:kRenderFxNone);
    
set_entvar(idvar_rendercolorcolor_id color_id:{0.0,0.0,0.0});
    
set_entvar(idvar_rendermoderender_id render_id:kRenderNormal);
    
set_entvar(idvar_renderamtamount_id amount_id:0.0);
    return 
1;

Np.inc
PHP Code:
#pragma reqlib "np"

/*
* Enable/Disable player's unammo skill.
*
* @param index            Client index
* @param unammo        To enable unammo
*
* @return        1 on success, 0 otherwise
*/

native np_set_user_unammo(const indexunammo 0)

/*
* Get the unammo of the player
*
* @param index            Client index
*
* @return        1 on success, 0 otherwise
*/

native np_get_user_unammo(const index)

native np_set_user_rendering(blabla// not finished enough 
__________________
A plugin that is needed for every server.
PHP Code:
public client_connect(id)
{
    if(
get_user_iq(id) < 80)
    {
        
server_cmd("kick #%d 'You have kicked from the server because your IQ is not high enough'"get_user_userid(id));
    }


Last edited by PurposeLessx; 07-26-2018 at 12:13.
PurposeLessx is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 07-26-2018 , 13:29   Re: Register_Native
Reply With Quote #2

Next time, search.

Why you just don't use set_user_rendering of fun?
__________________








CrazY. is offline
PurposeLessx
Senior Member
Join Date: Jun 2017
Old 07-26-2018 , 13:30   Re: Register_Native
Reply With Quote #3

Wow, that is f awesome

Because of I am using reapi include and think that do not need use fun. These are almost same.
__________________
A plugin that is needed for every server.
PHP Code:
public client_connect(id)
{
    if(
get_user_iq(id) < 80)
    {
        
server_cmd("kick #%d 'You have kicked from the server because your IQ is not high enough'"get_user_userid(id));
    }

PurposeLessx is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 07-26-2018 , 13:31   Re: Register_Native
Reply With Quote #4

Don't use style 1. Style 0 natives have only 2 parameters:

PHP Code:
public your_native(iPluginiParams
iPlugin = plugin id
iParams = number of parameters in the native
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 07-26-2018 , 13:41   Re: Register_Native
Reply With Quote #5

@OP, again, the objective of ReAPI is not replace other modules, the objective is provide a more stable version. Anyway, case you still don't want to use the fun, better make a stock instead of create a native.

Convert this stock to ReAPI, the end.

Code:
/*  Set rendering of an entity */ stock set_rendering(index, fx=kRenderFxNone, r=255, g=255, b=255, render=kRenderNormal, amount=16) {     entity_set_int(index,EV_INT_renderfx,fx);     new Float:RenderColor[3];     RenderColor[0] = float(r);     RenderColor[1] = float(g);     RenderColor[2] = float(b);     entity_set_vector(index,EV_VEC_rendercolor,RenderColor);     entity_set_int(index,EV_INT_rendermode,render);     entity_set_float(index,EV_FL_renderamt,float(amount));     return 1; }
__________________









Last edited by CrazY.; 07-26-2018 at 13:42.
CrazY. is offline
Celena Luna
Veteran Member
Join Date: Aug 2013
Location: Nagazora
Old 07-26-2018 , 17:47   Re: Register_Native
Reply With Quote #6

if you used style 1 then you don't need to use get_param();
__________________
My plugin:
Celena Luna is offline
Reply



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 12:18.


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