Podaję kilka gotowych przykładów często używanych w pluginach.
Autor: wrecked_

1. Odliczanie czasu
2. Wykrywanie zabicia/hs/killstreak
3. Wykonywanie kodu co x rund
4. Blokowanie podnoszenia broni
5. Prawidłowe usuwanie buyzones(Exolent)
6. Prawidłowe usuwanie bytów na mapie(Alucard)
7. Respawnowanie gracza


1. Odliczanie czasu

Kod php:
#include <amxmodx>

#define TASKID  1996
#define SECONDS 10

new iSeconds

public plugin_init()
{
    
register_plugin"Countdown Example""1.0""Wrecked" )
    
    
register_logevent"LogEventRoundStart"2"1=Round_Start" )
}

public 
LogEventRoundStart()
{
    if( 
task_existsTASKID ) )
        
remove_taskTASKID )
        
    
iSeconds SECONDS
    set_task
1.0"TaskShowCountdown"TASKID__"a"SECONDS )
}

public 
TaskShowCountdown()
{
    
set_hudmessage1201201200.500.5000.10.80.10.1, -)
    
show_hudmessage0"Pozostalo czasu(w sekundach): %i"iSeconds-- )

2. Wykrywanie zabicia/hs/killstreak

Kod php:
#include <amxmodx>

new Headshots[33]
new 
Kills[33]

public 
plugin_init()
{
    
register_plugin"How To Keep Kill Counts""1.0""Wrecked" )
    
    
register_event"DeathMsg""EventDeathMsg""a" )
    
    
register_logevent"LogEventRoundStart"2"1=Round_Start" )
}

public 
EventDeathMsg()
{
    new 
killer read_data)
    new 
victim read_data)
    
    
Headshots[victim] = 0
    Kills
[victim] = 0
    Kills
[killer]++
    
    if( 
read_data) ) // headshot
        
Headshots[killer]++
        
    
//  zmienna Kills to liczba zabic gracza
    // zmienna Headshots to liczba headshotow gracza
}

public 
LogEventRoundStart()
{
    
arraysetHeadshots033 )
    
arraysetKills033 )


3. Wykonywanie kodu co x rund

Kod php:
#include <amxmodx>

#define ROUND_INTERVAL  4    //liczba rund

new iRound

public plugin_init()
{
    
register_plugin"Do Something Every X Rounds""1.0""Wrecked" )
    
    
register_logevent"LogEventRoundStart"2"1=Round_Start" )
}

public 
LogEventRoundStart()
{
    if( ( ++
iRound ROUND_INTERVAL ) == )
        
// kod, ktory ma byc wykonywany co  ROUND_INTERVAL rund

4. Blokowanie podnoszenia broni

Kod php:
include <amxmodx>
#include <hamsandwich>

public plugin_init()
{
    
register_plugin"Block Weapon Pickup""1.0""Wrecked" )
    
    
RegisterHamHam_Touch"weaponbox""HamTouchPre")
    
RegisterHamHam_Touch"armoury_entity""HamTouchPre")
}

public 
HamTouchPreweapon )
    return 
HAM_SUPERCEDE// blocks function call 
5. Prawidłowe usuwanie buyzones(Exolent)

Kod php:
#include < amxmodx >
#include < engine >
#include < fakemeta >

new const info_map_parameters[ ] = "info_map_parameters";

new 
g_hSpawn;

public 
plugin_precache( ) {
    new 
iEntity create_entityinfo_map_parameters );
    
DispatchKeyValueiEntity"buying""3" );
    
DispatchSpawniEntity );
    
    
g_hSpawn register_forwardFM_Spawn"FwdSpawn" );
}

public 
FwdSpawniEntity ) {
    static 
szClassname32 ];
    
entity_get_stringiEntityEV_SZ_classnameszClassname31 );
    
    if( 
equalszClassnameinfo_map_parameters ) ) {
        
remove_entityiEntity );
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
plugin_init( ) {
    if( 
g_hSpawn ) {
        
unregister_forwardFM_Spawng_hSpawn );
    }

6. Prawidłowe usuwanie bytów na mapie(Alucard)

Kod php:
#include <amxmodx>
#include <fakemeta>

new const g_RemoveEntity[] = "classname_here";

public 
plugin_precache()
{
    
register_plugin("Fine""and""you?");
    
    
// Remember to do this in plugin_precache, if you
    // do this in plugin_init( ) this will not work!
    
    
register_forward(FM_Spawn"HookFmSpawn");
}

public 
HookFmSpawn(iEntity)
{
    if(!
pev_valid(iEntity) )
        return 
FMRES_IGNORED;
    
    static 
szClassName[32];
    
pev(iEntitypev_classnameszClassName31);
    
    if(
equali(szClassNameg_RemoveEntity) )
    {
        
engfunc(EngFunc_RemoveEntityiEntity);

        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;

7. Respawnowanie gracza

Kod php:
// GOOD, hamsandwich
ExecuteHamBHam_CS_RoundRespawnplayerindex )

// GOOD, fakemeta
set_pevplayerindexpev_deadflagDEAD_RESPAWNABLE 
Lub, polecane przeze mnie:

Kod php:
dllfunc(DLLFunc_Spawnid); 

Opis przetłumaczony przez navena dla wiaderko.com. Zabraniam kopiowania.