Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] Jak zrobić Callbacka do knifemoda ?


Najlepsza odpowiedź Droso, 29.12.2013 11:25

knifemenu(id, key)

->

knifemenu(id, menu, key)
Przejdź do postu


  • Zamknięty Temat jest zamknięty
12 odpowiedzi w tym temacie

#1 ChicuuPlayGames

    Zaawansowany

  • Zbanowany

Reputacja: 13
Początkujący

  • Postów:90
  • Lokalizacja:Gdynia
Offline

Napisano 24.12.2013 10:19

Siema, przerobiłem knife-moda pod moje upodobania, chciałbym aby nóż 2,3,4 był zablokowany jeśli gracz nie posiada odpowiedniej do niego flagi. 2,3 to noże dla vipa, 4 jest dla admina. Od kumpla dostałem odpowiedz "Zrób Callback", niestety nie wiem na czym on polega.

edit: Nie chodzi tu żeby on był zablokowany tak jak teraz = Klikniesz i napisze ci na chat ze jest dla vipa, chodzi o to żeby ta opcja noża 2,3,4 była na szaro w menu.

SMA:
 

Spoiler

 


Użytkownik ChicuuPlayGames edytował ten post 24.12.2013 10:22


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 24.12.2013 10:22

http://amxx.pl/topic...tworzenie-menu/

 

Metoda 2


  • +
  • -
  • 1

#3 ChicuuPlayGames

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 13
Początkujący

  • Postów:90
  • Lokalizacja:Gdynia
Offline

Napisano 24.12.2013 10:43

Czarowałem i to tyle z tego co zrozumiałem ;x 
 

public display_knife(id) {
new MyMenuFun=menu_makecallback("mcbMyMenu");
new menuBody[512]
add(menuBody, 511, "\r    *** Wybierz Noz ***  -  BETA TESTY\w^n^n")
add(menuBody, 511, "1. Kastet \y(Gracz)\w^n,0,MyMenuFun")
add(menuBody, 511, "2. Lom \y(VIP)\w^n",0,MyMenuFun)
add(menuBody, 511, "3. Przepychacz \y(VIP)\w^n")
add(menuBody, 511, "4. Baseball \y(Admin)\w^n^n^n")
add(menuBody, 511, "0. Wyjscie^n")


new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
show_menu(id, keys, menuBody, -1, "Knife Mod")
}


public mcbMyMenu(id, menu, item){
if(item==1)
return ITEM_DISABLED;
return ITEM_ENABLED;
}

 

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team


noz.sma(62) : error 088: number of arguments does not match definition
noz.sma(69) : warning 204: symbol is assigned a value that is never used: "MyMenuFun"
noz.sma(106) : warning 225: unreachable code
noz.sma(113) : warning 225: unreachable code
noz.sma(120) : warning 225: unreachable code


1 Error.
Could not locate output file noz.amxx (compile failed).

 


Użytkownik ChicuuPlayGames edytował ten post 24.12.2013 10:44


#4 Dragon1020

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:50
  • Lokalizacja:Polska
Offline

Napisano 26.12.2013 06:38

Jak również się pod to podpinam :)
Chciałem pomóc, pokombinowałem aż przekombinowałem ^^
Tyle z tego wyszło nwm co źle wiem że z argumentami przy wyborze noży jest cuś nie tak
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <vault>
#include <fun>

#pragma tabsize 0
#define PLUGIN "Knife Mod"
#define VERSION "1.0"
#define AUTHOR "spunko"

#define TASK_INTERVAL 4.0  
#define MAX_HEALTH 255  

new knife_model[33]
new g_Menu

new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE

public plugin_init() {
    
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_event( "Damage", "event_damage", "be" )
    register_event("CurWeapon","CurWeapon","be","1=1")
    
    g_Menu = register_menuid("Knife Mod")
    register_menucmd(g_Menu, 1023, "knifemenu")
    
    register_clcmd("say /knife", "display_knife")
    register_clcmd("say /noz", "display_knife")
    register_clcmd("say /noze", "display_knife")
    register_clcmd("say /bron", "display_knife")
    register_clcmd("mymenu","display_knife");
    
    CVAR_HEALTH_ADD = register_cvar("km_addhealth", "0")
    CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "0")
    CVAR_DAMAGE = register_cvar("km_damage", "0")
    CVAR_LOWGRAV = register_cvar("km_lowgravity" , "800")
    CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
    
    set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() {
    precache_model("models/knife-mod/v_baseball.mdl")
    precache_model("models/knife-mod/p_baseball.mdl")
    precache_model("models/knife-mod/v_lomek.mdl")
    precache_model("models/knife-mod/p_lomek.mdl")
    precache_model("models/knife-mod/v_kastet.mdl")
    precache_model("models/knife-mod/v_przepychacz.mdl")
    precache_model("models/knife-mod/p_przepychacz.mdl")
}

public display_knife(id) {
    new menuBody[512]
    new MyMenuFun=menu_makecallback("mcbMyMenu");
    add(menuBody, 511, "\r    *** Wybierz Noz ***  -  BETA TESTY\w^n^n")
    add(menuBody, 511, "1. Kastet \y(Gracz)\w^n","",0,MyMenuFun)
    add(menuBody, 511, "2. Lom \y(VIP)\w^n","",ADMIN_LEVEL_H,MyMenuFun)
    add(menuBody, 511, "3. Przepychacz \y(VIP)\w^n","",ADMIN_LEVEL_H,MyMenuFun)
    add(menuBody, 511, "4. Baseball \y(Admin)\w^n^n^n","",ADMIN_KICK,MyMenuFun)
    add(menuBody, 511, "0. Wyjscie^n")

    menu_display(id, display_knife,0);

    new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
    show_menu(id, keys, menuBody, -1, "Knife Mod")

}

public knifemenu(id, key) {
    switch(key)
    {
        case 0: SetKnife(id , 4)
        case 1: SetKnife(id , 2)
        case 2: SetKnife(id , 3)
        case 3: SetKnife(id , 1)
        case 4: SetKnife(id , 0)
        default: return PLUGIN_HANDLED
    }
    SaveData(id)
    return PLUGIN_HANDLED
}

public SetKnife(id , Knife) {
    knife_model[id] = Knife
    
    new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
    if ( Weapon != CSW_KNIFE )
        return PLUGIN_HANDLED
    
    new vModel[56],pModel[56]
    
    switch(Knife)
    {
        case 1: {
                        if(!(get_user_flags(id) & ADMIN_KICK))
                        client_print(id, print_chat, "Bron dla Admina - Nie mozesz jej uzywac")
                        return PLUGIN_HANDLED;
            format(vModel,55,"models/knife-mod/v_baseball.mdl")
            format(pModel,55,"models/knife-mod/p_baseball.mdl")
        }
        case 2: {
                        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
                        client_print(id, print_chat, "Bron dla VIPa - Nie mozesz jej uzywac")
                        return PLUGIN_HANDLED;
            format(vModel,55,"models/knife-mod/v_lomek.mdl")
            format(pModel,55,"models/knife-mod/p_lomek.mdl")
        }
        case 3: {
                        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
                        client_print(id, print_chat, "Bron dla VIPa - Nie mozesz jej uzywac")
                        return PLUGIN_HANDLED;
            format(vModel,55,"models/knife-mod/v_przepychacz.mdl")
            format(pModel,55,"models/knife-mod/p_przepychacz.mdl")
        }
        case 4: {
            format(vModel,55,"models/knife-mod/v_kastet.mdl")
        }
    }
    
    entity_set_string(id, EV_SZ_viewmodel, vModel)
    entity_set_string(id, EV_SZ_weaponmodel, pModel)
    
    return PLUGIN_HANDLED;  
}

public event_damage( id ) {
    
    new victim_id = id;
    if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
    new dmg_take = read_data( 2 );
    new dmgtype = read_data( 3 );
    new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
    new Float:damage = dmg_take * multiplier;
    new health = get_user_health( victim_id );
    
    new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
    
    if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
        return PLUGIN_HANDLED
    }
    
    if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
        
        if( floatround(damage) >= health ) {
            if( victim_id == attacker_id ) {
                return PLUGIN_CONTINUE
                }else{
                log_kill( attacker_id, victim_id, "knife", 0 );
            }
            
            return PLUGIN_CONTINUE
            }else {
            if( victim_id == attacker_id ) return PLUGIN_CONTINUE
            
            fakedamage( victim_id, "weapon_knife", damage, dmgtype );
        }
    }
    return PLUGIN_CONTINUE
}

public CurWeapon(id)
    {
    new Weapon = read_data(2)
    
    // Set Knife Model
    SetKnife(id, knife_model[id])   
    
    // Task Options
    
    if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
        set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
    else if(task_exists(id))
        remove_task(id)
    
    // Abilities
    
    new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
    set_user_gravity(id , Gravity)
    
    // Speed

    
    return PLUGIN_HANDLED   
    
}

stock log_kill(killer, victim, weapon[],headshot) {
    user_silentkill( victim );
    
    message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
    write_byte( killer );
    write_byte( victim );
    write_byte( headshot );
    write_string( weapon );
    message_end();
    
    new kfrags = get_user_frags( killer );
    set_user_frags( killer, kfrags++ );
    new vfrags = get_user_frags( victim );
    set_user_frags( victim, vfrags++ );
    
    return  PLUGIN_CONTINUE
}


public task_healing(id) {  
    new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
    if (!addhealth)
        return  
    
    new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
    if (maxhealth > MAX_HEALTH) {
        set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
        maxhealth = MAX_HEALTH
    }  
    
    new health = get_user_health(id)   
    
    if (is_user_alive(id) && (health < maxhealth)) {
        set_user_health(id, health + addhealth)
        set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
        show_hudmessage(id,"<< !!HEAL IN PROGRESS!! >>")
        message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
        write_short(1<<10)
        write_short(1<<10)
        write_short(0x0000)
        write_byte(0)
        write_byte(200)
        write_byte(0)
        write_byte(75)
        message_end()
    }
    
    else {
        if (is_user_alive(id) && (health > maxhealth))
            remove_task(id)
    }
}  

public client_disconnect(id) {  
    if(task_exists(id)) remove_task(id)  
}  


public kmodmsg() {
    
    client_print(0,print_chat,"[Noze] Aby zmienic wyglad swojego noza napisz: /noz")
}  

public client_authorized(id)
    {
    LoadData(id)
}

SaveData(id)
{
    
    new authid[32]
    get_user_authid(id, authid, 31)
    
    new vaultkey[64]
    new vaultdata[64]
    
    format(vaultkey, 63, "KMOD_%s", authid)
    format(vaultdata, 63, "%d", knife_model[id])
    set_vaultdata(vaultkey, vaultdata)
}

LoadData(id)
{
    new authid[32]
    get_user_authid(id,authid,31)
    
    new vaultkey[64], vaultdata[64]
    
    format(vaultkey, 63, "KMOD_%s", authid)
    get_vaultdata(vaultkey, vaultdata, 63)
    knife_model[id] = str_to_num(vaultdata)
    
}
public mcbMyMenu(id, menu, item){
if(!(get_user_flags(id) & ADMIN_LEVEL_H) & item==1 & item=2)
if(!(get_user_flags(id) & ADMIN_KICK) & item==3)
        return ITEM_DISABLED;
    return ITEM_ENABLED;
}
Errory:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

abc.sma(63) : error 035: argument type mismatch (argument 4)
abc.sma(64) : error 035: argument type mismatch (argument 4)
abc.sma(65) : error 035: argument type mismatch (argument 4)
abc.sma(66) : error 035: argument type mismatch (argument 4)
abc.sma(69) : error 029: invalid expression, assumed zero
abc.sma(69) : warning 215: expression has no effect
abc.sma(69) : error 001: expected token: ";", but found ")"
abc.sma(69) : error 029: invalid expression, assumed zero
abc.sma(69) : fatal error 107: too many error messages on one line

Compilation aborted.
8 Errors.
 W efekcie próbowałem zablokować opcję(item)  1 i 2 dla osób które nie posiadają flagi t a item 3 dla osób które nie posiadają flagi c
callback wrzuciłem w public i nałożyłem na każdy z noży, ustawiłem że kastet ma czytać jako 0 czyli dla każdego a poniższe na daną flagę, errory są niestety nie potrafię poradzić sobie z nimi :/
 
Tam gdzie są błędy z argumentami gdy usuwam "" np.     add(menuBody, 511, "1. Kastet \y(Gracz)\w^n","",0,MyMenuFun)
i tak w kolejnych to wyskakuje zamiast errory z argumentami taki oto:
abc.sma(63) : error 088: number of arguments does not match definition
abc.sma(64) : error 088: number of arguments does not match definition
abc.sma(65) : error 088: number of arguments does not match definition
abc.sma(66) : error 088: number of arguments does not match definition
Proszę o pomoc w imieniu Chicuu, ponieważ iż wspólnie "męczymy" się z takowym pluginem w tym samym celu
  • +
  • -
  • 0

#5 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 26.12.2013 10:22

Pomieszałeś stary typ menu z nowym. Musisz użyć samego nowego typu.
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#6 Dragon1020

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:50
  • Lokalizacja:Polska
Offline

Napisano 26.12.2013 12:04

A potrafiłbyś takie coś zrobić ? żeby działało jak powinno

W sensie normalnie po wpisaniu /noz masz te menu z nożami ale żeby na przyciemniony kolor (nieaktywne) były te z flagami dla osób które takowej flagi nie posiadają


  • +
  • -
  • 0

#7 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 26.12.2013 18:52

public display_knife(id) {
    new menu = menu_create("   *** Wybierz Noz ***  -  BETA TESTY", "knifemenu")

    new CheckVip=menu_makecallback("mcbMyMenu")

    menu_additem(menu, "Kastet \y(Gracz)",    "", 0)
    menu_additem(menu, "Lom \y(VIP)",         "", ADMIN_LEVEL_H)
    menu_additem(menu, "Przepychacz \y(VIP)", "", ADMIN_LEVEL_H)
    menu_additem(menu, "Baseball \y(Admin)",  "", ADMIN_KICK)
 
    menu_display(id, menu);
}
Do tego wywalasz linię 32 z plugin_init i tego callbacka, co na końcu go utworzyłeś (288-293).
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#8 ChicuuPlayGames

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 13
Początkujący

  • Postów:90
  • Lokalizacja:Gdynia
Offline

Napisano 26.12.2013 21:04

Po wpisaniu /noz / /noze etc. nic się nie wyświetla. SMA gotowe poniżej
 

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


#pragma tabsize 0
#define PLUGIN "Knife Mod"
#define VERSION "1.0"
#define AUTHOR "spunko"


#define TASK_INTERVAL 4.0  
#define MAX_HEALTH 255  


new knife_model[33]
new g_Menu


new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE


public plugin_init() {
    
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_event( "Damage", "event_damage", "be" )
    register_event("CurWeapon","CurWeapon","be","1=1")


    register_menucmd(g_Menu, 1023, "knifemenu")
    
    register_clcmd("say /knife", "display_knife")
    register_clcmd("say /noz", "display_knife")
    register_clcmd("say /noze", "display_knife")
    register_clcmd("say /bron", "display_knife")
    register_clcmd("mymenu","display_knife");
    
    CVAR_HEALTH_ADD = register_cvar("km_addhealth", "0")
    CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "0")
    CVAR_DAMAGE = register_cvar("km_damage", "0")
    CVAR_LOWGRAV = register_cvar("km_lowgravity" , "800")
    CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
    
    set_task(480.0, "kmodmsg", 0, _, _, "b")
}


public plugin_precache() {
    precache_model("models/knife-mod/v_baseball.mdl")
    precache_model("models/knife-mod/p_baseball.mdl")
    precache_model("models/knife-mod/v_lomek.mdl")
    precache_model("models/knife-mod/p_lomek.mdl")
    precache_model("models/knife-mod/v_kastet.mdl")
    precache_model("models/knife-mod/v_przepychacz.mdl")
    precache_model("models/knife-mod/p_przepychacz.mdl")
}


public display_knife(id) {
    new menu = menu_create("   *** Wybierz Noz ***  -  BETA TESTY", "knifemenu")


    new CheckVip=menu_makecallback("mcbMyMenu")


    menu_additem(menu, "Kastet \y(Gracz)",    "", 0)
    menu_additem(menu, "Lom \y(VIP)",         "", ADMIN_LEVEL_H)
    menu_additem(menu, "Przepychacz \y(VIP)", "", ADMIN_LEVEL_H)
    menu_additem(menu, "Baseball \y(Admin)",  "", ADMIN_KICK)


    menu_display(id, menu);
}


public knifemenu(id, key) {
    switch(key)
    {
        case 0: SetKnife(id , 4)
        case 1: SetKnife(id , 2)
        case 2: SetKnife(id , 3)
        case 3: SetKnife(id , 1)
        case 4: SetKnife(id , 0)
        default: return PLUGIN_HANDLED
    }
    SaveData(id)
    return PLUGIN_HANDLED
}


public SetKnife(id , Knife) {
    knife_model[id] = Knife
    
    new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
    if ( Weapon != CSW_KNIFE )
        return PLUGIN_HANDLED
    
    new vModel[56],pModel[56]
    
    switch(Knife)
    {
        case 1: {
                        if(!(get_user_flags(id) & ADMIN_KICK))
                        client_print(id, print_chat, "Bron dla Admina - Nie mozesz jej uzywac")
                        return PLUGIN_HANDLED;
            format(vModel,55,"models/knife-mod/v_baseball.mdl")
            format(pModel,55,"models/knife-mod/p_baseball.mdl")
        }
        case 2: {
                        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
                        client_print(id, print_chat, "Bron dla VIPa - Nie mozesz jej uzywac")
                        return PLUGIN_HANDLED;
            format(vModel,55,"models/knife-mod/v_lomek.mdl")
            format(pModel,55,"models/knife-mod/p_lomek.mdl")
        }
        case 3: {
                        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
                        client_print(id, print_chat, "Bron dla VIPa - Nie mozesz jej uzywac")
                        return PLUGIN_HANDLED;
            format(vModel,55,"models/knife-mod/v_przepychacz.mdl")
            format(pModel,55,"models/knife-mod/p_przepychacz.mdl")
        }
        case 4: {
            format(vModel,55,"models/knife-mod/v_kastet.mdl")
        }
    }
    
    entity_set_string(id, EV_SZ_viewmodel, vModel)
    entity_set_string(id, EV_SZ_weaponmodel, pModel)
    
    return PLUGIN_HANDLED;  
}


public event_damage( id ) {
    
    new victim_id = id;
    if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
    new dmg_take = read_data( 2 );
    new dmgtype = read_data( 3 );
    new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
    new Float:damage = dmg_take * multiplier;
    new health = get_user_health( victim_id );
    
    new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
    
    if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
        return PLUGIN_HANDLED
    }
    
    if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
        
        if( floatround(damage) >= health ) {
            if( victim_id == attacker_id ) {
                return PLUGIN_CONTINUE
                }else{
                log_kill( attacker_id, victim_id, "knife", 0 );
            }
            
            return PLUGIN_CONTINUE
            }else {
            if( victim_id == attacker_id ) return PLUGIN_CONTINUE
            
            fakedamage( victim_id, "weapon_knife", damage, dmgtype );
        }
    }
    return PLUGIN_CONTINUE
}


public CurWeapon(id)
    {
    new Weapon = read_data(2)
    
    // Set Knife Model
    SetKnife(id, knife_model[id])   
    
    // Task Options
    
    if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
        set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
    else if(task_exists(id))
        remove_task(id)
    
    // Abilities
    
    new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
    set_user_gravity(id , Gravity)
    
    // Speed


    
    return PLUGIN_HANDLED   
    
}


stock log_kill(killer, victim, weapon[],headshot) {
    user_silentkill( victim );
    
    message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
    write_byte( killer );
    write_byte( victim );
    write_byte( headshot );
    write_string( weapon );
    message_end();
    
    new kfrags = get_user_frags( killer );
    set_user_frags( killer, kfrags++ );
    new vfrags = get_user_frags( victim );
    set_user_frags( victim, vfrags++ );
    
    return  PLUGIN_CONTINUE
}




public task_healing(id) {  
    new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
    if (!addhealth)
        return  
    
    new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
    if (maxhealth > MAX_HEALTH) {
        set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
        maxhealth = MAX_HEALTH
    }  
    
    new health = get_user_health(id)   
    
    if (is_user_alive(id) && (health < maxhealth)) {
        set_user_health(id, health + addhealth)
        set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
        show_hudmessage(id,"<< !!HEAL IN PROGRESS!! >>")
        message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
        write_short(1<<10)
        write_short(1<<10)
        write_short(0x0000)
        write_byte(0)
        write_byte(200)
        write_byte(0)
        write_byte(75)
        message_end()
    }
    
    else {
        if (is_user_alive(id) && (health > maxhealth))
            remove_task(id)
    }
}  


public client_disconnect(id) {  
    if(task_exists(id)) remove_task(id)  
}  




public kmodmsg() {
    
    client_print(0,print_chat,"[Noze] Aby zmienic wyglad swojego noza napisz: /noz")
}  


public client_authorized(id)
    {
    LoadData(id)
}


SaveData(id)
{
    
    new authid[32]
    get_user_authid(id, authid, 31)
    
    new vaultkey[64]
    new vaultdata[64]
    
    format(vaultkey, 63, "KMOD_%s", authid)
    format(vaultdata, 63, "%d", knife_model[id])
    set_vaultdata(vaultkey, vaultdata)
}


LoadData(id)
{
    new authid[32]
    get_user_authid(id,authid,31)
    
    new vaultkey[64], vaultdata[64]
    
    format(vaultkey, 63, "KMOD_%s", authid)
    get_vaultdata(vaultkey, vaultdata, 63)
    knife_model[id] = str_to_num(vaultdata)
    
}

Użytkownik GwynBleidD edytował ten post 28.12.2013 11:27


#9 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 27.12.2013 21:56

Podaj co Ci wysypało w error logach.
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#10 ChicuuPlayGames

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 13
Początkujący

  • Postów:90
  • Lokalizacja:Gdynia
Offline

Napisano 27.12.2013 22:21

L 12/27/2013 - 22:13:24: [AMXX] Displaying debug trace (plugin "noz.amxx")
L 12/27/2013 - 22:13:24: [AMXX] Run time error 19: function not found
L 12/27/2013 - 22:13:24: [AMXX] [0] noz_1951622.sma::display_knife (line 61)
L 12/27/2013 - 22:13:25: Invalid function mcbMyMenu
L 12/27/2013 - 22:13:25: [AMXX] Displaying debug trace (plugin "noz.amxx")
L 12/27/2013 - 22:13:25: [AMXX] Run time error 19: function not found
L 12/27/2013 - 22:13:25: [AMXX] [0] noz_1951622.sma::display_knife (line 61)
L 12/27/2013 - 22:13:26: Invalid function mcbMyMenu
L 12/27/2013 - 22:13:26: [AMXX] Displaying debug trace (plugin "noz.amxx")
L 12/27/2013 - 22:13:26: [AMXX] Run time error 19: function not found
L 12/27/2013 - 22:13:26: [AMXX] [0] noz_1951622.sma::display_knife (line 61)
L 12/27/2013 - 22:13:33: Invalid function mcbMyMenu
L 12/27/2013 - 22:13:33: [AMXX] Displaying debug trace (plugin "noz.amxx")
L 12/27/2013 - 22:13:33: [AMXX] Run time error 19: function not found
L 12/27/2013 - 22:13:33: [AMXX] [0] noz_1951622.sma::display_knife (line 61)


#11 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 28.12.2013 11:28

Wywal linię 70:
new CheckVip=menu_makecallback("mcbMyMenu")
i powinno śmigać.
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#12 ChicuuPlayGames

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 13
Początkujący

  • Postów:90
  • Lokalizacja:Gdynia
Offline

Napisano 28.12.2013 11:51

Niby działa, ale jak wybieram nóż to nie widzę go, brak rąk ani niczego. Możliwe że to nie będzie działać na jailbreaku - trudno. Lecą plusiki za chęci



#13 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 29.12.2013 11:25   Najlepsza odpowiedź

knifemenu(id, key)

->

knifemenu(id, menu, key)

  • +
  • -
  • 2

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych