AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   First Plugin - need help. :/ (https://forums.alliedmods.net/showthread.php?t=77056)

Nelson Mandela 09-04-2008 11:41

First Plugin - need help. :/
 
Hey guys.

Im new at scripting and need some help with my first plugin..

Code:
Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <engine>

#define PLUGIN "FH ABILITIES"
#define VERSION "0.2"
#define AUTHOR "felon."
#define ADMINACCESS ADMIN_CHAT

public plugin_init()

{   
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd( "pimp","pimenu")
}

public pimenu(id)
{
    new menu = menu_create("\rPIMP MENU:", "menu_handler")
   
    menu_additem(menu, "\wHEALTH", "1", 0)
    menu_additem(menu, "\wGRAVITY", "2", 0)
    menu_additem(menu, "\wFOOTSTEPS", "3", 0)
    menu_additem(menu, "\wLONGJUMP", "4", 0)
    menu_additem(menu, "\wMONEY", "5", ADMIN_CHAT)
    menu_additem(menu, "\wVISIBILITY", "6", ADMIN_CHAT)
    menu_additem(menu, "\wNOCLIP", "7", ADMIN_CHAT)
    menu_additem(menu, "\wGODMODE", "8", ADMIN_CHAT)
    menu_additem(menu, "\wALLES", "9", ADMIN_CHAT)
   
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
   
    menu_display(id, menu, 0)
   
    set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
    show_hudmessage(id, "GRAU HINTERLEGTE MENUPUNKTE SIND NUR FUER ADMINS!")
}

public menu_handler(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
       
        return PLUGIN_HANDLED
    }
   
    new data[6], iName[64]
    new access, callback
   
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
   
    new key = str_to_num(data)
   
    switch(key)
    {
        case 1:{
            set_user_health(id, 255);
            set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
            show_hudmessage(id, "YOU GOT 255 HEALTHPOINTS!")
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 2:{
            set_user_gravity(id, 0.75);
            set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
            show_hudmessage(id, "GRAVITY IS REDUCED!")
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 3:{
            set_user_footsteps(id, 1);
            set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
            show_hudmessage(id, "NO FOOTSTEPS ANYMORE!")
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 4:{
            give_item(id, "item_longjump");
            set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
            show_hudmessage(id, "YOU GOT THE LONGJUMP!")
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 5:{
            cs_set_user_money(id, cs_get_user_money(id) + 10000);
            set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
            show_hudmessage(id, "YOU GOT 10000$!")
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 6:{
            set_entity_visibility(id, 0);
            set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
            show_hudmessage(id, "YOU ARE INVISIBLE!")
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 7:{
            set_user_noclip(id, 1);
            set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
            show_hudmessage(id, "YOU GOT NOCLIP!")
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 8:{
            set_user_godmode(id, 1);
            set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
            show_hudmessage(id, "YOU GOT GODMODE!")
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 9:{
            set_user_health(id, 255);
            set_user_gravity(id, 0.75);
            set_user_footsteps(id, 1);
            set_user_godmode(id, 1);
            give_item(id, "item_longjump");
            set_entity_visibility(id, 0);
            set_hudmessage(0, 0, 255, -1.0, 0.3, 0, 6.0, 2.0)
            show_hudmessage(id, "YOU GOT EVERYTHING!")
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
    }
   
    menu_destroy(menu)
    return PLUGIN_HANDLED
}

The abilites (ex: health) should work just 1 time per round now..
how can i do this?

maybe u guys have sum code?! :/

thank u very much..


best regards,
Danny

PS: Sorry for my english, i'm german..

anakin_cstrike 09-04-2008 13:21

Re: First Plugin - need help. :/
 
Here:
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <engine>

#define PLUGIN "FH ABILITIES"
#define VERSION "0.2"
#define AUTHOR "felon."
#define ADMINACCESS ADMIN_CHAT

new 
g_all[33],g_god[33],g_noclip[33],g_visibility[33],
g_money[33],g_jump[33],g_foot[33],
g_grav[33],g_health[33];
public 
plugin_init()
{    
    
register_plugin(PLUGINVERSIONAUTHOR);
    
register_event("ResetHUD","hook_reset","b");
    
register_event("HLTV","hook_newround","a","1=0","2=0");
    
register_clcmd"pimp","pimenu")
}
public 
hook_reset(id)
{
    
g_all[id] = 0;
    
g_god[id] = 0;
    
g_noclip[id] = 0;
    
g_visibility[id] = 0;
    
g_money[id] = 0;
    
g_jump[id] = 0;
    
g_foot[id] = 0;
    
g_grav[id] = 0;
    
g_health[id] = 0;
}
public 
hook_newround()
{
    new 
players[32],num,id,i;
    
get_players(players,num);
    for(
0;num;i++)
    {
        
id players[i];
        
g_all[id] = 0;
        
g_god[id] = 0;
        
g_noclip[id] = 0;
        
g_visibility[id] = 0;
        
g_money[id] = 0;
        
g_jump[id] = 0;
        
g_foot[id] = 0;
        
g_grav[id] = 0;
        
g_health[id] = 0;
    }
}
public 
pimenu(id)
{
    new 
menu menu_create("\rPIMP MENU:""menu_handler")
    
    
menu_additem(menu"\wHEALTH""1"0)
    
menu_additem(menu"\wGRAVITY""2"0)
    
menu_additem(menu"\wFOOTSTEPS""3"0)
    
menu_additem(menu"\wLONGJUMP""4"0)
    
menu_additem(menu"\wMONEY""5"ADMIN_CHAT)
    
menu_additem(menu"\wVISIBILITY""6"ADMIN_CHAT)
    
menu_additem(menu"\wNOCLIP""7"ADMIN_CHAT)
    
menu_additem(menu"\wGODMODE""8"ADMIN_CHAT)
    
menu_additem(menu"\wALLES""9"ADMIN_CHAT)
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL)
    
    
menu_display(idmenu0)
    
    
set_hudmessage(00255, -1.00.306.02.0)
    
show_hudmessage(id"GRAU HINTERLEGTE MENUPUNKTE SIND NUR FUER ADMINS!")
}

public 
menu_handler(idmenuitem)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        
        return 
PLUGIN_HANDLED
    
}
    
    new 
data[6], iName[64]
    new 
accesscallback
    
    menu_item_getinfo
(menuitemaccessdata,5iName63callback)
    
    new 
key str_to_num(data)
    
    switch(
key)
    {
        case 
1:{
            if(
g_health[id])
            {
                
// mesage;
                
return PLUGIN_HANDLED;
            }
            
g_health[id] = 1;
            
set_user_health(id255);
            
set_hudmessage(00255, -1.00.306.02.0)
            
show_hudmessage(id"YOU GOT 255 HEALTHPOINTS!")
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED
        
}
        case 
2:{
            if(
g_grav[id])
            {
                
// mesage;
                
return PLUGIN_HANDLED;
            }
            
g_grav[id] = 1;
            
set_user_gravity(id0.75);
            
set_hudmessage(00255, -1.00.306.02.0)
            
show_hudmessage(id"GRAVITY IS REDUCED!")
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED
        
}    
        case 
3:{
            if(
g_foot[id])
            {
                
// mesage;
                
return PLUGIN_HANDLED;
            }
            
g_foot[id] = 1;
            
set_user_footsteps(id1);
            
set_hudmessage(00255, -1.00.306.02.0)
            
show_hudmessage(id"NO FOOTSTEPS ANYMORE!")
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED
        
}
        case 
4:{
            if(
g_jump[id])
            {
                
// mesage;
                
return PLUGIN_HANDLED;
            }
            
g_jump[id] = 1;
            
give_item(id"item_longjump");
            
set_hudmessage(00255, -1.00.306.02.0)
            
show_hudmessage(id"YOU GOT THE LONGJUMP!")
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED
        
}
        case 
5:{
            if(
g_money[id])
            {
                
// mesage;
                
return PLUGIN_HANDLED;
            }
            
g_money[id] = 1;
            
cs_set_user_money(idcs_get_user_money(id) + 10000);
            
set_hudmessage(00255, -1.00.306.02.0)
            
show_hudmessage(id"YOU GOT 10000$!")
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED
        
}
        case 
6:{
            if(
g_visibility[id])
            {
                
// mesage;
                
return PLUGIN_HANDLED;
            }
            
g_visibility[id] = 1;
            
set_entity_visibility(id0);
            
set_hudmessage(00255, -1.00.306.02.0)
            
show_hudmessage(id"YOU ARE INVISIBLE!")
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED
        
}
        case 
7:{
            if(
g_noclip[id])
            {
                
// mesage;
                
return PLUGIN_HANDLED;
            }
            
g_noclip[id] = 1;
            
set_user_noclip(id1);
            
set_hudmessage(00255, -1.00.306.02.0)
            
show_hudmessage(id"YOU GOT NOCLIP!")
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED
        
}
        case 
8:{
            if(
g_god[id])
            {
                
// mesage;
                
return PLUGIN_HANDLED;
            }
            
g_god[id] = 1;
            
set_user_godmode(id1);
            
set_hudmessage(00255, -1.00.306.02.0)
            
show_hudmessage(id"YOU GOT GODMODE!")
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED
        
}
        case 
9:{
            if(
g_all[id])
            {
                
// mesage;
                
return PLUGIN_HANDLED;
            }
            
g_all[id] = 1;
            
set_user_health(id255);
            
set_user_gravity(id0.75);
            
set_user_footsteps(id1);
            
set_user_godmode(id1);
            
give_item(id"item_longjump");
            
set_entity_visibility(id0);
            
set_hudmessage(00255, -1.00.306.02.0)
            
show_hudmessage(id"YOU GOT EVERYTHING!")
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED
        
}
    }
    
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED


Reset when a player spawns:
PHP Code:

public hook_reset(id)
{
    
g_all[id] = 0;
    
g_god[id] = 0;
    
g_noclip[id] = 0;
    
g_visibility[id] = 0;
    
g_money[id] = 0;
    
g_jump[id] = 0;
    
g_foot[id] = 0;
    
g_grav[id] = 0;
    
g_health[id] = 0;


Reset at new round:
PHP Code:

public hook_newround()
{
    new 
players[32],num,id,i;
    
get_players(players,num);
    for(
0;num;i++)
    {
        
id players[i];
        
g_all[id] = 0;
        
g_god[id] = 0;
        
g_noclip[id] = 0;
        
g_visibility[id] = 0;
        
g_money[id] = 0;
        
g_jump[id] = 0;
        
g_foot[id] = 0;
        
g_grav[id] = 0;
        
g_health[id] = 0;
    }


You can remove engine module by using set_user_rendering instead of set_entity_visibility..

Nelson Mandela 09-04-2008 17:07

Re: First Plugin - need help. :/
 
Thank you very much. Works fine!
+k <3


All times are GMT -4. The time now is 03:18.

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