Jump to content
  • 0

pomoc Pickup ve filterscriptu


ForestCZE

Dotaz

Zdravím vespolek :)

Mám tento kód ve FS:

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" MyFS by ForestCZE & DenDoSlav");
    print("--------------------------------------\n");

    CreatePickup(1650,1,1942.7909,-1774.6079,13.3906,-1);
    return 1;
}

a ten pickup na serveru nevidím ani zaboha. Pokud to nastavím v GM:

public OnGameModeInit()
{
    CreatePickup(1650,1,1942.7909,-1774.6079,13.3906,-1);
    return 1;
}


tak to vidím normálně. Proč? Ve FS nelze mít pickupy nebo jak? Díky předem za vysvětlení.

Link to comment
Share on other sites

15 odpovědí na tuto otázku

Recommended Posts

  • 3
před 30 minutami, ForestCZE said:

Původně jsem měl nejdřív cyklus a pak až pickup. Jaký v tom je sakra rozdíl?

 Pawn som nevidel už roky ale aj tak viem, prečo ti to nešlo. Prekonal si limit arrayu ("v <= ALLV") a tam sa script zastavil. Tuším to nehodí ani runtime error. Iba ak by si mal ten plugin, crashdetect tuším.

Riešenie: zmeň to na "v < ALLV"

Link to comment
Share on other sites

  • 1

Tak potom neviem prečo ti to nejde, lebo urobil som presne to čo si napísal, a mne to ide.. Dokonca som aj pickup okopíroval, a zmenil pozície..

Spoiler

zuV9lWN.jpg

 

#include <a_samp>

public OnFilterScriptInit()
{
	SendClientMessageToAll(-1, " ");
	SendClientMessageToAll(-1, "{ff0000}[ ! ] {FFFFFF}AddStaticVehicle(411, 2512.5422, -1671.7954, 13.4947, 0.0, 10000);");
	SendClientMessageToAll(-1, "{ff0000}[ ! ] {FFFFFF}CreatePickup(1650,1, 2512.5422 + 5, -1671.7954, 13.4947, -1);");
	SendClientMessageToAll(-1, " ");
	AddStaticVehicle(411, 2512.5422, -1671.7954, 13.4947, 0.0, 10000);
	CreatePickup(1650,1, 2512.5422 + 5, -1671.7954, 13.4947, -1);
	return 1;
}

 

Edited by EvoLve.
Spoiler
Link to comment
Share on other sites

  • 0

Máš v globálu napsáno "#if defined FILTERSCRIPT" nebo "#define FILTERSCRIPT"? Je důležitý, aby pawno rozpoznalo, zda děláš gamemode nebo filterscript. Mělo by to být zapsáno. Viděl jsem i případy, kde to být nemusí (proč, to ti já nepovím, až tak pokročilý nejsem). Pokud to tam nemáš, tak to aspoň zkus, jestli někdo nebude mít lepší nápad. 

Edited by Meric
Link to comment
Share on other sites

  • 0

Myslel jsem si, že to tam být nemusí, když tam nejsou známky po GM. Už mě to jakože napadlo, ale nezkusil jsem. Každopádně díky, až budu doma, tak zkusím :)

Edited by ForestCZE
Link to comment
Share on other sites

  • 0
před 4 hodinami, Meric said:

Máš v globálu napsáno "#if defined FILTERSCRIPT" nebo "#define FILTERSCRIPT"? Je důležitý, aby pawno rozpoznalo, zda děláš gamemode nebo filterscript. Mělo by to být zapsáno. Viděl jsem i případy, kde to být nemusí (proč, to ti já nepovím, až tak pokročilý nejsem). Pokud to tam nemáš, tak to aspoň zkus, jestli někdo nebude mít lepší nápad. 

Citace

You don't need to define it, just take out OnGameModeInit and OnGameModeExit and replace them with OnFilterScriptInit and OnFilterScriptExit.

Aspoň si to najprv najdi.. Hned prvý topic na ktorý som klikol.. doslova je tam napísané "Nepotrebuješ to definovať, jednoducho vymaž OnGMInit a OnGMExit a nahraď ho OnFSInit a OnFSExit".. Takže tvoja rada mu je vieš na čo ;) Nieje to dôležité, netreba to a prípad kedy to byť nemusí, si vidieť mohol, NIKDY to nemusí byť zapísané.. Ja som v živote nedefinoval FS a vždy mi všetko šlo..

 

A k téme.. A myslím že vo FS pickupy mať môžeš, skús zapísať ten FS ako prvý, ujistiť sa že fakt to zapínaš ako fs, nie ako gm.. Lebo chybu tam nevidím

Edited by EvoLve.
Link to comment
Share on other sites

  • 0
před 3 hodinami, EvoLve. said:

A k téme.. A myslím že vo FS pickupy mať môžeš, skús zapísať ten FS ako prvý, ujistiť sa že fakt to zapínaš ako fs, nie ako gm.. Lebo chybu tam nevidím

Mám to normálně jako FS a v configu u filterscripts. Ani AddStaticVehicle to nepřidá...

Link to comment
Share on other sites

  • 0

Takže, pokud to mám takto:

 

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" Tachometr by ForestCZE & DenDoSlav");
	print("--------------------------------------\n");

	CreatePickup(1650,1,1942.7909,-1774.6079,13.3906,-1);

	for(new v = 1; v <= ALLV; v++)
	{
		fuel[v] = 18;
	}
	return 1;
}

tak to jde. Původně jsem měl nejdřív cyklus a pak až pickup. Jaký v tom je sakra rozdíl?

Edited by ForestCZE
wut
Link to comment
Share on other sites

  • 0

Nie. Ide o to, že keď vytvoríš array tak začína od 0 (nie od 1 ako používaš v cykle for). Takže končí "ALLV - 1"

Príklad: Vytvoríš 

new array[6];

tak sa vytvorí premenna

array[0] až array[5]

Tvoj cyklus začína od 1, takže premennej array[0] nenastaví nič. A končí hodnotou 6 (lebo tam je "menší alebo rovný" čiže "<=" ). Tým pádom nastavíš hodnotu aj premenne array[6] ktorá ale neexistuje

Link to comment
Share on other sites

  • 0
před 6 minutami, QWER said:

Nie. Ide o to, že keď vytvoríš array tak začína od 0 (nie od 1 ako používaš v cykle for). Takže končí "ALLV - 1"

Príklad: Vytvoríš 


new array[6];

tak sa vytvorí premenna

array[0] až array[5]

Tvoj cyklus začína od 1, takže premennej array[0] nenastaví nič. A končí hodnotou 6 (lebo tam je "menší alebo rovný" čiže "<=" ). Tým pádom nastavíš hodnotu aj premenne array[6] ktorá ale neexistuje

 

Ok, uznávám svou chybu :) Už to funguje i pod ckylem, když jsem upravil tu podmínku. Ale co když budu mít ALLV 1?

Tak to bude:

1 < 1 //a podmínka se nikdy nesplní

 

Link to comment
Share on other sites

  • 0

Nemám chuť upravovať príspevok (lebo ty si miesto nového príspevku upravil starý). Vytvorí sa nekonečný cyklus lebo zase začínaš od 1 a nie od 0

	for(new v = 0; v < ALLV; v++)
	{
		fuel[v] = 18;
	}

Ak budeš mať 

#define ALLV 1

tak to chyba nie je a môžeš to úplne v pohode používať. Len musíš myslieť na to, že premenné začínajú od 0 a nie od 1. Takže teraz by ten cyklus čo som ti hore napísal fungoval správne, nastavila by sa hodnota "18" iba premenne "fuel[0]"

Link to comment
Share on other sites

  • 0
před 7 minutami, QWER said:

Takže teraz by ten cyklus čo som ti hore napísal fungoval správne, nastavila by sa hodnota "18" iba premenne "fuel[0]"

No a to je právě to, čemu jsem se chtěl vyhnout, protože GetPlayerVehicleID(playerid) začiná od 1. Ono mi to totiž nastavovalo fuel na 18 autu s vehicleid 0 a takové na serveru není

 

PS. Sorry za ty úpravy, jsem se do toho zamotal

Edited by ForestCZE
Link to comment
Share on other sites

  • 0

Neviem s čím šaškuješ, tak zostane jedna premenná nevyužitá (fuel[0]). Nič také sa nestane. Prípadne pri autách môžeš začať cykliť od 1, ak vieš, že definícia je väčšia ako 1. Prípadne použi foreach

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...