Problem z własnym pluginem - bronierespawn...
Marcinox
21.12.2013
Witam.
Mam problem z własnym pluginem "bronierespawn.sma" (plik w załączniku)
Problem jest tej linijce:
if (cs_get_user_team(id) == CS_TEAM_CT,CS_TEAM_T)
Plugin ma za zadanie dawać graczowi możliwość wyboru broni na początku rundy. Kompilator podpowiada mi że w tej linijce jest błąd. Prosiłbym także o zedytowanie tego pliku tak, aby była jeszcze możliwość "zapamiętaj wybór i nie pokazuj więcej".
Dziękuję
Załączone pliki
vaulT
21.12.2013
To jest wszystko zle napisane..
Napisz normalnie co chcesz.. jakie bronie dla jakiego teamu maja byc ?
k4x4z5
21.12.2013
#include <amxmodx> #include <fun> #include <hamsandwich> #include <cstrike> public plugin_init() RegisterHam(Ham_Spawn, "player", "runda", 1); public runda(id) set_task(0.1, "menu", id) public menu(id) { if(is_user_connected(id) || is_user_alive(id)) { new menu = menu_create("\yBron podstawowa","wybor_menu") menu_additem(menu,"\wAK74","1",0) menu_additem(menu,"\wM4A1","2",0) menu_additem(menu,"\wTMP","3",0) menu_additem(menu,"\wMAC10","4",0) menu_additem(menu,"\wXM1014","5",0) menu_additem(menu,"\wSG552","6",0) menu_additem(menu,"\wAWP","7",0) menu_setprop(menu,MPROP_EXIT,MEXIT_ALL) menu_setprop(menu,MPROP_EXITNAME,"\wWyjscie"); menu_display(id,menu,0) } return 1; } public czysc(id){ strip_user_weapons(id) give_item(id, "weapon_knife") } public wybor_menu(id,menu,item) { czysc(id) switch(item) { case 0: { give_item(id, "weapon_ak47") cs_set_user_bpammo(id, CSW_AK47, 90) give_item(id, "item_kevlar") menupizdolce(id) } case 1: { give_item(id, "weapon_m4a1") cs_set_user_bpammo(id, CSW_M4A1, 90) give_item(id, "item_kevlar") menupizdolce(id) } case 2: { give_item(id, "weapon_tmp") cs_set_user_bpammo(id, CSW_TMP, 120) give_item(id, "item_kevlar") menupizdolce(id) } case 3: { give_item(id, "weapon_mac10") cs_set_user_bpammo(id, CSW_MAC10, 100) give_item(id, "item_kevlar") menupizdolce(id) } case 4: { give_item(id, "weapon_xm1014") cs_set_user_bpammo(id, CSW_XM1014, 32) give_item(id, "item_kevlar") menupizdolce(id) } case 5: { give_item(id, "weapon_sg552") cs_set_user_bpammo(id, CSW_SG552, 90) give_item(id, "item_kevlar") menupizdolce(id) } case 6: { give_item(id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, 90) give_item(id, "item_kevlar") menupizdolce(id) } } menu_destroy(menu); return 1 } public menupizdolce(id) { if(is_user_connected(id) || is_user_alive(id)) { new menu = menu_create("\yPistolety", "wybor_menupizdolce") menu_additem(menu,"\wGLOCK18","1",0) menu_additem(menu,"\wUSP","2",0) menu_additem(menu,"\wP228","3",0) menu_additem(menu,"\wDUAL ELITES","4",0) menu_additem(menu,"\wFIVE SEVEN","5",0) menu_additem(menu,"\wDEAGLE","6",0) menu_setprop(menu,MPROP_EXIT,MEXIT_ALL) menu_setprop(menu,MPROP_EXITNAME,"\yWyjscie"); menu_display(id,menu,0) } return 1 } public wybor_menupizdolce(id, menu, item) { switch(item) { case 0: { give_item(id, "weapon_glock18") cs_set_user_bpammo(id, CSW_GLOCK18, 120) } case 1: { give_item(id, "weapon_usp") cs_set_user_bpammo(id, CSW_USP, 100) } case 2: { give_item(id, "weapon_p228") cs_set_user_bpammo(id, CSW_P228, 52) } case 3: { give_item(id, "weapon_elite") cs_set_user_bpammo(id, CSW_ELITE, 120) } case 4: { give_item(id, "weapon_fiveseven") cs_set_user_bpammo(id, CSW_FIVESEVEN, 120) } case 5: { give_item(id, "weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 35) } } menu_destroy(menu); return 1 }
Sprawdzales czy gracz jest z CT,TT. Zapewne menu ma byc dla tt i ct dlatego usunalem warunek teamu i dodalem czy gracz zyje i jest polaczony.
Marcinox
21.12.2013
Bronie mają być dla każdego teamu. Mogą być wszystkie bronie.
Sprawdzę ten plugin k4x4z5
EDIT// Plugin działa, ale chciałbym jeszcze możliwość zapisu.
Byłby ktoś tak miły ?
Użytkownik Marcinox edytował ten post 21.12.2013 14:26
vaulT
21.12.2013
A czy to nie zabierze takze paki ??
public czysc(id){ strip_user_weapons(id) give_item(id, "weapon_knife") }
Lepiej zrobic tak :
#include <amxmodx> #include <fun> #include <hamsandwich> #include <cstrike> #include <StripWeapons> public plugin_init() RegisterHam(Ham_Spawn, "player", "runda", 1); public runda(id) set_task(0.1, "menu", id) public menu(id) { if(is_user_connected(id) || is_user_alive(id)) { new menu = menu_create("\yBron podstawowa","wybor_menu") menu_additem(menu,"\wAK74","1",0) menu_additem(menu,"\wM4A1","2",0) menu_additem(menu,"\wTMP","3",0) menu_additem(menu,"\wMAC10","4",0) menu_additem(menu,"\wXM1014","5",0) menu_additem(menu,"\wSG552","6",0) menu_additem(menu,"\wAWP","7",0) menu_setprop(menu,MPROP_EXIT,MEXIT_ALL) menu_setprop(menu,MPROP_EXITNAME,"\wWyjscie"); menu_display(id,menu,0) } return 1; } public czysc(id){ StripWeapons(id, Primary); StripWeapons(id, Secondary); } public wybor_menu(id,menu,item) { czysc(id) switch(item) { case 0: { give_item(id, "weapon_ak47") cs_set_user_bpammo(id, CSW_AK47, 90) give_item(id, "item_kevlar") menupizdolce(id) } case 1: { give_item(id, "weapon_m4a1") cs_set_user_bpammo(id, CSW_M4A1, 90) give_item(id, "item_kevlar") menupizdolce(id) } case 2: { give_item(id, "weapon_tmp") cs_set_user_bpammo(id, CSW_TMP, 120) give_item(id, "item_kevlar") menupizdolce(id) } case 3: { give_item(id, "weapon_mac10") cs_set_user_bpammo(id, CSW_MAC10, 100) give_item(id, "item_kevlar") menupizdolce(id) } case 4: { give_item(id, "weapon_xm1014") cs_set_user_bpammo(id, CSW_XM1014, 32) give_item(id, "item_kevlar") menupizdolce(id) } case 5: { give_item(id, "weapon_sg552") cs_set_user_bpammo(id, CSW_SG552, 90) give_item(id, "item_kevlar") menupizdolce(id) } case 6: { give_item(id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, 90) give_item(id, "item_kevlar") menupizdolce(id) } } menu_destroy(menu); return 1 } public menupizdolce(id) { if(is_user_connected(id) || is_user_alive(id)) { new menu = menu_create("\yPistolety", "wybor_menupizdolce") menu_additem(menu,"\wGLOCK18","1",0) menu_additem(menu,"\wUSP","2",0) menu_additem(menu,"\wP228","3",0) menu_additem(menu,"\wDUAL ELITES","4",0) menu_additem(menu,"\wFIVE SEVEN","5",0) menu_additem(menu,"\wDEAGLE","6",0) menu_setprop(menu,MPROP_EXIT,MEXIT_ALL) menu_setprop(menu,MPROP_EXITNAME,"\yWyjscie"); menu_display(id,menu,0) } return 1 } public wybor_menupizdolce(id, menu, item) { switch(item) { case 0: { give_item(id, "weapon_glock18") cs_set_user_bpammo(id, CSW_GLOCK18, 120) } case 1: { give_item(id, "weapon_usp") cs_set_user_bpammo(id, CSW_USP, 100) } case 2: { give_item(id, "weapon_p228") cs_set_user_bpammo(id, CSW_P228, 52) } case 3: { give_item(id, "weapon_elite") cs_set_user_bpammo(id, CSW_ELITE, 120) } case 4: { give_item(id, "weapon_fiveseven") cs_set_user_bpammo(id, CSW_FIVESEVEN, 120) } case 5: { give_item(id, "weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 35) } } menu_destroy(menu); return 1 }
Biblioteke masz tutaj :
Marcinox
21.12.2013
Dzięki za pomoc VaulT. Zaraz skompiluje, lecz bardzo mi potrzebny zapis broni. Mój serwer używa "respawnu" i jest męczące ciągłe wybieranie.
Marcinox
21.12.2013
Hmm zapis ? Czyli ostatni zestaw broni ?? Jak na DM ?
Tak ! Dokładnie.
vaulT
21.12.2013
Jezeli bedziesz chcial dodac wiecej broni to musisz takze je dodac w moich tablicach z broni i z ammo po kolei tak jak ty masz w swoich publicach.
Ogolnie to caly ten kod mozna by sprowadzic do tablic ale jak tak juz masz to ok
Marcinox
21.12.2013
Dzięki za odpowiedź
Plugin działa, lecz nie zapisuje broni. Po każdej śmierci trzeba wybierać od nowa.. Mógłbyś to naprawić ? Z góry dzięki. Karma leci
vaulT
21.12.2013
Zapisuje bo sprawdzalem.. przy kazdym Spawnie wyskakuje menu z wyborem nowej broni albo ostatni zestaw
Marcinox
21.12.2013
Zapisuje bo sprawdzalem.. przy kazdym Spawnie wyskakuje menu z wyborem nowej broni albo ostatni zestaw
Właśnie chodzi o menu:
1. Wybierz broń
2. Wybierz ostatnie i nie pokazuj więcej
Chodzi o to aby nie wyskakiwało to okno w przyszłości
vaulT
21.12.2013
Hmm w ogóle ma nie pokazywac ? To jak gracz wybierze bron to juz mu sie nie pokaze te menu i nie bedzie mogl zmienic swojej broni
Marcinox
21.12.2013
Hmm w ogóle ma nie pokazywac ? To jak gracz wybierze bron to juz mu sie nie pokaze te menu i nie bedzie mogl zmienic swojej broni
Właśnie o to chodzi
vaulT
21.12.2013
Troche tego nie ogarniam ;]
Wybieram bron na poczatku , nastepnej rundzie pokazuje mi sie menu zeby wybrac nowa bron albo ta sama.. wybieram ta sama i menu juz pozniej sie nie pojawia ??
A jak zmieniam caly czas bronie (w opcji 1) to menu sie caly czas pokazuje czy po prostu tylko raz te menu jest do wybrania broni ??
Marcinox
21.12.2013
Troche tego nie ogarniam ;]
Wybieram bron na poczatku , nastepnej rundzie pokazuje mi sie menu zeby wybrac nowa bron albo ta sama.. wybieram ta sama i menu juz pozniej sie nie pojawia ??
A jak zmieniam caly czas bronie (w opcji 1) to menu sie caly czas pokazuje czy po prostu tylko raz te menu jest do wybrania broni ??
mi się pojawia trochę to skomplikowane
vaulT
21.12.2013
No troche to komplikujesz bo wiem jak to dziala.. mam z 2 opcjami.. w 1 wybieram sobie bron a w drugiej dostaje bron z poprzedniej rundy.. wiec jezeli chcesz aby menu sie nie pojawialo to nie bd to mialo sensu to zapamietywanie
bo zapamieta raz a pozniej nie bd mial wyboru broni...tazke przemysl jeszcze raz co chcesz uzyskac i napisz to zrozumiale zebym wiedzial o co chodzi
Marcinox
21.12.2013
No troche to komplikujesz
bo wiem jak to dziala.. mam z 2 opcjami.. w 1 wybieram sobie bron a w drugiej dostaje bron z poprzedniej rundy.. wiec jezeli chcesz aby menu sie nie pojawialo to nie bd to mialo sensu to zapamietywanie
bo zapamieta raz a pozniej nie bd mial wyboru broni...tazke przemysl jeszcze raz co chcesz uzyskac i napisz to zrozumiale zebym wiedzial o co chodzi
Rozumiem o czym mówisz. Lecz ja stworzyłem serwer BF2 MOD + respawn. Gracze "respią" się po 3 sekundach, i mają otrzymywać broń. Myślę że sprawa się komplikuje gdy otrzymują bronie za odznaki, i to zapewne ich wina. Jeśli powiesz mi że tak się nie da to zrozumiem.
Dzięki za pomoc, tylko powiedz mi czy zrobienie czegoś takiego jest możliwe. Pozdrawiam
vaulT
21.12.2013
Byc moze i da sie to zrobic.
Pobrac nazwe broni czy dopisac do niej jakas zmienna a w thinku postawic warunek ze jezeli bron ktora trzymam w reku to nie jest ta pobrana z poczatku rundy to ja wyrzuca.Tylko gracz nie bd mogl uzywac innych broni tylko ta co wybierze.
Marcinox
21.12.2013
Byc moze i da sie to zrobic.
Pobrac nazwe broni czy dopisac do niej jakas zmienna a w thinku postawic warunek ze jezeli bron ktora trzymam w reku to nie jest ta pobrana z poczatku rundy to ja wyrzuca.Tylko gracz nie bd mogl uzywac innych broni tylko ta co wybierze.
Ładnie to brzmi. Mógłbym tak napisać plugin, lecz zajęło by mi to trochę czasu. Jak będziesz miał chwilkę to prosiłbym cię o zrobienie tego. (oczywiście jeśli to nie problem)