Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Funkcje item.get_attr , item.set_attr


Rekomendowane odpowiedzi

Opublikowano

Cześć znowu  <3  Postanowiłem dodać wam jeszcze 2 funkcje do itemów, chodzi tutaj o item.get_attr oraz item.set_attr, dzięki nim możecie wykonać takie bajery jak np Perfekcyjna Zmiana danego bonu itp, wszystko zależy od pomysłowości.

 

Dobra zaczynamy, szukamy pliku questlua_item.cpp 

 

I pod funkcją:

int item_copy_and_give_before_remove(lua_State* L)

Dodajemy kod:


 int item_get_attr(lua_State* L)
 {
  LPITEM item = CQuestManager::instance().GetCurrentItem();
 
  if(!lua_isnumber(L,1) || !item)
  {
   return 0;
  }
 
  int attr_index = lua_tonumber(L,1);
 
  if(attr_index < 0 || attr_index > 6)
  {
   return 0;
  }
 
  TPlayerItemAttribute attr = item->GetAttribute(attr_index);
  lua_pushnumber(L,attr.bType);
  lua_pushnumber(L,attr.sValue);
  return 2;
 }
 
 int item_set_attr(lua_State* L)
 {
  LPITEM item = CQuestManager::instance().GetCurrentItem();
  
  if (!lua_isnumber(L,1)||!lua_isnumber(L,2)||!lua_isnumber(L,3)||!item)
  {
   lua_pushnumber(L,0);
   return 1;
  }
  
  int attr_index = lua_tonumber(L,1);
  if (attr_index <0 || attr_index > 6)
  {
   lua_pushnumber(L,0);
   return 1;
  }
  
  item->SetForceAttribute(attr_index,lua_tonumber(L,2),lua_tonumber(L,3));
  lua_pushnumber(L,1);
  return 1;
 }

Link na wklej to z tabami:

http://wklej.to/YQmug

na koniec do tablicy 

void RegisterITEMFunctionTable()

Dodajemy:

{ "get_attr", item_get_attr },
{ "set_attr", item_set_attr },

Gotowe, teraz tylko do quest_function dodajemy item.get_attr oraz item.set_attr, 

do odczytywania ich w queście wystarczy polecenie item.get_attr[id]

Chyba wszystko jasne  :)

 

id to tabelka od 0 do 6 czyli 7 bonusów [ Dla nie kumatych ]

 

 

Sasori nakłonił mnie abym to dodał Podziękowania dla niego :D

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

Bierzcie i żryjcie z tego wszyscy to jest bowiem funkcja jego ktora za was została wydana

 

 

@topic 

 

@topic  Napewno przyda się  można to ładnie wykozystac ;) 

Opublikowano

Bierzcie i żryjcie z tego wszyscy to jest bowiem funkcja jego ktora za was została wydana

 

 

@topic

 

@topic Napewno przyda się można to ładnie wykozystac ;)

Funkcja skopiowana z liba Imera, ale bardzo przydatna. Właśnie 5 minut przed tym jak dodałem ją do siebie zobaczylem to tutaj.

 

@topic, dzięki, propsy dla Ciebie

ZcWbjGf.png


Serdecznie zapraszam :)

Opublikowano

Funkcja skopiowana z liba Imera, ale bardzo przydatna. Właśnie 5 minut przed tym jak dodałem ją do siebie zobaczylem to tutaj.

 

@topic, dzięki, propsy dla Ciebie

 

Błąd nie została skopiowana, nie moja wina że, też potrzebowałem ów funkcji i ją napisałem. Co do get_attr to ją otrzymałem gdyż pisałem game dla kolegi i on potrzebował ją do jednego se swoich bajerów a 2 napisałem dla siebie.

 

Tak jak UP powiedział każdy może sobie to zrobić, wystarczy zmienić tryb wyszukiwania danych, aby pobierało dane z innych kolumn tabel

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

co nie zmienia faktu ze perfekcyjna zmianke mozna zrobic na podstawie zwyklej.Osobiscie nie skorzystam bo nie widze sensu

Nothing.

Opublikowano

Błąd nie została skopiowana, nie moja wina że, też potrzebowałem ów funkcji i ją napisałem. Co do get_attr to ją otrzymałem gdyż pisałem game dla kolegi i on potrzebował ją do jednego se swoich bajerów a 2 napisałem dla siebie.

 

Tak jak UP powiedział każdy może sobie to zrobić, wystarczy zmienić tryb wyszukiwania danych, aby pobierało dane z innych kolumn tabel

 

Po tym już nie czytałem bo padłem na glebe.

 

btw. nie spałem od 40h a i tak widzę błąd w tej funkcji.

Opublikowano

I już widać że nie wiesz co robisz.

local bonus1, wartosc1 = item.get_attr(0)

Jak ktoś nie do końca kuma to trudno ^^

 

a k***a xD ja to miałem do get_attr napisać nie do set coś mi się pojebało jak pisałem :D

EWOLUCJA : ]


 


84440201455649434251.jpg


 

  • 1 miesiąc temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...