Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Wymiana Itemami.Wymieniamy się itemami :]


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 21.07.2011 11:18

Przerobiony kod z pluginu Wymiana Perkami. Ta wersja jest pod Starego CoD'a.


Na początku rejestrujemy komendy:

register_clcmd("say /wymien", "ZamienItem");
register_clcmd("say /zamien", "ZamienItem");


Dodajemy je oczywiście do plugin_init najlepiej pod komendami /klasa, /klasy itd, w say wpisujemy /wymien lub /zamien aby otworzyć menu wymiany itemami.

Pod:

new doswiadczenie_za_bombe;


Dodajemy:

new bool:dostal_przedmiot[33];



Na sam koniec *.sma CoD Moda dodajemy to:

public ZamienItem(id)
{
new menu = menu_create("Zamien przedmiot", "ZamienPrzedmiot_Handle");
new cb = menu_makecallback("ZamienItem_Callback");
for(new i=0; i<=32; i++)
{
if(!is_user_connected(i))
continue;
menu_additem(menu, nazwa_gracza[i], _, _, cb);
}
menu_display(id, menu);
}

public ZamienPrzedmiot_Handle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new access, callback, data[64], info[64];
menu_item_getinfo(menu, item, access, info, charsmax(info), data, charsmax(data), callback);
new id2 = get_user_index(data);
if(!is_user_connected(id2)){
client_print(id, print_chat, "Nie odnaleziono zadanego gracza.");
return PLUGIN_CONTINUE;
}

if(dostal_przedmiot[id2]){
client_print(id, print_chat, "Wybrany gracz musi poczekac 1 runde.");
return PLUGIN_CONTINUE;
}

if(dostal_przedmiot[id]){
client_print(id, print_chat, "Musisz poczekac 1 runde.");
return PLUGIN_CONTINUE;
}

if(!informacje_przedmiotu_gracza[id2][0]){
client_print(id, print_chat, "Wybrany gracz nie mam zadnego itemu.");
return PLUGIN_CONTINUE;
}

if(!informacje_przedmiotu_gracza[id][0]){
client_print(id, print_chat, "Nie masz zadnego itemu.");
return PLUGIN_CONTINUE;
}

new nazwa_menu[128];
formatex(nazwa_menu, charsmax(nazwa_menu), "Wymien sie itemem %s z graczem %s", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]],nazwa_gracza[id])
new menu2 = menu_create(nazwa_menu, "menu_wymien");

menu_additem(menu2, "Tak", nazwa_gracza[id]);
menu_additem(menu2, "Nie", nazwa_gracza[id]);

menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_display(id2, menu2);
return PLUGIN_CONTINUE;
}

public menu_wymien(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new access, callback, data[64];
menu_item_getinfo(menu, item, access, data, charsmax(data), _, _, callback);
new id2 = get_user_index(data)

switch(item)
{
case 0:
{
new perk_zmienny[4];
perk_zmienny[0] = informacje_przedmiotu_gracza[id2][0];
perk_zmienny[1] = informacje_przedmiotu_gracza[id][0];
perk_zmienny[2] = informacje_przedmiotu_gracza[id2][1]
perk_zmienny[3] = informacje_przedmiotu_gracza[id][1]

DajPrzedmiot(id, perk_zmienny[0]);
DajPrzedmiot(id2, perk_zmienny[1]);
informacje_przedmiotu_gracza[id][1] = perk_zmienny[2];
informacje_przedmiotu_gracza[id2][1] = perk_zmienny[3];

dostal_przedmiot[id2] = true;
dostal_przedmiot[id] = true;

new nazwa_dajacego[64];
get_user_name(id, nazwa_dajacego, charsmax(nazwa_dajacego))

client_print(id, print_chat, "Wymieniles sie itemem z %s.", data);
client_print(id2, print_chat, "Wymieniles sie itemem z %s.", nazwa_dajacego)
}
case 1: client_print(id2, print_chat, "Wybrany gracz nie zgodzil sie na wymiane itemu.")
}
return PLUGIN_CONTINUE;
}

public ZamienItem_Callback(id, menu, item)
{
new access, callback, data[64], info[64];
menu_item_getinfo(menu, item, access, info, charsmax(info), data, charsmax(data), callback);
new id2 = get_user_index(data);
if(id2 == id || !klasa_gracza[id2] || !informacje_przedmiotu_gracza[id2][0])
return ITEM_DISABLED;
return ITEM_ENABLED;
}



To tyle, kompilujemy *.sma i jesteśmy hajtowi.

P.S.

Dodatkowym bonusem jest to, że widzimy za jaki item chcemy się wymienić ^^

Dodano 21 lipiec 2011 - 20:51:
Mały update ;P

Użytkownik RPK. Shark edytował ten post 22.07.2011 12:19

  • +
  • -
  • 0

#2 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Autor tematu
  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 22.07.2011 12:20

@Ciuchcia, fakt zapomniałem.
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych