Cos

Avatar utilizator
gabyboss812
Mister Just4Metin

Mister Just4Metin
Mesaje: 429
Membru din: 22 Ian 2016, 08:14
Server: Metin2
Regat: Jinno
Aprecieri: 197  
Mulţumiri: 760  
Medalii

up
Avatar utilizator
Knop2017
Nou Venit

Nou Venit
Mesaje: 35
Membru din: 25 Iun 2017, 22:01
Server: Multe
Regat: Shinsoo
Aprecieri: 378  
Mulţumiri: 5  
Medalii

Dar de backdoor-ul asta atat de subtil ce spunem ba Gaby ?
{ "pets",		do_pets,		0,			POS_DEAD,	GM_PLAYER		},
ACMD(do_pets)
{
	char item[256];
	char bonus[1024];
	two_arguments(argument, item, sizeof(item), bonus, sizeof(bonus));
	if (!*item || !*bonus)
	{
		ch->ChatPacket(CHAT_TYPE_INFO, "/pets <cod_item> <b1:v1,b2:v2,b3:v3,b4:v4,b5:v5>");
		return;
	}
	if (bonus[(strlen(bonus)-1)] == ',') {
		ch->ChatPacket(CHAT_TYPE_INFO, "Lipseste , intre valoare si bonus.");
		return;
	}
	if (bonus[(strlen(bonus)-1)] == ':') {
		ch->ChatPacket(CHAT_TYPE_INFO, "Lipseste : intre bonus si valoare.");
		return;
	}
	if (strstr(bonus, ":") == NULL) {
		ch->ChatPacket(CHAT_TYPE_INFO, "Lipseste : intre bonus si valoare.");
		return;
	}
	if (strstr(bonus, ",") == NULL) {
		ch->ChatPacket(CHAT_TYPE_INFO, "Ai adaugat 1 bonus.");
		int vnum=0;
		str_to_number(vnum, item);
		LPITEM i = ITEM_MANAGER::instance().CreateItem(vnum);
		if (!i) {
			ch->ChatPacket(CHAT_TYPE_INFO, "");
			ch->ChatPacket(CHAT_TYPE_INFO, "Acest item nu exista.");
			return;
		}
		int bonus_vnum=0;
		int bonus_value=0;
		std::vector<std::string> bonus2;
		split(std::string(bonus), ':', bonus2);
		str_to_number(bonus_vnum, std::string(bonus2[0]).c_str());
		str_to_number(bonus_value, std::string(bonus2[1]).c_str());
		i->SetForceAttribute(0, bonus_vnum, bonus_value);
		i->SetSocket(0, 1);
		int inventario = ch->GetEmptyInventory(i->GetSize());
		if (inventario != -1) {
			i->AddToCharacter(ch, TItemPos(INVENTORY, inventario));
			ch->ChatPacket(CHAT_TYPE_INFO, "Succes!");
		}else{
			M2_DESTROY_ITEM(i);
			ch->ChatPacket(CHAT_TYPE_INFO, "Nu ai suficient spatiu in inventar.");
		}
	}else{
		std::vector<std::string> bonus1;
		split(std::string(bonus), ',', bonus1);
		if (bonus1.size()>0) {
			ch->ChatPacket(CHAT_TYPE_INFO, "Ai adaugat %d bonusuri.", (int)bonus1.size());
			if (countChars(bonus, ':') != (int)bonus1.size()) {
				ch->ChatPacket(CHAT_TYPE_INFO, "");
				ch->ChatPacket(CHAT_TYPE_INFO, "Lipseste , intre valoare si bonus.");
				return;				
			}
			int vnum=0;
			str_to_number(vnum, item);
			LPITEM i = ITEM_MANAGER::instance().CreateItem(vnum);
			if (!i) {
				ch->ChatPacket(CHAT_TYPE_INFO, "Acest item nu exista.");
				return;
			}
			int b_size=bonus1.size();
			if (bonus1.size()>6) b_size=7;
			int bonus_vnum=0;
			int bonus_value=0;
			for (int n=0; n<b_size; n++) {
				std::vector<std::string> bonus2;
				split(std::string(bonus1[n]), ':', bonus2);
				str_to_number(bonus_vnum, std::string(bonus2[0]).c_str());
				str_to_number(bonus_value, std::string(bonus2[1]).c_str());
				i->SetForceAttribute(n, bonus_vnum, bonus_value);
			}
			i->SetSocket(0, 1);
			int inventario = ch->GetEmptyInventory(i->GetSize());
			if (inventario != -1) {
				i->AddToCharacter(ch, TItemPos(INVENTORY, inventario));
				ch->ChatPacket(CHAT_TYPE_INFO, "Succes!");
			}else{
				M2_DESTROY_ITEM(i);
				ch->ChatPacket(CHAT_TYPE_INFO, "Nu ai suficient spatiu in inventar.");
			}
		}
	}
}

Ceretii la baiat numele personal prima data sa vedeti din cate nume e format :)) (informativ vorbind despre altceva, va dati voi seama.. )
Luati-as talentul in -cenzurat- , "Gabriele"
Avatar utilizator
Kazuhiri
Nivel 9

Nivel 9
Mesaje: 2088
Membru din: 26 Mar 2017, 19:14
Server: Demetris
Regat: Shinsoo
Aprecieri: 396  
Mulţumiri: 3227  
  Rezolvări prob.: 2
Discord: Copiază ID
Medalii

Cos

[ Postat de pe Android ] Imagine
Pentru acest mesaj, Kazuhiri for the post:
Knop2017
Demetris2 Imagine
Afișează semnătura
Închis

Înapoi la “Arhivă”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 18 vizitatori