- y_inline & y_dialog -
Å ta je y_dialog?
y_dialog je još jedna fensi integracija od strane YSI paketa.
Odmah da Vam kažem ukoliko niste ozbiljni i ne želite ceo GM prebaciti u y_dialog nemojte ni Äitati dalje ovaj tutorial.
y_dialog ne koristi IDove za dialoge već ih sam generiÅ¡e i temporary su pa mislim da može doći do sudaranja sa klasiÄnim dialozima.
Å ta je y_inline?
Ne znam baš definiciju za y_inline ali ja bih to ovako opisao:
Na primer u ovom sluÄaju imamo DIALOG, dialogov response mora ići unutar OnDialogResponse;
Ali uz pomoć inline funkcije, response dialog možete staviti odmah u callback u kom je ShowPlayerDialog pozvan (i.e OnPlayerConnect)
- example UwU -
#include
#include
public OnPlayerConnect(playerid)
{
inline Answer(id, dialogid, response, listitem, string:inputtext[])
{
#pragma unused id, dialogid, listitem, inputtext
/* zašto id uopšte postoji?
Zamislite da imate komandu /fixveh i sada želite da unutar komande playerid ponudi id-u popravku, vi odmah unutar te komande možete uraditi inline funkciju za id-a i ako je playerid izvršio komandu.
*/
if(!response)
{
new playerName;
GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
printf(" %s je odbio dialog, banujem govedo.", playerName);
Ban(playerid);
return 1;
}
if(response) // Nepotrebno al ostala navika jebajga
{
SendClientMessage(playerid, -1, "Hvala Vam što ste stisnuli \"Da\"!");
}
}
Dialog_ShowCallback(playerid, using inline Answer, DIALOG_STYLE_MSGBOX, "Da li želite da se ulogujete?", "Pritisnite \"Da\" ako želite a \"Ne\" ako ne želite.", "Da", "Ne");
return 1;
}Nema potrebe niÅ¡ta objaÅ¡njivati, sve vam je jasno kada proÄitate kod par puta (iskreno dovoljno je jednom), ali ako neÅ¡to nije jasno - pitajte 😄

