←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Nóż w lewej dłoni.

  • +
  • -
Mohylew - zdjęcie Mohylew 22.05.2015

Prezesie skoro tobie działa to i u mnie powinien działać ale... niestety. Nie działa. Opiszę ci jak to robię krok po kroku może gdzieś popełniam błąd.

Kompiluje ten kod aby był amxx. Następnie wrzucam do folderu plugins. Potem dopisuje do plugins.ini i resetuje serwer. Czy coś pomijam? Czy coś robię źle? Może gdzieś coś muszę zmienić/dopisać/usunąć? Skoro jesteśmy tak blisko celu powalczmy jeszcze trochę.

Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 22.05.2015

Właśnie że robisz dobrze, kod również jest dobry. Wpisz w konsoli cl_righthand 1 i sprawdź czy zmieni Ci nóż na lewą a bronie będziesz miał na prawej.

Odpowiedz

  • +
  • -
Mohylew - zdjęcie Mohylew 22.05.2015

Wpisałem i jest tak jak wcześniej czyli broń i nóż zmienia się na prawą rękę :(

Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 23.05.2015

Sprawdź czy po dopisaniu w plugins.ini tego pluginu, na serwerze plugin jest włączony i wykryty, najlepiej przez amxmodmenu > 9 > 6 i szukaj tam tego pluginu po nazwie, Ja nazwałem go Left-Hand Knife więc jeśli nie zmieniałeś jej to tak będzie się nazywał. Jeśli nie znajdziesz go na liście to znaczy że źle coś dopisałeś, albo plugin może być unknown i wtedy polecam sprawdzić logi serwer po zmianie mapy czy nie ma tam czegoś związanego z pluginem.

Odpowiedz

  • +
  • -
Mohylew - zdjęcie Mohylew 23.05.2015

Jest włączony i wykryty. Logi są czyste. Nie wiem o co może chodzić. Jeżeli masz jakiś jeszcze pomysł to chętnie wysłucham. I tak masz już + za czas i cierpliwość poświęcony mojej sprawie.

Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 23.05.2015

Wgraj ten kod, wpisz w chat /reka i sprawdź wiadomość, zrób tak przy cl_righthand 0 i 1, przy 0 wiadomość będzie o Lewej Ręce, przy 1 będzie o Prawej Ręce.

#include <amxmodx>
#include <engine>
#include <hamsandwich>
#include <cstrike>

#define PLUGIN "Left-Hand Knife"
#define VERSION "1.0"
#define AUTHOR "oeN."

new bool:rightHand[33];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /reka", "Reka");
	
	new classname[32]
	for(new i=1;i<31;++i) {
		if(i!=2) {
			get_weaponname(i,classname,31)
			RegisterHam(Ham_Item_Deploy, classname, "fwItemDeploy",1);
		}
	}
}

public client_authorized(id)
	set_task(1.0, "CheckHand", id);

public CheckHand(id) {
	set_task(1.0, "CheckHand", id);
	
	if(!is_user_connected(id) || is_user_bot(id))
		return PLUGIN_CONTINUE;
	
	query_client_cvar(id,"cl_righthand","PlayerHand");
	
	return PLUGIN_CONTINUE;
}

public fwItemDeploy(wpn)
{    
	static id;
	id = entity_get_edict(wpn, EV_ENT_owner)
	new weapon = cs_get_weapon_id(wpn)
	
	if(weapon == CSW_KNIFE && rightHand[id])
		client_cmd(id, "cl_righthand ^"0^"");
	else
		client_cmd(id, "cl_righthand ^"1^"");
}

public PlayerHand(id,const cvar[],const value[]){
	new Float:val=str_to_float(value);
	if(val <= 0)
		rightHand[id] = false
	else
		rightHand[id] = true
}

public Reka(id) {
	rightHand[id] ? client_print(id, print_chat, "Uzywasz Prawej Reki") : client_print(id, print_chat, "Uzywasz Lewej Reki");
}

Odpowiedz

  • +
  • -
Mohylew - zdjęcie Mohylew 23.05.2015

Tak, zgadza się. Jest dokładnie tak jak piszesz. Co dalej przyjacielu?

Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 23.05.2015

W takim razie zgłupiałem, wychodzi na to że plugin działa poprawnie. Gdy masz ustawione cl_righthand 1 i trzymasz byle jaką broń a następnie zmienisz na nóż to masz go w lewej ręce a jak zmienisz z noża na broń to broń jest w prawej, przynajmniej tak to działa u mnie.

Odpowiedz

  • +
  • -
Mohylew - zdjęcie Mohylew 23.05.2015

Chyba nie znajdziemy rozwiązania. U mnie wyświetla poprawne info i zmienia broń normalnie czyli nóż też :(

Tak jak pisałem wyżej jeżeli masz jeszcze jakiś pomysł jak to zrobić to jestem otwarty, jeżeli nie to temat można zamknąć.

Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 23.05.2015

Przykro mi ale ja już nie wiem co jest źle, jak byś mógł podrzucić mi jeszcze IP serwera (na PW oczywiście) na którym masz ten plugin i mieć go włączonego to wejdę i sprawdzę czy zadziała u mnie.

Odpowiedz