Jump to content

Nefunkční pickup


T.Evil

Recommended Posts

new Pickup1;
new Pickup2;
new Pickup3;

public OnGameModeInit()
{
  Pickup1 = CreatePickup(1212,2,1492.1907,-1767.8684,18.7958,-1); //TESTPICKUP
  Pickup2 = CreatePickup(1212,2,1392.1907,-1367.8684,16.3658,-1); //TESTPICKUP
  Pickup3 = CreatePickup(1212,2,1692.1907,-1167.8684,14.7958,-1); //TESTPICKUP
  return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
                if(pickupid == Pickup1)
		{
		GivePlayerMoney(playerid,100);
		SendClientMessage(playerid, 0xFFFFFF, "text");
		}
		if(pickupid == Pickup2)
		{
		GivePlayerMoney(playerid,1000);
		SendClientMessage(playerid, 0xFFFFFF, "text");
		}
		if(pickupid == Money50k)
		{
		GivePlayerMoney(playerid,10000);
		SendClientMessage(playerid, 0xFFFFFF, "text");
		}
                return 1;
}

Problém = Po sebrání pickupu se nesplní GivePlayerMoney ani SendClientMessage.. Pickup pouze zmizí (Typ = 2, což chci)

 

Prosím uživatele Lukasz aby toto téma nekomentoval, a to pro to že mi s tímto problémem už v minulosti nedokázal pomoci a není proto třeba stejných rad.

Link to comment
Share on other sites

  • Hlavní moderátor

Zkus to na Grand Larceny, myslím si, že to bude módem. Vycházím z toho, že jsi říkal, že to není ostatními FS.

Link to comment
Share on other sites

Prosím uživatele Lukasz aby toto téma nekomentoval, a to pro to že mi s tímto problémem už v minulosti nedokázal pomoci a není proto třeba stejných rad.

 

 

Jedná se o Gamemode nebo Filterscript?

Co je to "Money50k"? Jinak zde problém není :)

pILk.png

 

zkrať si to...

 

new 
	pPickup[3];

public OnGameModeInit(){ 

	pPickup[0] = CreatePickup(...); pPickup[1] = CreatePickup(...); pPickup[2] = CreatePickup(...);
	return 1;
}

public OnPlayerPickUpPickup(...) {

	if(pickupid == pPickup[0]) GivePlayerMoney(playerid, 100) , SCM(playerid, ...);
	if(pickupid == pPickup[1]) GivePlayerMoney(playerid, 1000) , SCM(playerid, ...);
	if(pickupid == pPickup[2]) GivePlayerMoney(playerid, 10000) , SCM(playerid, ...);
	return 1;
}
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Je to v gamemodu, fs ted nemám aktivní žádné


Zkus to na Grand Larceny, myslím si, že to bude módem. Vycházím z toho, že jsi říkal, že to není ostatními FS.

Nevím jak se to dělá :d

Link to comment
Share on other sites

Je to v gamemodu, fs ted nemám aktivní žádné

Nevím jak se to dělá :d

Jak sakra nemůžeš vědět, co je to Grand Larceny? Jestli ani toto nevieš, tak už nevím kdo ti pomůže.

 

Soráč za offtopic :d

Edited by Paulee
  • Líbí se mi to! (+1) 2
Link to comment
Share on other sites

Můžu mít v OnGameModeInIt vícekrát stejný pickup, jen jiné souřadnice?

 

Pickup1 = CreatePickup(...)
Pickup1 = CreatePickup(...)
Pickup1 = CreatePickup(...)
Pickup1 = CreatePickup(...)
Pickup1 = CreatePickup(...)

Pickup2 = CreatePickup(...)
Pickup2 = CreatePickup(...)
Pickup2 = CreatePickup(...)
Pickup2 = CreatePickup(...)

atd..
Link to comment
Share on other sites

  • Hlavní moderátor

 

Můžu mít v OnGameModeInIt vícekrát stejný pickup, jen jiné souřadnice?

 

 

Pickup1 = CreatePickup(...)
Pickup1 = CreatePickup(...)
Pickup1 = CreatePickup(...)
Pickup1 = CreatePickup(...)
Pickup1 = CreatePickup(...)

Pickup2 = CreatePickup(...)
Pickup2 = CreatePickup(...)
Pickup2 = CreatePickup(...)
Pickup2 = CreatePickup(...)

atd..

Ne.

 

 

Jak sakra nemůžeš vědět, co je to Grand Larceny? Jestli ani toto nevieš, tak už nevím kdo ti pomůže...

Nedramatizuj to.

 

Grand Larceny je výchozí mód, který máš v SA:MP balíčku ve složce gamemodes, v konfigu si ho nastav, přesný název je grandlarc.

Link to comment
Share on other sites

Nefunguje mi to ani s ním. Problém tedy asi bude v tom že mám něco jako:

 

public OnGameModeInIt()

{
  Pickup1 = CreatePickup(1212,2,x,z,y,-1); //TESTPICKUP
  Pickup1 = CreatePickup(1212,2,x,z,y,-1); //TESTPICKUP
  Pickup1 = CreatePickup(1212,2,x,z,y,-1); //TESTPICKUP
  Pickup1 = CreatePickup(1212,2,x,z,y,-1); //TESTPICKUP
  Pickup1 = CreatePickup(1212,2,x,z,y,-1); //TESTPICKUP
  
  Pickup2 = CreatePickup(1212,2,x,z,y,-1); //TESTPICKUP
  Pickup2 = CreatePickup(1212,2,x,z,y,-1); //TESTPICKUP
  Pickup2 = CreatePickup(1212,2,x,z,y,-1); //TESTPICKUP
  
  Pickup3 = CreatePickup(1212,2,x,z,y,-1); //TESTPICKUP
  return 1;
}

Je to možné? Mě přišlo divné dělat pro každý pickup zvlášť nové jméno...

Takže když mám 100 pickupů, tak musím udělat new Pickup1, new pickup2 ... new Pickup 100 ?

Edited by T.Evil
Link to comment
Share on other sites

 

 

 

pILk.png

 

zkrať si to...

 

new 
	pPickup[3];

public OnGameModeInit(){ 

	pPickup[0] = CreatePickup(...); pPickup[1] = CreatePickup(...); pPickup[2] = CreatePickup(...);
	return 1;
}

public OnPlayerPickUpPickup(...) {

	if(pickupid == pPickup[0]) GivePlayerMoney(playerid, 100) , SCM(playerid, ...);
	if(pickupid == pPickup[1]) GivePlayerMoney(playerid, 1000) , SCM(playerid, ...);
	if(pickupid == pPickup[2]) GivePlayerMoney(playerid, 10000) , SCM(playerid, ...);
	return 1;
}

Ok, a kdž yhci aby například pickup 0-50 dělal GivePlayerMoney(playerid, 100) , SCM(playerid, ...); tak musím dávat ten příkaz pro každý pickup zvlášť?

 

if(pickupid == pPickup[0]) GivePlayerMoney(playerid, 100) , SCM(playerid, ...); 

if(pickupid == pPickup[1]) GivePlayerMoney(playerid, 100) , SCM(playerid, ...); 

...

 

Nebo to jde udělat nějak aby to bylo 0-50 ?

Link to comment
Share on other sites

Ok díky, jdu to tedy dodělat a dám vědět jak to dopadlo :)


Vypadá to že by to mělo jít, jenom u jednoho pickupu mi to píše tohle:

error 032: array index out of bounds (variable "pPickup")


Fixed - Ked mám 113 pickupů musim mít new pPickup[114]

Díky lidi

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...