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.
|
consty etc.
#1
Napisano 02.05.2011 17:49
Mam poważne pytanie.
Coś podobne do CodModa a więc już opisuje:
Robie sobie np. takie coś:
new const nazwy_itemow[][] = {"Podwojna apteczka",
"Apteczka",
"Ciche Buty",
"Kamizelka",
"Scyzoryk Wojskowy"
};
i jak do tego zrobic case np. podwojna apteczka cos robi i tak z innymi. Najlepiej jakby ktos napisal mi podstawowy plugin zebym to zrozumial.
2 pytanie to jak zrobic zeby te itemy w const dostawalo sie po jakims zadaniu np. za 20 hs ma apteczke na 1 runde czy iles tam i niech ktos all opisze w pluginie komentarzem // .......
3 pytanie jak zrobic ze te itemy tez mozna kupic w sklepie, np. cos kupuje i to dostaje na 1 runde.
4 pytanie o co chodzi z ENUM i jak i gdzie to użyć/używać?
np. w sklepie jak cos kupie to co zrobic zeby dostac to enum i co zrobic zeby to enum cos robilo/dawalo.
Za wytlumaczenie min. 1 pytanie jest 1 plus i tak dalej.
za dobrze wytlumaczone 1 pytanie sa 2 plusy i tak dalej.
Pozdrawiam Optymalny193.
#2
Napisano 02.05.2011 20:01
new item_gracza[33];
Ale z tego co widzę, to tabela z itemami ma wyglądać tak:
new const nazwy_itemow[][] = {"Brak",
"Podwojna apteczka",
"Apteczka",
"Ciche Buty",
"Kamizelka",
"Scyzoryk Wojskowy"
};
A co do funkcji switch, to ma wyglądać to tak:
switch(item_gracza[id])
{
case 1:
{
//co ma robić item nr. 1
}
case 2:
{
//co ma robić item nr. 2
}
...
}
Musisz też, gdzieś wcześniej, dodać losowanie tego itemu:
item_gracza[id] = random_num(1, sizeof nazwy_itemow-1);
2. Zależy jakie mają być te zadania.
3. Jeżeli nie wiesz jak robić sklep, wzoruj się np. na tym z CoD'a. W funkcji sklepu musisz dodać:
item_gracza[id] = id itemu;
4. Link
#3
Napisano 02.05.2011 20:11
Ale nadal nie rozumiem 3 punktów
zrób mi tak
w const np. itemy do sklepu czyli:
100hp, 300speeda, i klasa która ma dgl
i pokaż jak ma to wyglądać
najlepiej nie jak item i nie jak losowanie tylko wybieranie bądź kupowanie.
Użytkownik Optymalny193 edytował ten post 02.05.2011 20:11
#4
Napisano 03.05.2011 08:29
#5
Napisano 03.05.2011 09:21
#6
Napisano 03.05.2011 13:21
#7
Napisano 03.05.2011 14:16
analiza pluginów / metoda prób i błędów przynajmniej ja tak robiłem na początku
Dark dobrze mówi najlepiej zacząć od przerabiania i analizowania innych pluginów
#8
Napisano 03.05.2011 19:14
DarkGL i diablix ale mnie pocieszyliście (tyle roboty ;f)
Użytkownik Optymalny193 edytował ten post 03.05.2011 20:19
#9
Napisano 03.05.2011 19:35
Ok dzięki.
Temat do zamknięcia.
DarkGL i diablix ale mnie pocieszyliście (tyle roboty ;f)
A co Ty myślisz, że siądziesz i od razu napiszesz moda? -.-
Skoro tyle roboty, to nie zabieraj się za to, bo większość z nas, uczy się tego bo lubi, a nie po to, by wydać kolejny z d*py mod na którym nikt nie gra.
#10
Napisano 03.05.2011 20:21
new const nazwy_itemow[][] = {"Brak",
"+100hp",
"Grawitacja",
"Szybkie Buty",
"Okradniecie",
"Losowanie"
};
switch(item_gracza[id])
{
case 1:
{
set_pev(id, pev_health, pev(id, pev_health) + 100);
}
case 2:
{
set_pev(id, pev_gravity, pev(id, pev_gravity) - 20);
}
case 3:
{
}
case 4:
{
}
case 5:
{
}
}
Ale pisałeś żeby losować item a ja chce zrobić sklep (czyli że kupić nie losować) jak byś mi od razu zrobił gotowy sklep z tym to 4 plusów jako nagroda, ja się uczę a z const w sklepie nigdy nie miałem przyjemności z góry dzięki
#11
Napisano 03.05.2011 20:30
Goliath, mam tak i mam jeszcze zmienna wyżej:
new const nazwy_itemow[][] = {"Brak",
"+100hp",
"Grawitacja",
"Szybkie Buty",
"Okradniecie",
"Losowanie"
};
switch(item_gracza[id])
{
case 1:
{
set_pev(id, pev_health, pev(id, pev_health) + 100);
}
case 2:
{
set_pev(id, pev_gravity, pev(id, pev_gravity) - 20);
}
case 3:
{
}
case 4:
{
}
case 5:
{
}
}
Ale pisałeś żeby losować item a ja chce zrobić sklep (czyli że kupić nie losować) jak byś mi od razu zrobił gotowy sklep z tym to 4 plusów jako nagroda, ja się uczę a z const w sklepie nigdy nie miałem przyjemności z góry dzięki
Dodatki > Pluginy i szukaj sklepów.
#12
Napisano 04.05.2011 13:06
Ja się pytam Goliatha bo w sklepie nie dam rady wylukać co potrzeba.
Dodano 04 maj 2011 - 19:14:
edit@
Czy to będzie działało tak jak ja chce?
Sma:
new item_gracza[33];
new const nazwy_itemow[][] = {"Brak",
"+100hp",
"Double Blast",
"Racket Fuel",
"Okradniecie",
"Losowanie"
};
new const opisy_itemow[][] = {"Brak",
"Dodaje ci 100hp",
"Masz zmniejszona grawitacje przez 5sek.",
"Jestes szybki przez 5sek.",
"Mozesz okradnac gracza",
"Tajemnicze losowanie "
};
public DodajMocItemu(id){
switch(item_gracza[id])
{
case 1:
{
set_pev(id, pev_health, pev(id, pev_health) + 100);
ColorChat(id,GREEN,"Brawo. Zakupiles +100hp");
}
case 2:
{
set_pev(id, pev_gravity, pev(id, pev_gravity) - 100);
ColorChat(id,RED,"Brawo. Masz mniejsza grawitacje przez 5sek.");
set_task(5.0, "normalgrava", 0, "", 0, "b");
}
case 3:
{
set_pev(id, pev_speed, pev(id, pev_speed) + 95);
ColorChat(id,GREEN,"Brawo. Jestes szybki przez 5sek.");
set_task(5.0, "normalspeed", 0, "", 0, "b");
}
case 4:
{
ColorChat(id,GREEN,"Brawo. Zakupiles +100hp");
}
case 5:
{
ColorChat(id,GREEN,"Poczekaj 3sek, a moze cos wylosujesz ");
set_task(3.0, "losowanie", 0, "", 0, "b");
}
}
}
public normalspeed(id){
set_pev(id, pev_speed, pev(id, pev_speed) - 95);
ColorChat(id,GREEN,"Uuuu, Juz biegasz normalnie");
}
public normalgrava(id){
set_pev(id, pev_gravity, pev(id, pev_gravity) +100);
ColorChat(id,GREEN,"Przykro nam, skonczyla ci sie grawitacja");
}
public losowanie(id){
new losik = random_num(0,11)
switch(losik) {
case 0: {
}
case 1: {
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
ColorChat(id, GREEN, "^x01 Wylosowales zestaw granatow");
}
case 2: {
give_item( id, "weapon_awp" );
cs_set_user_bpammo(id, CSW_AWP, 0);
cs_set_weapon_ammo( find_ent_by_owner( 1, "weapon_awp", id ), 1);
ColorChat(id, GREEN, "^x01 Wylosowales awp z 1nabojem,^x04 GJ.");
}
case 3: {
give_item(id, "weapon_hegrenade");
ColorChat(id, GREEN, "^x01 Wylosowales HE");
}
case 4: {
give_item(id, "weapon_smokegrenade");
ColorChat(id, GREEN, "^x01 Wylosowales SMOKE");
}
case 5: {
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
ColorChat(id, GREEN, "^x01 Wylosowales 2x FLASHBANG");
}
case 6: {
give_item(id, "weapon_flashbang");
ColorChat(id, GREEN, "^x01 Wylosowales FLASHBANG");
}
case 7: {
PlayerMoney[id] += 7;
ColorChat(id, GREEN, "^x01 Wylosowales 7Money");
}
case 8: {
PlayerMoney[id] += 12;
ColorChat(id, GREEN, "^x01 Wylosowales 12Money");
}
case 9: {
give_item( id, "weapon_deagle" );
cs_set_user_bpammo(id, CSW_DEAGLE, 0);
cs_set_weapon_ammo( find_ent_by_owner( 1, "weapon_deagle", id ), 1);
ColorChat(id, GREEN, "^x01 Wylosowales^x04 Deagla^x01 z^x04 1^x01 nabojem");
}
case 10: {
give_item( id, "weapon_p228" );
cs_set_user_bpammo(id, CSW_P228, 0);
cs_set_weapon_ammo( find_ent_by_owner( 1, "weapon_p228", id ), 1);
ColorChat(id, GREEN, "^x01Wylosowales^x04 p228^x01 z^x04 1^x01 nabojem");
}
case 11: {
give_item( id, "weapon_elite" );
cs_set_user_bpammo(id, CSW_ELITE, 0);
cs_set_weapon_ammo( find_ent_by_owner( 1, "weapon_elite", id ), 1);
ColorChat(id, GREEN, "^x01Wylosowales^x04 elitki^x01 z^x04 1^x01 nabojem");
}
}
}
Dam plusa za poprawienie
Oczywiscie potem sobie odejme kase w tym sklepie bo umiem i jakby ktos dorobil sprawdzanie i losowanie kazdy np. 5money
daje 3plusy.
Dodano 05 maj 2011 - 14:02:
ref
#13
Napisano 05.05.2011 14:11
set_task(5.0, "normalgrava", 0, "", 0, "b");
chyba raz chcesz wykonać tą funkcję ?
set_task( 5.0, "normalgrava", id + 666 );
w normal grava:
public normalgrava(id){ id -= 666; set_pev(id, pev_gravity, pev(id, pev_gravity) +100); // WHAT THE *** ? HAHA D: ColorChat(id,GREEN,"Przykro nam, skonczyla ci sie grawitacja"); }
poprawiłem Ci 1 task, reszty się nie chce bo to podstawy, ale powinieneś sam to obczaić co zrobiłeś źle ;d
Użytkownik funfel edytował ten post 05.05.2011 14:12
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
#14
Napisano 05.05.2011 14:35
a kto powiedzial że fakemeta jest optymalnanie bądź tak "optymalny" na początku że only fakemeta
#15
Napisano 05.05.2011 15:32
Użytkownik funfel edytował ten post 05.05.2011 15:33
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
#16
Napisano 05.05.2011 16:11
[ENGINE] Invalid entity 77 L 05/05/2011 - 17:06:13: [AMXX] Run time error 10 (plugin "MoneyMod.amxx") (native "entity_get_string") - debug not enabled! L 05/05/2011 - 17:06:13: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 05/05/2011 - 17:06:18: [ENGINE] Invalid entity 78 L 05/05/2011 - 17:06:18: [AMXX] Run time error 10 (plugin "MoneyMod.amxx") (native "entity_get_string") - debug not enabled! L 05/05/2011 - 17:06:18: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). George killed Alfred with knife L 05/05/2011 - 17:06:18: String formatted incorrectly - parameter 7 (
No i mam buga
jak klikne w sklep to pisze nie zakupiles itemu i jak klikne na rzecz to pisze nie zakupiles itemy.
Plusy!
Dodano 05 maj 2011 - 20:37:
Refresh
Dodano 05 maj 2011 - 20:37:
Refresh
Dodano 06 maj 2011 - 12:58:
ref
#17
Napisano 06.05.2011 14:34
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
#18
Napisano 06.05.2011 16:27
i jak wchodze w sklep i wychodze to pisze nie kupiles zadnego itemu.
jak to naprawic?
tu masz kawalek kodu:
new const nazwy_itemow[][] = {"Brak",
"+100hp",
"Double Blast",
"Racket Fuel",
"Okradniecie",
"Losowanie"
};
new const opisy_itemow[][] = {"Brak",
"Dodaje ci 100hp",
"Masz zmniejszona grawitacje przez 5sek.",
"Jestes szybki przez 5sek.",
"Mozesz okradnac gracza",
"Tajemnicze losowanie "
};
public DodajMocItemu(id){
switch(item_gracza[id])
{
case 1:
{
set_pev(id, pev_health, pev(id, pev_health) + 100);
ColorChat(id,GREEN,"Brawo. Zakupiles +100hp");
PlayerKoks[id] -= 1;
}
case 2:
{
set_pev(id, pev_gravity, pev(id, pev_gravity) - 100);
ColorChat(id,RED,"Brawo. Masz mniejsza grawitacje przez 5sek.");
set_task( 5.0, "normalgrava", id + 666 );
PlayerKoks[id] -= 1;
//set_task(5.0, "normalgrava", 0, "", 0, "b");
}
case 3:
{
set_pev(id, pev_speed, pev(id, pev_speed) + 95);
ColorChat(id,GREEN,"Brawo. Jestes szybki przez 5sek.");
set_task( 5.0, "normalspeed", id + 666 );
PlayerKoks[id] -= 1;
}
case 4:
{
ColorChat(id,GREEN,"Brawo. Zakupiles +100hp");
PlayerKoks[id] -= 1;
}
case 5:
{
ColorChat(id,GREEN,"Poczekaj, a moze cos wylosujesz ");
set_task( 1.0, "losowanie", id + 666 );
PlayerKoks[id] -= 1;
}
}
}
public WybierzItem(id)
{
new menu = menu_create("Sklep za Koksy", "WybierzItem_Handle");
new item[50];
for(new i=1; i<sizeof nazwy_itemow; i++)
{
format(item, 49, "%s", nazwy_itemow[i]);
menu_additem(menu, item);
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
WybierzItem_Handle(id, menu, random(sizeof nazwy_itemow-1));
}
public WybierzItem_Handle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
item++;
if(item == item_gracza[id])
return PLUGIN_CONTINUE;
if(item_gracza[id])
{
item_gracza[id] = item;
ColorChat(id, GREEN, "Nie zakupiles zadnego itemu");
}
else
{
item_gracza[id] = item;
DodajMocItemu(id);
}
return PLUGIN_CONTINUE;
}
public KoksSklepOpis(id)
{
new menu = menu_create("Jaki opis chcesz zobaczyc?", "KoksSklepOpis_Handle");
for(new i=1; i<sizeof nazwy_itemow; i++)
menu_additem(menu, nazwy_itemow[i]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
public KoksSklepOpis_Handle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
client_print(id, print_chat, "%s: %s", nazwy_itemow[item+1], opisy_itemow[item+1]);
menu_display(id, menu);
return PLUGIN_CONTINUE;
}
I przy okazji dlaczego jak dalem sobie tutora
i robie tak:
public DeathMsg()
{
new kid = read_data(1)
new hs = read_data(3)
if(QuestDgl10HS[kid] && hs)
HSy[kid]+=1
if(HSy[kid]>=10)
{
PlayerMoney[kid] += 250;
new Text[ 100 ]
formatex(Text,191,"Quest 10 zabic z DEAGLE zostal ukonczony")
MakeTutor(id,Text,TUT_GREEN,5.5);
}
if(QuestAwp10HS[kid] && hs)
HS[kid]+=1
if(HS[kid]>=10)
{
PlayerMoney[kid] += 500;
new Text[ 100 ]
formatex(Text,191,"Quest 10 zabic z AWP zostal ukonczony")
MakeTutor(id,Text,TUT_GREEN,5.5)
}
}
TO sie skompilowac nie da
Błędy:
Error: Undefined symbol "id" on line 509 Warning: Expression has no effect on line 509 Warning: Expression has no effect on line 509 Warning: Expression has no effect on line 509 Error: Expected token: ";", but found ")" on line 509 Error: Invalid expression, assumed zero on line 509 Error: Too many error messages on one line on line 509
Użytkownik Optymalny193 edytował ten post 06.05.2011 16:28
#19
Napisano 06.05.2011 17:47
a co do tego :
public WybierzItem_Handle(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } item++; if(item == item_gracza[id]) return PLUGIN_CONTINUE; if(item_gracza[id]) { item_gracza[id] = item; ColorChat(id, GREEN, "Nie zakupiles zadnego itemu"); } else { item_gracza[id] = item; DodajMocItemu(id); } return PLUGIN_CONTINUE; }nie wiem co to jest :
item++; if(item == item_gracza[id]) return PLUGIN_CONTINUE; if(item_gracza[id]) { item_gracza[id] = item; ColorChat(id, GREEN, "Nie zakupiles zadnego itemu"); } else { item_gracza[id] = item; DodajMocItemu(id); } return PLUGIN_CONTINUE;moze tak zadziała :
if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } if(item_gracza[id] == item) /* nie wiem ale ty tak masz <img src='http://img.amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.gif' class='bbc_emoticon' alt=':D' />*/; /*else if(koszt jakis tam) */ // <--- jak bys chcial koszt dodac ;d else item_gracza[id] = item; DodajMocItemu(id);tak ogolnie nie wiem oco chodzi z tym item_gracza ale kij z tym ;d
i jeszcze :
MakeTutor(id,Text,TUT_GREEN,5.5);nie widze nigdzie tam id, więc po co id? widze dobre copy -> paste z innego pluginu -.- daj kid... a po 2, gdzie sprawdzasz broń jaką zabija ? bo ja tego nie widze wtf...
i jeszcze w formatex jak dajesz pojemność lena na 100, to po co piszesz w formatex 191? daj formatex( Text, sizeof ( Text ) - 1, "twoj msg" );
Użytkownik funfel edytował ten post 06.05.2011 17:54
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
#20
Napisano 06.05.2011 18:52
@@funfel
NIE COPY!!
z tutora wziąłem sobie .
@@EDIT
Jak pobrać zabójstwa z jakiejś broni, kiedyś takie coś robiłem tylko zapomniałem jak
Dodano 06 maj 2011 - 19:36:
Dałem tak
public WybierzItem_Handle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
if(item_gracza[id] == item) /* nie wiem ale ty tak masz */;
/*else if(koszt jakis tam) */ // <--- jak bys chcial koszt dodac ;d
else item_gracza[id] = item; DodajMocItemu(id);
}
I błędy:
Error: Empty statement on line 652 Warning: Function "WybierzItem_Handle" should return a value on line 655
652 linijka:
if(item_gracza[id] == item) /* nie wiem ale ty tak masz <img src='http://img.amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.gif' class='bbc_emoticon' alt=':D' />*/;655 linijka:
}
Użytkownik Optymalny193 edytował ten post 06.05.2011 19:22
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych