[ROZWIĄZANE] bug przy menu wyboru broni
Narcyzek
15.09.2012
Znajomy przerobił mi klasę, aby miała ona wybór broni na początku rundy.. haczyk lecz wygląda tak:
pierwsza runda
-wybieram ak - ma tylko 30ammo
druga runda
/mam juz ak z 120ammo/
-wybieram m4 - mam m4 30 ammo
trzecia runda
/mam juz ak i m4 ze 120ammo/
Chciałbym aby po/przed rundą wywalało broń, aby nowo wybrana nie pokrywala sie ze starą.
próbowałem jak widać użyć
Użytkownik Narcyzek edytował ten post 15.09.2012 16:32
pierwsza runda
-wybieram ak - ma tylko 30ammo
druga runda
/mam juz ak z 120ammo/
-wybieram m4 - mam m4 30 ammo
trzecia runda
/mam juz ak i m4 ze 120ammo/
Chciałbym aby po/przed rundą wywalało broń, aby nowo wybrana nie pokrywala sie ze starą.
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <hamsandwich>
new const nazwa[] = "Szturmowy";
new const opis[] = "AK/M4. Startowe 145hp";
new const bronie = 0;
new const zdrowie = 45;
new const kondycja = 10;
new const inteligencja = 10;
new const wytrzymalosc = 20;
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_Spawn, "player", "g_Spawn", 1);
}
public cod_class_enabled(id){
ma_klase[id] = true;
}
public cod_class_disabled(id){
ma_klase[id] = false;
}
public g_Spawn(id)
{
if(ma_klase[id] && is_user_alive(id))
menu(id);
}
public menu(id){
new menu = menu_create("Jaki zestaw broni preferujesz", "g_Choose");
menu_additem(menu, "\rM4A1 + Usp");
menu_additem(menu, "\wAk47 + glock");
menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
menu_display(id, menu);
}
public g_Choose(id, menu, item){
if(item == MENU_EXIT){
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch(item)
{
case 0:{
cod_give_weapon(id, CSW_M4A1);
cod_give_weapon(id, CSW_USP);
}
case 1:{
cod_give_weapon(id, CSW_AK47);
cod_give_weapon(id, CSW_GLOCK18);
}
}
if(!is_user_alive(id))
{
strip_user_weapons(id)
}
return PLUGIN_CONTINUE;
}
próbowałem jak widać użyć
if(!is_user_alive(id)) { strip_user_weapons(id) }lecz chyba mi źle skompilowało lub źle zastosowałem to.
Użytkownik Narcyzek edytował ten post 15.09.2012 16:32
glut
15.09.2012
sprawdź
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <hamsandwich>
new const nazwa[] = "Szturmowy";
new const opis[] = "AK/M4. Startowe 145hp";
new const bronie = 0;
new const zdrowie = 45;
new const kondycja = 10;
new const inteligencja = 10;
new const wytrzymalosc = 20;
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_Spawn, "player", "g_Spawn", 1);
}
public cod_class_enabled(id){
ma_klase[id] = true;
}
public cod_class_disabled(id){
ma_klase[id] = false;
}
public g_Spawn(id)
{
if(ma_klase[id] && is_user_alive(id))
{
strip_user_weapons(id)
menu(id);
}
}
public menu(id){
new menu = menu_create("Jaki zestaw broni preferujesz", "g_Choose");
menu_additem(menu, "\rM4A1 + Usp");
menu_additem(menu, "\wAk47 + glock");
menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
menu_display(id, menu);
}
public g_Choose(id, menu, item){
if(item == MENU_EXIT){
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch(item)
{
case 0:{
cod_give_weapon(id, CSW_M4A1);
cod_give_weapon(id, CSW_USP);
}
case 1:{
cod_give_weapon(id, CSW_AK47);
cod_give_weapon(id, CSW_GLOCK18);
}
}
return PLUGIN_CONTINUE;
}
Narcyzek
15.09.2012
dziękuje.. ja jestem zdolny
Plus leci... usuncie temat :PPP bo mi klase podpieprzą
Wszystko ok, sprawdzilem - tylko jeden problem zostal a 1 narodzil sie
można jakoś ammo do nich dodać? bo w tych broniach nie ma amunicji
dzięki opcji
jest jakas komenda/polecenia które zabiera broń.. nie zabiera wszystkich tylko okreslone?
Plus leci... usuncie temat :PPP bo mi klase podpieprzą
Wszystko ok, sprawdzilem - tylko jeden problem zostal a 1 narodzil sie
można jakoś ammo do nich dodać? bo w tych broniach nie ma amunicji
dzięki opcji
strip_user_weapons(id)nie mam innych broni... noza.. perki dajace przedmioty sie kasuja...
jest jakas komenda/polecenia które zabiera broń.. nie zabiera wszystkich tylko okreslone?
glut
16.09.2012
to wykorzystaj
to
w
Lub to co napisał kolega niżej
(ja podałem przykład jak zrobić inaczej )
Użytkownik glut1997 edytował ten post 16.09.2012 17:24
to
if(get_user_weapon(id) == CSW_MP5NAVY)
{
strip_user_weapons(id)
}
w
public g_Spawn(id)
Lub to co napisał kolega niżej
(ja podałem przykład jak zrobić inaczej )
Użytkownik glut1997 edytował ten post 16.09.2012 17:24
Droso
16.09.2012
uzyj stocka ham_strip_user_weapons on odbiera okreslone bronieto wykorzystaj
toif(get_user_weapon(id) == CSW_MP5NAVY)
{
strip_user_weapons(id)
}
wpublic g_Spawn(id)
Narcyzek
16.09.2012
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <hamsandwich>
new const nazwa[] = "Szturmowy";
new const opis[] = "AK/M4. Startowe 145hp";
new const bronie = 0;
new const zdrowie = 45;
new const kondycja = 10;
new const inteligencja = 10;
new const wytrzymalosc = 20;
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_Spawn, "player", "g_Spawn", 1);
}
public cod_class_enabled(id){
ma_klase[id] = true;
}
public cod_class_disabled(id){
ma_klase[id] = false;
}
public g_Spawn(id)
{
if(ma_klase[id] && is_user_alive(id))
{
if(user_has_weapon(id, CSW_AK47)){ ham_strip_user_weapon(id, CSW_AK47, 1, true); }else{ return 0; }
if(user_has_weapon(id, CSW_M4A1)){ ham_strip_user_weapon(id, CSW_M4A1, 1, true); }else{ return 0; }
menu(id);
}
}
public menu(id){
new menu = menu_create("Jaki zestaw broni preferujesz", "g_Choose");
menu_additem(menu, "\rM4A1 + Usp");
menu_additem(menu, "\wAk47 + glock");
menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
menu_display(id, menu);
}
public g_Choose(id, menu, item){
if(item == MENU_EXIT){
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch(item)
{
case 0:{
get_user_weapon(id) == CSW_M4A1;
get_user_weapon(id) == CSW_USP;
}
case 1:{
get_user_weapon(id) == CSW_AK47);
get_user_weapon(id) == CSW_GLOCK18);
}
}
return PLUGIN_CONTINUE;
}
Miało by to tak wyglądać?
Może mi to ktoś skompilować?
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team codclass_Szturmowy.sma(36) : error 017: undefined symbol "ham_strip_user_weapon" codclass_Szturmowy.sma(37) : error 017: undefined symbol "ham_strip_user_weapon" codclass_Szturmowy.sma(41) : warning 209: function "g_Spawn" should return a value codclass_Szturmowy.sma(64) : error 001: expected token: ";", but found ")" codclass_Szturmowy.sma(64) : error 029: invalid expression, assumed zero codclass_Szturmowy.sma(64) : warning 215: expression has no effect codclass_Szturmowy.sma(65) : error 001: expected token: ";", but found ")" codclass_Szturmowy.sma(65) : error 029: invalid expression, assumed zero codclass_Szturmowy.sma(65) : warning 215: expression has no effect 6 Errors. Could not locate output file codclass_Szturmowy.amxx (compile failed).to samo lokalnie
Użytkownik Narcyzek edytował ten post 16.09.2012 17:36
Narcyzek
16.09.2012
codclass_Szturmowy.sma(55) : warning 209: function "g_Spawn" should return a value
i przez to nie ma menu
sekio 17.09.2012
Po co tak mącić w kodzie skoro można dodać to w prosty sposób im niej kodu tym łatwiej się dokonuje późniejszych zmian.
Użytkownik sekio edytował ten post 17.09.2012 12:28
Załączone pliki
Użytkownik sekio edytował ten post 17.09.2012 12:28
Narcyzek
17.09.2012
udało się.. Glut, coś twój kod znowu nie chciał się skompilować więc nie sprawdziłem.
sekio, twój działa bez zarzutu.. za każdą odpowiedź dałem po "+". temat do zamknięcia.
sekio, twój działa bez zarzutu.. za każdą odpowiedź dałem po "+". temat do zamknięcia.
Kawon
17.09.2012
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL