Problema Get Race target player

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
Nek0.
Nivel 1

Nivel 1
Mesaje: 91
Membru din: 20 Sep 2014, 15:29
Regat: Jinno
Aprecieri: 217  
Mulţumiri: 1  
Medalii

*Problemă/Întrebare:
Tipologie server:
*Resursă folosită:
*ServerFiles utilizat:
*Syserr:
0702 15:13:18439 :: RuntimeError
0702 15:13:18439 :: :
0702 15:13:18439 :: Failed to load image (filename: d:/ymir work/ibowork/target/-1.png)
0702 15:13:18439 ::

Poză:
*Detalii suplimentare:
Salut, am gasit pe la turci un sistem care iti ataseaza un cerc care contine o imagine cu caracterul pe care il selectezi, gen daca eu dau click dreapta pe un saman cu care vreau sa fac trade, sus in bara de target imi apare in stanga langa optiunile de soapta, negot, etc, o imagine cu un saman, dar am o mica problema.

Orice as incerca, mereu valoarea returnata de getrace este fie -1, fie egala cu cea a mea, astfel ca imi apare imaginea cu ce rasa am eu, nu targetul.
Functia pe care o are sistemul inistial e asta pcRace = nonplayer.GetRaceNumByVID(vid), am incercat si cu GetRace...
Am si sistemul de new exchange, cel de la WoM2, care are o functie in exchange.GetTargetRace() dar functia returneaza 0 pana cand fereastra de negot e deschisa, abia atunci da return la valorile bune..
Eu am nevoie ca functia sa imi dea o valoare cuprinsa intre 0-8 inclusiv, ca imaginea afisata sa fie una corecta..
Avatar utilizator
[Mafia83]
Membru Club

Membru Club
Mesaje: 777
Membru din: 24 Feb 2016, 20:32
Server: Metin2KGB
Regat: Jinno
Aprecieri: 279  
Mulţumiri: 2287  
Discord: Copiază ID
 Contact:
Medalii

Modelul pentru postare trebuie si completat, nu doar copy/paste.
1. Schimba locatia imaginii
2. Verifica ca locatia imaginii sa fie corecta.
Daca ai lasa si resursa ar fi mai usor pentru toata lumea ;)
Pentru acest mesaj, [Mafia83] for the post:
Nek0.
Avatar utilizator
Nek0.
Nivel 1

Nivel 1
Mesaje: 91
Membru din: 20 Sep 2014, 15:29
Regat: Jinno
Aprecieri: 217  
Mulţumiri: 1  
Medalii

Mafia83 scrie: ↑02 Iul 2021, 14:44 Modelul pentru postare trebuie si completat, nu doar copy/paste.
1. Schimba locatia imaginii
2. Verifica ca locatia imaginii sa fie corecta.
Daca ai lasa si resursa ar fi mai usor pentru toata lumea ;)
Locatiile sunt bune, asta e functia toata, nu mai stiu cum se numeste sistemul, de asta am incercat sa-l explic, il am de mult timp prin PC si ma chinui de aseara cu el..
pcRace = nonplayer.GetRaceNumByVID(vid)
if chr.GetInstanceType(vid) == chr.INSTANCE_TYPE_PLAYER:
self.FaceTargetIcon.LoadImage("d:/ymir work/ibowork/target/%d.png" % pcRace)
self.FaceTargetIcon.Show()
self.FaceTargetImage.Show()
Ca idee asta e functia, ea normal ar trebui sa-mi returneze 0 pentru warr, 1 pentru war femeie, 2 pentru ninja s.a.m.d pana la 8 pentru Lycan, dar nu face asa.. imi da mereu pcRace = -1, si daca ma folosesc de functia noua pe care o am in exchange.GetTargetRace, imi da valorile bune, dar doar cand deschid fereastra de negot..
Avatar utilizator
[Mafia83]
Membru Club

Membru Club
Mesaje: 777
Membru din: 24 Feb 2016, 20:32
Server: Metin2KGB
Regat: Jinno
Aprecieri: 279  
Mulţumiri: 2287  
Discord: Copiază ID
 Contact:
Medalii

Din ce iti da tie in syser rezulta: locatia incorecta/ fisierul nu este in locatia mentionata/ fisierul este corupt (nu ti-l poate afisa).
Incearca sa schimbi locatia imaginii sau dai convert in .tga
Avatar utilizator
Nek0.
Nivel 1

Nivel 1
Mesaje: 91
Membru din: 20 Sep 2014, 15:29
Regat: Jinno
Aprecieri: 217  
Mulţumiri: 1  
Medalii

Mafia83 scrie: ↑02 Iul 2021, 14:53 Din ce iti da tie in syser rezulta: locatia incorecta/ fisierul nu este in locatia mentionata/ fisierul este corupt (nu ti-l poate afisa).
Incearca sa schimbi locatia imaginii sau dai convert in .tga
Locatiile sunt bune, imi da asa doar pentru ca valoarea pe care mi-o da functia GetRaceNumByVID e -1, la orice rasa de caracter, daca mi-ar fi dat cum trebuie, de exemplu 8 la Lycan, mi-ar fi luat 8.png din locatia respectiva si mi-ar fi aratat imaginea cu lycan fara probleme..
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

Cod: Selectaţi tot

PyObject * chrGetRaceNumByVID(PyObject * poSelf, PyObject * poArgs)
{
	int iVirtualID;
	if (!PyTuple_GetInteger(poArgs, 0, &iVirtualID))
		return Py_BuildException();

	CInstanceBase * pCharacterInstance = CPythonCharacterManager::Instance().GetInstancePtr(iVirtualID);

	if (!pCharacterInstance)
		return Py_BuildValue("i", 0);

	return Py_BuildValue("i", pCharacterInstance->GetRace());

}
Pentru acest mesaj, [HF]White for the post:
Nek0.
Avatar utilizator
Nek0.
Nivel 1

Nivel 1
Mesaje: 91
Membru din: 20 Sep 2014, 15:29
Regat: Jinno
Aprecieri: 217  
Mulţumiri: 1  
Medalii

[HF]White scrie: ↑02 Iul 2021, 15:29

Cod: Selectaţi tot

PyObject * chrGetRaceNumByVID(PyObject * poSelf, PyObject * poArgs)
{
	int iVirtualID;
	if (!PyTuple_GetInteger(poArgs, 0, &iVirtualID))
		return Py_BuildException();

	CInstanceBase * pCharacterInstance = CPythonCharacterManager::Instance().GetInstancePtr(iVirtualID);

	if (!pCharacterInstance)
		return Py_BuildValue("i", 0);

	return Py_BuildValue("i", pCharacterInstance->GetRace());

}
Mersi frumos! :two_hearts: de aseara caut o functie de genul asta, acum merge perfect!
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

:D Rezolvat, topic inchis.
Închis

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

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