Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

C++ - Commande GM : Item Socket


Messages recommandés

  • Développeur

Centre de Téléchargement

Hidden Content

    Give reaction to this post to see the hidden content.
( Interne )

Bonjour, bonsoir;

 

N'ayant rien à faire, je vous partage une fonction que j'ai créée pour, à la base, faire des tests sur un truc que j'ai développé.

La commande est simple, elle permet de créer un item en y attribuant 3 valeurs de socket. Si une des valeurs est incorrecte, le socket vaudra automatiquement 0.

/* cmd_gm.cpp*/
ACMD(do_item_socket)
{
	DWORD dwVnum;
	/*	vnum	  socket0	  socket1	  socket2 */
	char arg0[256], arg1[256], arg2[256], arg3[256];
	
	two_arguments(two_arguments(argument, arg0, sizeof(arg0), arg1, sizeof(arg1)),
								arg2, sizeof(arg2), arg3, sizeof(arg3));

	if (!*arg0)
	{
		ch->ChatPacket(CHAT_TYPE_INFO, "Usage: item_socket <vnum> <socket0> <socket1> <socket2>");
		return;
	}
	if (!str_to_number(dwVnum, arg0))
	{
		ch->ChatPacket(CHAT_TYPE_INFO, "Item #%u does not exist by that vnum.", dwVnum);
		return;
	}
	
	int socket[3] = {0, 0, 0};
	
	if (!str_to_number(socket[0], arg1))
		ch->ChatPacket(CHAT_TYPE_INFO, "Item #%d: can't set socket0. Setting default value 0.", dwVnum);
	if (!str_to_number(socket[1], arg2))
		ch->ChatPacket(CHAT_TYPE_INFO, "Item #%d: can't set socket1. Setting default value 0.", dwVnum);
	if (!str_to_number(socket[2], arg3))
		ch->ChatPacket(CHAT_TYPE_INFO, "Item #%d: can't set socket2. Setting default value 0.", dwVnum);

	if (LPITEM item = ch->AutoGiveItem(dwVnum))
	{
		for (int i = 0; i < 3; i++)
			item->SetSocket(i, socket[i]);
	}
	else
		ch->ChatPacket(CHAT_TYPE_INFO, "Cannot create item #%d.", dwVnum);
}

 

/* cmd.cpp */
ACMD(do_item_socket);

/* dans le tableau cmd_info: */
{ "item_socket",	do_item_socket,			0,	POS_DEAD,	GM_LOW_WIZARD	},

 

Des bisous.

  • Confused 1
  • Love 2
Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 2
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Jours populaires



  • brilliantdiscord_widget
  • Flux d'Activité

    1. 0

      OldEraMT2 | Classique 2009 Oldschool | Niveau 99 | 7 langues | Sans pay2win | Bêta fermée

    2. 6

      problème de connexion à mon serveur local (je suis débutant dans ce genre d'entreprise )

    3. 2

      problème de lancement serveur

    4. 9
    5. 0

      [PVM/PVP] ATLAX2 - EASY PLAY

    6. 2

      problème de lancement serveur

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.