[ROZWIĄZANE] Menu broni
C@w@ler 09.09.2012
WItam!
Mógłby ktoś poprawić ten plugin (sma na dole), bo nie działa poprawnie, dzisiaj np. wbijam na serwa i daje menu w pierwszej rundzie, a powinno od 2. Chciałbym, aby ktoś poprawił go i dał od 3 rundy.
Mógłby ktoś poprawić ten plugin (sma na dole), bo nie działa poprawnie, dzisiaj np. wbijam na serwa i daje menu w pierwszej rundzie, a powinno od 2. Chciałbym, aby ktoś poprawił go i dał od 3 rundy.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#define FLAGA ADMIN_LEVEL_H // flaga
#define PLUGIN "vip_menu"
#define VERSION "1.0"
#define AUTHOR "VuX"
new runda = 0;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "daj", 1);
register_event("HLTV", "Runda", "a", "1=0", "2=0");
}
public func_menu(id)
{
new menu = menu_create("Wybierz zestaw broni","func_menu_show")
menu_additem(menu,"M4A1+DEAGLE+granaty","1",0)
menu_additem(menu,"AK47+DEAGLE+granaty","2",0)
menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0)
return PLUGIN_CONTINUE
}
public func_menu_show(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 :
{
strip_user_weapons(id)
give_item(id, "weapon_knife");
give_item(id, "weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
}
case 2:
{
strip_user_weapons(id)
give_item(id, "weapon_knife");
give_item(id, "weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
}
}
return PLUGIN_CONTINUE;
}
public daj(id){
if(runda>=2)
{
if(get_user_flags(id) & FLAGA)
{
if(is_user_alive(id))
{
set_task(2.0, "func_menu", id)
}
}
}
}
public Runda(id)
{
runda++
}
Kawon
09.09.2012
C@w@ler 09.09.2012
Sorry za zamieszanie, ale czy mógłbyś usunąć z tego menu granaty i dodać takie kolorowe menu? Tzn. tak na żółto i napisać "weź" takie coś:
C@w@ler 10.09.2012
Coś nie takie te menu: http://vlep.pl/5tmpic.jpg Przy numeracji są jakieś literki, proszę o poprawę.
Edited by C@w@ler, 10.09.2012 17:09.
Edited by C@w@ler, 10.09.2012 17:09.
Gość_21977_* 10.09.2012
Zamień
bronie.sma 2.52KB 33 downloads
menu_setprop(menu, MPROP_NUMBER_COLOR, "d");na
menu_setprop(menu, MPROP_NUMBER_COLOR, "\d");Umknął mi slash.
bronie.sma 2.52KB 33 downloads
C@w@ler 10.09.2012
Wszystko super, tylko te menu koliduje chyba z VIP generator. Tzn. w vip generator dałem granaty od 2 rundy i faktycznie dostaję je od 2 rundy, natomiast znikają one w momencie kiedy pojawia się menu z broniami, czyli w 3 rundzie, wtedy już nie dostaję granatów, po wybraniu np. m4a1+Deagle. Proszę o pomoc.
Gość_21977_* 10.09.2012
Potwierdzam, że jest niekompatybilne.
W momencie spawnu, vip z generatora natychmiast daje nagrody, w tym granaty.
Plugin vipa zamieszczony przez Ciebie powyżej, 2 sekundy później wyświetla menu, gdzie wybrawszy dowolną opcję,
znikają wszystkie bronie (+granaty, a nawet nóż), po czym są na nowo dodawane.
Nie można więc powiedzieć, żeby plugin vip "bronie" z tego tematu działał prawidłowo.
Ponadto, nie sprawdza on, czy osoba, która kliknie cokolwiek w menu, jest jeszcze żywa,
co może generować liczne błędy, a nawet crashować serwer. W każdym razie, Error logami na pewno posypie.
Proponowałbym napisać na nowo plugin "broni", bo w obecnej formie nie nadaje się do użytku.
W momencie spawnu, vip z generatora natychmiast daje nagrody, w tym granaty.
Plugin vipa zamieszczony przez Ciebie powyżej, 2 sekundy później wyświetla menu, gdzie wybrawszy dowolną opcję,
znikają wszystkie bronie (+granaty, a nawet nóż), po czym są na nowo dodawane.
Nie można więc powiedzieć, żeby plugin vip "bronie" z tego tematu działał prawidłowo.
Ponadto, nie sprawdza on, czy osoba, która kliknie cokolwiek w menu, jest jeszcze żywa,
co może generować liczne błędy, a nawet crashować serwer. W każdym razie, Error logami na pewno posypie.
Proponowałbym napisać na nowo plugin "broni", bo w obecnej formie nie nadaje się do użytku.
C@w@ler 10.09.2012
Właśnie serwer doznał crashu , a czy mógłbyś napisać takowy plugin? Bo ja nie znam się aż tak bardzo, aby pisać pluginy. Z góry dziękuję.
C@w@ler 10.09.2012
Ok zaraz wyślę, jeszcze problem mam z errorami:
Tutaj .sma vipa:
L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100) L 09/09/2012 - 23:53:29: [MySQL] Thread worker was unable to start. L 09/09/2012 - 23:53:29: [AMXX] Displaying debug trace (plugin "amxbans_main.amxx") L 09/09/2012 - 23:53:29: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 09/09/2012 - 23:53:29: [AMXX] [0] check_flag.inl::check_flagged (line 36) L 09/09/2012 - 23:53:29: [AMXX] [1] check_player.inl::check_player_ (line 100)
Tutaj .sma vipa:
#include <amxmodx>
#include <colorchat>
#include <cstrike>
#include <csx>
#include <fun>
#include <hamsandwich>
new Array:g_Array, bool:g_Vip[33], gRound=0;
new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};
public plugin_init(){
register_plugin("VIP Ultimate", "5.1.0.2", "benio101 & speedkill");
RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
register_logevent("GameCommencing", 2, "1=Game_Commencing");
g_Array=ArrayCreate(64,32);
for(new i;i<sizeof g_Langcmd;i++)
register_clcmd(g_Langcmd[i],"g_Vips");
register_clcmd("say /vip", "g_ShowMotd");
register_event("DeathMsg", "DeathMsg", "a");
register_logevent("Round_end", 2, "1=Round_End");
}
public client_authorized(id){
if(get_user_flags(id) & 524288 == 524288){
client_authorized_vip(id);
}
}
public client_authorized_vip(id){
g_Vip[id]=true;
new g_Name[64];
get_user_name(id,g_Name,charsmax(g_Name));
ArrayPushString(g_Array,g_Name);
}
public client_disconnect(id){
if(g_Vip[id]){
client_disconnect_vip(id);
}
}
public client_disconnect_vip(id){
g_Vip[id]=false;
new Name[64];
get_user_name(id,Name,charsmax(Name));
new g_Size = ArraySize(g_Array);
new g_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
if(equal(g_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
public SpawnedEventPre(id){
if(g_Vip[id]){
if(is_user_alive(id)){
SpawnedEventPreVip(id);
}
}
}
public event_new_round(){
++gRound;
}
public GameCommencing(){
gRound=0;
}
public SpawnedEventPreVip(id){
if(gRound>=2){
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
cs_set_user_bpammo(id, CSW_FLASHBANG,2);
give_item(id, "weapon_smokegrenade");
}
}
public g_Vips(id){
new g_Name[64],g_Message[192];
new g_Size=ArraySize(g_Array);
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
add(g_Message, charsmax(g_Message), g_Name);
if(i == g_Size - 1)
add(g_Message, charsmax(g_Message), ".");
else
add(g_Message, charsmax(g_Message), ", ");
}
ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze : ^x04%s", g_Message);
}
public client_infochanged(id){
if(g_Vip[id]){
new szName[64];
get_user_info(id,"name",szName,charsmax(szName));
ArrayPushString(g_Array,szName);
new Name[64];
get_user_name(id,Name,charsmax(Name));
new g_Size=ArraySize(g_Array);
new g_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
if(equal(g_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
}
public plugin_end(){
ArrayDestroy(g_Array);
}
public g_ShowMotd(id){
if(is_user_connected(id))
show_motd(id, "vip.txt", "Informacje o vipie");
}
public bomb_planted(id){
if(is_user_alive(id) && g_Vip[id])
cs_set_user_money(id,cs_get_user_money(id) + 300);
}
public bomb_defused(id){
if(is_user_alive(id) && g_Vip[id])
cs_set_user_money(id,cs_get_user_money(id) + 300);
}
public DeathMsg(){
new killer=read_data(1);
new victim=read_data(2);
if(is_user_alive(killer) && g_Vip[killer]){
if(get_user_team(killer) != get_user_team(victim)){
new g_Hs=read_data(3);
new g_Hp=get_user_health(killer);
if(g_Hs){
cs_set_user_money(killer,cs_get_user_money(killer) + 500);
if(g_Hp < 130){
if(g_Hp + 10 > 120){
new g_Dif = 120 - g_Hp;
set_user_health(killer,g_Hp + g_Dif);
}
else
set_user_health(killer,g_Hp + 10);
}
}
else{
cs_set_user_money(killer,cs_get_user_money(killer) + 300);
if(g_Hp < 120){
if(g_Hp + 5 > 120 ){
new g_Dif = 120 - g_Hp;
set_user_health(killer,g_Hp + g_Dif);
}
else
set_user_health(killer,g_Hp + 5);
}
}
}
}
}
public Round_end(){
for(new i = 1; i < 33; i++){
if(is_user_alive(i) && g_Vip[i])
cs_set_user_money(i,cs_get_user_money(i) + 200);
}
}
C@w@ler 10.09.2012
Wiem, to z amxbansa, ale chyba przez to był chyba crash, a 2 temat zakładać to tak...