←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Stary
Pytanie z wymienianiem itemami !

  • +
  • -
Ciuchcia:D - zdjęcie Ciuchcia:D 05.07.2011

Witam !!

Mam pytanie dalo by zrobic plugin do coda starego zeby jak ktos wpisze /wymien to wymienia sie itemami, jak da sie to zrobic bardzo bym prosil.
Odpowiedz

  • +
  • -
Jambi - zdjęcie Jambi 05.07.2011

ale po co ci to skoro mozesz zrobic sobie w sklepie kupno itemu i mozesz zrobic /daj dasz komus item


moim zdaniem /wymien jest zbedne
Odpowiedz

  • +
  • -
BliBs_Pl - zdjęcie BliBs_Pl 05.07.2011

Mu chodzi o to że jak dwóch graczy ma perki którymi chcą się zamienić to wpisują /wymien i się wymieniają. Bo jak tego nie ma to jeden z nich musiałby stracić.
Odpowiedz

  • +
  • -
Ciuchcia:D - zdjęcie Ciuchcia:D 05.07.2011

Nom o to mi BliBs_Pl bo gracze z mojego serwera prosili mnie jak to zrobic, ale ja nei wime jak.
Jak ktos napisze dam +++
Odpowiedz

ptk. - zdjęcie ptk. 05.07.2011

Edycja pluginu od nowego Cod mod i tyle jednak ja za free tego nie robię :spadowa:
Użytkownik DJPTK edytował ten post 05.07.2011 23:01
Odpowiedz

  • +
  • -
ExTaza?! - zdjęcie ExTaza?! 06.07.2011

Ja daje plusiki ;P Dolaczcie sie moze nazbieramy ;] No DJPTK ;] Zrob to dla nas ;]
Odpowiedz

  • +
  • -
Ciuchcia:D - zdjęcie Ciuchcia:D 06.07.2011

Ja Zrobilem takie cos ale skomplikowalo sie bez problem, wgralem to na serwer i wpisuje /wymien i pokazuje menu, wciskam na gracza i pisze ze itemy zostaly wymienione, ale patrze i mam ten sam item jaki mialem.

próbowałem z pluginem do nowego coda [CoD Nowy] Wymiana perkami. - AMXX.pl: Support AMX Mod X




new bool:dostal_przedmiot[33];
new oddaj_id[33];

public ZamienPerk(id)
{
	new menu = menu_create("Zamien sie perkiem", "ZamienPerk_Handle");
	new cb = menu_makecallback("OddajPerk_Callback");
	for(new i=0, n=0; i<=32; i++)
	{
		if(!is_user_connected(i))
			continue;
		oddaj_id[n++] = i;
		new nazwa_gracza[64];
		get_user_name(i, nazwa_gracza, 63)
		menu_additem(menu, nazwa_gracza, "0", 0, cb);
	}
	menu_display(id, menu);
}

public cod_perk_changed(id)
	dostal_przedmiot[id] = false;

public ZamienPerk_Handle(id, menu, item)
{
	if(!is_user_connected(oddaj_id[item])){
		client_print(id, print_chat, "Nie odnaleziono zadanego gracza.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiot[oddaj_id[item]]){
		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[id][0]){
		client_print(id, print_chat, "Wybrany gracz nie mam zadnego perka.");
		return PLUGIN_CONTINUE;
	}
	
	if(!informacje_przedmiotu_gracza[id][0]){
		client_print(id, print_chat, "Nie masz zadnego perka.");
		return PLUGIN_CONTINUE;
	}

	new nazwa_menu[128], nick[64];
	
	get_user_name(id, nick, charsmax(nick))
	formatex(nazwa_menu, charsmax(nazwa_menu), "Wymien sie perkiem z %s:", nick)
	
	new menu2 = menu_create(nazwa_menu, "menu_wymien");

	menu_additem(menu2, "Tak", nick);
	menu_addblank(menu2, 0)
	menu_additem(menu2, "Nie", nick);
	
	menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
	menu_display(oddaj_id[item], 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: 
		{ 
			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 perkiem z %s.", data);
			client_print(id2, print_chat, "Wymieniles sie perkiem z %s.", nazwa_dajacego)
		}
		case 1: client_print(id2, print_chat, "Wybrany gracz nie zgodzil sie na wymiane perka.")
	}
	return PLUGIN_CONTINUE;
}

public OddajPerk_Callback(id, menu, item)
{
	if(oddaj_id[item] == id )
		return ITEM_DISABLED;
	return ITEM_ENABLED;
}

Jak ktos to poprawi dostanie +++
Odpowiedz

  • +
  • -
BliBs_Pl - zdjęcie BliBs_Pl 06.07.2011

Musiałbyś pozmieniać pojęcia z nowego coda na pojęcia z prawego >D
Chętnie bym ci pomógł ale starego coda się będę dopiero uczyć.
Odpowiedz

  • +
  • -
Ciuchcia:D - zdjęcie Ciuchcia:D 06.07.2011

Nom tak robie, ale mi nie wychodzi ;/
Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 06.07.2011

może tak.. na koniec dodaj:
public ChceOddacItem(id)
{
		daje_item[id] = false;
		new jaki_item[50]
		new zwie_sie[33]
		get_user_name(id,zwie_sie,32)
		format(jaki_item,50,"Gracz %s chce oddac %s",zwie_sie,nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]])
		client_print(0,print_chat,"%s",jaki_item)
}
public WymianaItemami()
{
	new menu = menu_create("Zamien Item", "Item_Zamiana")
	new i=1;
	for(new id=0;id<=32;id++)
	{
		if(daje_item[id])
		{
			new zwie_sie[33]
			new item_gracza[50]
			get_user_name(id,zwie_sie,32);
			format(item_gracza,49,"%s (%s)",nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]],zwie_sie)
			menu_additem(menu,item_gracza)
			ArrayPushCell(MojaTablica,id);
			i++;
		}
	}
}
public Item_Zamiana(menu,item)
{
	new id = read_data(2);
	new id2
	
	id2 = ArrayGetCell(MojaTablica, item);
	
	new item_pomocniczy;
	
	item_pomocniczy = informacje_przedmiotu_gracza[id2][0];
	informacje_przedmiotu_gracza[id2][0] = informacje_przedmiotu_gracza[id][0]
	informacje_przedmiotu_gracza[id][0] = item_pomocniczy;
}

gdzieś na górze
new Array:MojaTablica;

a w plugin_init(tez gdzieś:P)

register_clcmd("say /wymien", "ChceOddacItem");
register_clcmd("say /ktoodda", "WymianaItemami")
MojaTablica=ArrayCreate(1,32);

może zadziała... nie sprawdzałem.
Użytkownik CheQ edytował ten post 06.07.2011 13:38
Odpowiedz

  • +
  • -
Ciuchcia:D - zdjęcie Ciuchcia:D 06.07.2011

Heh nistety nie dziala ;/

Jak komplikuje go to takie cos wychodzi

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

QTM_CodMod.sma(555) : warning 217: loose indentation
QTM_CodMod.sma(558) : warning 217: loose indentation
QTM_CodMod.sma(3563) : warning 217: loose indentation
QTM_CodMod.sma(3609) : warning 217: loose indentation
QTM_CodMod.sma(3670) : error 017: undefined symbol "daje_item"
QTM_CodMod.sma(3670) : warning 215: expression has no effect
QTM_CodMod.sma(3670) : error 001: expected token: ";", but found "]"
QTM_CodMod.sma(3670) : error 029: invalid expression, assumed zero
QTM_CodMod.sma(3670) : fatal error 107: too many error messages on one line

Compilation aborted.
4 Errors.
Done.


A sprubujcie tym moim, moze wam sie uda :)
Użytkownik Ciuchcia:D edytował ten post 06.07.2011 14:39
Odpowiedz

  • +
  • -
ExTaza?! - zdjęcie ExTaza?! 06.07.2011

Lepiej poprawic kompilacje przykladu CheQ niz twoj ;P Masz male bledy wiec prosto naprawic.
Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 06.07.2011

To może dam tak ;)

tu jest cod podstawowy. wystarczy klasy kopiować itp i możliwe ze działa.

Załączone pliki

Odpowiedz

  • +
  • -
ExTaza?! - zdjęcie ExTaza?! 06.07.2011

Ehh. Mam te same bledy co kolega ^ ^ moj Cod Mod wazy 190 kb wiec moze dlatego. Juz wiecej nie dzwiga ;d
Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 06.07.2011

przepraszam. zapomniałem dodać żeby dodać pod new array

new bool:daje_item[33]

ja to zrobie i opublikuje bo sam dodam do Siebie na serwer
Użytkownik CheQ edytował ten post 06.07.2011 17:34
Odpowiedz

  • +
  • -
ExTaza?! - zdjęcie ExTaza?! 06.07.2011

Opublikuj to dodam tam plusa. Wieczorem do Ciebie na gg napisze bo mam sprawe :P

Dodano 06 lipiec 2011 - 18:07:
Kompilacja tylko dziala :P

Wpisuje /wymien. I pisze Pm chce wymienic item jakis tam....

/ktoodda nie dziala :]
Odpowiedz

  • +
  • -
Ciuchcia:D - zdjęcie Ciuchcia:D 06.07.2011

Nom mi tez nie dziala w sayu /ktooda.
Użytkownik Ciuchcia:D edytował ten post 06.07.2011 18:43
Odpowiedz

  • +
  • -
ExTaza?! - zdjęcie ExTaza?! 06.07.2011

CheQ to popraw to ;P
Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 06.07.2011

na dniach wstawię ;)
Odpowiedz

  • +
  • -
ExTaza?! - zdjęcie ExTaza?! 06.07.2011

Byle do soboty :] Bo reset u Siebie robie ;P Dodaj do tego ze wpisujesz /wymien pojawia sie lista graczy i klikasz na kogos. Ten ktos dostanie tak jak w vote z pytaniem "Chcesz wymienic Perk z Player..." TAK NIE :] to by jeszcze lepsze bylo ;P

@Edit :D

Lista graczy po myślniku jego perk :D

@Edit2

Pytanie "Chcesz sie wymienic perkami "PERK" na "PERK" z Player?" TAK NIE
Użytkownik pm161 edytował ten post 06.07.2011 19:05
Odpowiedz