hlmod.hu
https://hlmod.hu/

Egyes pályákon fegyvermenü tiltás
https://hlmod.hu/viewtopic.php?f=29&t=23899
Oldal: 1 / 1

Szerző:  FonoK [ 2016.02.07. 09:22 ]
Hozzászólás témája:  Egyes pályákon fegyvermenü tiltás

Sziasztok! Már több mint egy hónapja működik a szerveremen ez a plugin
CSDM Stílusú Fegyvermenü , és eddig ez a legjobb fegyvermenü amit csak láttam!
Viszont volna egy óriási nagy problémám, hogy valahogy be kéne állítanom hogy pl. awp indián és aim_crazyjum3 mapokon ne jöjjön elő a menü.
(Egy régebbi fórum témámon kaptam vásárlás tiltót "kengurumancs" felhasználótól, , ha "fegyvermenü nélkül" a régi, b betűs lenyomással vásárolnék, akkor tényleg nem enged vásárolni.... És tényleg nem enged, meg se nyitja az "alap" menüt..
Viszont ha bent van ez a fegyvermenü akkor ezt megnyitja sajnos, és így tudnak vásárolni pl. indián ak47-et, pl...
Remélem, hogy érthető volt, s valaki segít nekem!!! Köszönöm szépen!

Szerző:  mforce [ 2016.02.07. 09:50 ]
Hozzászólás témája:  Re: Egyes pályákon fegyvermenü tiltás

  1. public plugin_init() {
  2.     new const blockedmapnames[][] = { "fy_", "awp_" }
  3.     new mapname[32]; get_mapname(mapname, charsmax(mapname));
  4.     for(new i; i < sizeof(blockedmapnames); i++) {
  5.         if(contain(mapname, blockedmapnames[i]) != -1) {
  6.             pause("od");
  7.         }
  8.     }
  9. }


init részbe.

Buyzone block meg itt:

  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. #define PLUGIN "Buyzone block"
  5. #define VERSION "1.0"
  6. #define AUTHOR "unknown"
  7.  
  8.  
  9. public plugin_init() {
  10.     register_plugin(PLUGIN, VERSION, AUTHOR);
  11.     register_message(get_user_msgid("Money"), "MessageMoney");
  12.     register_message(get_user_msgid("HideWeapon"), "MessageHideWeapon");
  13.     register_message(get_user_msgid("StatusIcon"), "Message_StatusIcon");
  14. }
  15.  
  16. public MessageMoney(msgid, dest, id) {
  17.     set_pdata_int(id, 115, 0);
  18.     set_msg_arg_int(1, ARG_LONG, 0);
  19. }
  20.  
  21. public MessageHideWeapon(msgid, dest, id) {
  22.     set_msg_arg_int(1, ARG_BYTE, get_msg_arg_int(1) | (1<<5));
  23. }
  24.  
  25. public Message_StatusIcon(iMsgId, iMsgDest, id) {
  26.     static szIcon[8];
  27.     get_msg_arg_string(2, szIcon, charsmax(szIcon));
  28.     if(equal(szIcon, "buyzone")) {
  29.         if(get_msg_arg_int(1)) {
  30.             set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0));
  31.             return PLUGIN_HANDLED;
  32.         }
  33.     }
  34.     return PLUGIN_CONTINUE;
  35. }


Szintúgy az init részbe beteheted azt, amit írtam.
Értelemszerűen a parancsok fölé, és elsőnek a mapnevet ellenőrzi a plugin, ha talált leáll.

Szerző:  FonoK [ 2016.02.07. 09:57 ]
Hozzászólás témája:  Re: Egyes pályákon fegyvermenü tiltás

Köszönöm a választ, így csináltam ,sajnos nem működik
(Biztos, hogy elrontottam valamit, leírom részletesen.)

Ez az alap fegyvertiltó:
Idézet:
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Buyzone block"
#define VERSION "1.0"
#define AUTHOR "unknown"


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_message(get_user_msgid("Money"), "MessageMoney");
register_message(get_user_msgid("HideWeapon"), "MessageHideWeapon");
register_message(get_user_msgid("StatusIcon"), "Message_StatusIcon");
}

public MessageMoney(msgid, dest, id) {
set_pdata_int(id, 115, 0);
set_msg_arg_int(1, ARG_LONG, 0);
}

public MessageHideWeapon(msgid, dest, id) {
set_msg_arg_int(1, ARG_BYTE, get_msg_arg_int(1) | (1<<5));
}

public Message_StatusIcon(iMsgId, iMsgDest, id) {
static szIcon[8];
get_msg_arg_string(2, szIcon, charsmax(szIcon));
if(equal(szIcon, "buyzone")) {
if(get_msg_arg_int(1)) {
set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0));
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}


1. fegyvertilto.sma -néven elmentettem a forráskódot.
2. Beraktam a scripting mappába.
3. Configs mappába létrehoztam egy maps nevű mappát, amibe pedig egy "awp_india" .ini fil-t, amibe pedig beírtam a fentebb leírt forráskódodat :)
Plugnns.ini - be beleírtam a fegyvertilto.amxx -et.

Biztos elrontottam, ugye? :(

Szerző:  mforce [ 2016.02.07. 10:03 ]
Hozzászólás témája:  Re: Egyes pályákon fegyvermenü tiltás

Mi a jó isten.
Át kell kompilálni amxx-be. Pluginsba rakni és akkor beírni configs/plugins.ini-be. De mondtam, ha nem minden mapon kell használd a blocker részt is bele. Szintúgy a csdm-be.

Szerző:  FonoK [ 2016.02.07. 15:45 ]
Hozzászólás témája:  Re: Egyes pályákon fegyvermenü tiltás

Köszönöm szépen a válaszokat mforce, nagyra értékelem, de nagyon kezdő vagyok, így nem tudom összerakni hogy-hogy gondolod

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/