Jump to content
  • 0

pomoc Spawn


IchNar

Dotaz

Popis problému:

Mám problém,problém je v tom že keď dám príkaz /kill a zabijem sa tak ma to spawne 2 krát...raz a potom druhý krát..Druhý krát ma spawnlo s cigaretou..Neviem prečo..Ďakujem za pomoc.

 

Chyby/varování kompilátoru a při běhu:

--

 

Kód:

 

[code=:0]
public delayspawn(playerid)
{
	 SpawnPlayer(playerid);
	 SetPlayerHealth(playerid,100);
	 return 1;
}
[/code]
//onplayerdeath[code=:0]
SetSpawnInfo(playerid,0,0,1109.2490,-1796.0345,16.5938,3.2391,0,0,0,0,0,0);
SetTimerEx("delayspawn",2000,false,"i",playerid);
SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(killerid)+1);
[/code]
//public

 

 

 

Dodatečné poznámky:

--

Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0

//spawn
if(afterLogginSpawn[playerid])
{
if(jail[playerid] > 0)
{
Uvezni(playerid);
}
if(Muted[playerid] > 0)
{
mutetimer[playerid] = SetTimerEx("delaymute",1000,true,"i",playerid);
}
afterLogginSpawn[playerid] = false;
}

PlayerTextDrawShow(playerid,TDEditor_PTD[playerid][0]);
PlayerTextDrawShow(playerid,TDEditor_PTD[playerid][1]);
PlayerTextDrawShow(playerid,TDEditor_PTD[playerid][2]);
TogglePlayerSpectating(playerid,0);
//death
SetSpawnInfo(playerid,0,0,1109.2490,-1796.0345,16.5938,3.2391,0,0,0,0,0,0);
SetTimerEx("delayspawn",1000,false,"i",playerid);
SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(killerid)+1);
//prikaz
CMD:kill(playerid,params[])
{
SetPlayerHealth(playerid,0);
return 1;
}
//ten public
public delayspawn(playerid)
{
SpawnPlayer(playerid);
SetPlayerHealth(playerid,100);
return 1;
}
Link to comment
Share on other sites

  • 0

Zkus se kouknout na Google, přijdeš na to že většina lidí řeší stejný problém co ty, nebo dokonce na ten problém někdo napíše i tutoriál. Například zde (sa-mp.com), pokud ti to nepomůže koukni se po něčem jiném, ve výsledcích je toho dost ;)

Link to comment
Share on other sites

  • 0

Pokud máš ten timer s callbackem delayspawn v OnPlayerDeath, tak se spawneš 2x, protože po smrti se zavolá callback, ve kterém máš timer, a ten obsahuje fci pro spawnutí hráče (SpawnPlayer()).

Link to comment
Share on other sites

  • 0

Timer na to používam preto,lebo keď zomrem tak sa mi tam ukáže tlačítko spawn a tie šípky,a preto som si tam dal timer aby tam bola ta deathcamera a potom ho to spawnlo,lenže takto ma to spawne 2x..

Link to comment
Share on other sites

  • 0

SetSpawnInfo mi nepomôže,ja chcem,že keď hráč zomrie tak za 3 sekundy by ho to spawnlo,pretože ak je to dlhšiie tak sa zobrazí tlačidlo spawn a tie šípky,a toto ja vôbec nechcem.Ja chcem len hráč zomrie,uvidí death cameru a spawne ho to...

Link to comment
Share on other sites

  • 0
  • Globální moderátor

Tohle všechno budeš muset provádět v OnPlayerSpawn.

 

OnPlayerDeath se triggne když hráč umře ale následně se zavolá OnPlayerSpawn. Takže spíš něco jako

new bool:death[MAX_PLAYERS];
OnPlayerDeath:
death[playerid] = true;

OnPlayerSpawn:
if(death[playerid]){
      // delayspawn timer or whatsoever
}
else{
    // obyc. spawn
}

delayspawn:
death[playerid] = false;
spawnplayer;
Link to comment
Share on other sites

  • 0

Robil som to tak,ale prvý krát keď zomriem tak mi to ukáže tie šípky a spawn tlačitko,ale keď druhý krát zomriem tak mi to už ide dobre..Ako opraviť aby to išlo dobre aj keď zomrie prvý krát?

//OnPlayerDeath

death[playerid] = true;
	SetSpawnInfo(playerid,0,0,1109.2490,-1796.0345,16.5938,3.2391,0,0,0,0,0,0);

//OnPlayerSpawn

if(death[playerid])
	{
		 SpawnPlayer(playerid);
		 death[playerid] = false;
	}
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...