mám menší problém s pozicí při změně interiéru, nejsem v pawnu ještě tak pokročilý, ale zarazilo mě chování kodu při změně interiéru. Takže k věci, v příkazu na port do města mám řádek, aby se hráči nastavil interiér na 0, pro případ, že by v nějakém byl. V publicu On Interior Change se mi při přechodu do interiéru 0 nastaví pozice hráče před budovu do které vešel. Ale při portu tu pozici znovu měním na pozici místa portu, ale hráč se mi stejně přesune před budovu. Nejdřív mi tedy proběhne warp a až potom změna interiéru, přitom v kodu mám jako první změnu interiéru a když jsem si přidal pomocné výpisy, výsledek funkce mi to vrátí hned, ale výpis z publicu, takže i public proběhne až na konci příkazu. Přijde mi to trochu nelogické a v jiných jazycích se mi tohle nikdy nestalo, přikládám kod a obrázek s výpisem, snad je jasné o co mi jde.
Provizorní příkaz warpu:
if (strcmp("/lv", cmd, true) == 0){
new result = SetPlayerInterior(playerid, 0); /////////
////////////////výpis z obrázku, mám výsledek funkce, ale proběhne až na konci příkazu
format(infoText, sizeof(infoText), "result = %i", result);
SendClientMessage(playerid, CH_GREEN, infoText);
new Float: x = 2179.9055;
new Float: y = 1988.3667;
new Float: z = 10.5474;
if (IsPlayerInAnyVehicle(playerid)){
SetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
}else{
SetPlayerPos(playerid, x, y, z);
}
format(infoText, sizeof(infoText), "Hráč "CE_PORT_TEXT_H"%s "CE_PORT_TEXT"se právě portnul do města "CE_PORT_TEXT_H"Las Venturas", players[playerid][playerName]);
SendClientMessageToAll(CH_PORT_TEXT, infoText);
return 1;
}
červený výpis by měl podle kodu proběhnout nad řádkem result = 1(proběhne funkce - výpis uvnitř a až potom by měl být znám výsledek funkce...) a warp proběhnout až potom
(není důležitý obsah výpisu, ale pořadí vzhledem k zapsanému kodu)
Dotaz
Franta95 0
Zdravím,
mám menší problém s pozicí při změně interiéru, nejsem v pawnu ještě tak pokročilý, ale zarazilo mě chování kodu při změně interiéru. Takže k věci, v příkazu na port do města mám řádek, aby se hráči nastavil interiér na 0, pro případ, že by v nějakém byl. V publicu On Interior Change se mi při přechodu do interiéru 0 nastaví pozice hráče před budovu do které vešel. Ale při portu tu pozici znovu měním na pozici místa portu, ale hráč se mi stejně přesune před budovu. Nejdřív mi tedy proběhne warp a až potom změna interiéru, přitom v kodu mám jako první změnu interiéru a když jsem si přidal pomocné výpisy, výsledek funkce mi to vrátí hned, ale výpis z publicu, takže i public proběhne až na konci příkazu. Přijde mi to trochu nelogické a v jiných jazycích se mi tohle nikdy nestalo, přikládám kod a obrázek s výpisem, snad je jasné o co mi jde.
Provizorní příkaz warpu:
Co proběhne v Interior Change:
Obrázek s výpisem:
červený výpis by měl podle kodu proběhnout nad řádkem result = 1(proběhne funkce - výpis uvnitř a až potom by měl být znám výsledek funkce...) a warp proběhnout až potom
(není důležitý obsah výpisu, ale pořadí vzhledem k zapsanému kodu)
Link to comment
Share on other sites
11 odpovědí na tuto otázku
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now