Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

PAGALBOS su skriptu


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1473 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

timer1 = SetTimerEx("GaudoErkes",15000,true,"i",playerid)

timer2 = SetTimerEx("NuimamHp",10000,true,"i",playerid);

if (strcmp("/nuimtierke", cmdtext, true, 10) == 0)
	{
	
	
		if (playerDB[playerid][IsisiurbeErke] == 0)
		{
        	SendClientMessage(playerid,0xFFFFFF,"Tu neturi erkiu!");
	 		return 1;
		}
 		else if(playerDB[playerid][IsisiurbeErke] > 1)
	    {
        	playerDB[playerid][IsisiurbeErke] -=1;
			SendClientMessage(playerid,0xFFFFFF,"Nusiemei erke!");
		}
		else if(playerDB[playerid][IsisiurbeErke] > 0 || playerDB[playerid][IsisiurbeErke] <= 1 )
	    {
        	playerDB[playerid][IsisiurbeErke] -=1;
			SendClientMessage(playerid,0xFFFFFF,"Nusiemei erke ir nebeturi erkiu, tau nebemazeja hp!");
            KillTimer(timer2);
			return 1;
			
		}

Nepaledzia timerio 1 ir tikriausiai 2 nes abudu taip paciai daryti. Komandoj nereaguoja i pati pirma if vietoj to sureaguoja i  paskutini if. Taip pat timeris "NuimamHP" neissijungia kai nera erkiu ir pati pirma karta kai nuima hp iskart mirsti nors turi nuimti 15hp, o kai atsirandi ir nueini is naujo viskas gerai. Kur problemos? Dekui is anksto.

Nuoroda į komentarą
Dalintis per kitą puslapį

Pagal apibūdinimą, klaida ne komandoje, klaida arba toje vietoje, kur timer'is nustatomas arba paties timer'io kodo bloke ("GaudoErkes" arba "NuimamHp").

Taip pat pačią komandą gali parašyti ir geriau
 

if (strcmp("/nuimtierke", cmdtext, true, 10) == 0)
{
	if (playerDB[playerid][IsisiurbeErke] <= 0) return SendClientMessage(playerid, 0xFFFFFF,"Tu neturi erkiu!");
    if(playerDB[playerid][IsisiurbeErke] > 1)
    {
      playerDB[playerid][IsisiurbeErke]--;
      SendClientMessage(playerid,0xFFFFFF,"Nusiemei erke!");
    }
    else
    {
      playerDB[playerid][IsisiurbeErke]--;
      SendClientMessage(playerid,0xFFFFFF,"Nusiemei erke ir nebeturi erkiu, tau nebemazeja hp!");
      KillTimer(timer2);
    }
	return 1;
}

Forumas iškreipia kodo lygiavimą, nukopijavus turėtų susitvarkyti.

Redaguota , nario haX0r
Nuoroda į komentarą
Dalintis per kitą puslapį

35 minutes prieš, _Lukas_ parašė:

Tai problema cia? Gal kokiu parametru truksta arba  ta i raide netinka?

timer1 = SetTimerEx("GaudoErkes",15000,true,"i",playerid);

timer2 = SetTimerEx("NuimamHp",10000,true,"i",playerid);

Visų pirma, nematyti kur nustatai šiuos timer'ius (OnGameModeInit?), kitas dalykas renkiesi išplėstinį jo variantą, kad galėtum turėti atskirą kodo bloką jiems. Kodas, esantis tuose blokuose kartosis pagal nustatytą intervalą, šiuo atveju 15 ir 10 sekundžių.

Turi būti specialūs kodo blokai timer'iams.

forward GaudoErkes(playerid);
public GaudoErkes(playerid)
{
 	//Kodas
}
forward NuimamHp(playerid);
public NuimamHp(playerid)
{
	//Atimi gyvybes čia.
}

Jei tokių nėra, net nesitikėk, jog viskas veiks. 
Gana išsamiai paaiškinta: https://wiki.sa-mp.com/wiki/SetTimerEx

Nuoroda į komentarą
Dalintis per kitą puslapį

prieš 12 valandas(-ų), haX0r parašė:

Visų pirma, nematyti kur nustatai šiuos timer'ius (OnGameModeInit?), kitas dalykas renkiesi išplėstinį jo variantą, kad galėtum turėti atskirą kodo bloką jiems. Kodas, esantis tuose blokuose kartosis pagal nustatytą intervalą, šiuo atveju 15 ir 10 sekundžių.

Turi būti specialūs kodo blokai timer'iams.


forward GaudoErkes(playerid);
public GaudoErkes(playerid)
{
 	//Kodas
}

forward NuimamHp(playerid);
public NuimamHp(playerid)
{
	//Atimi gyvybes čia.
}

Jei tokių nėra, net nesitikėk, jog viskas veiks. 
Gana išsamiai paaiškinta: https://wiki.sa-mp.com/wiki/SetTimerEx

taip, pasidares situs public'us. "GaudoErkes" timeris yra OnPlayerEnterDynamicArea, o "NuimamHp" paciam "GaudoErkes"

Nuoroda į komentarą
Dalintis per kitą puslapį

Prieš 1 valandą, _Lukas_ parašė:

taip, pasidares situs public'us. "GaudoErkes" timeris yra OnPlayerEnterDynamicArea, o "NuimamHp" paciam "GaudoErkes"

Neaiškiai labai dėstai visas problemas, sunku padėti taip. Šone visada yra mano kontaktai, galima kreiptis.

Matau jau yra pasisiūlęs padėti virš manęs, tikiuosi problema bus išspręsta.

Redaguota , nario haX0r
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1473 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...