Ahoj,
na začátek to vypadá v pohodě, výhrady tam ale budou. V OnDialogResponse vracíš špatně hodnoty.
Pokud vrátíš 1, zamezíš jiným scriptům reagovat na daný dialog. Máš to napsané přesně obráceně. Snad to pochopíš z kódu.
public OnDialogResponse(...)
{
if (dialogid == ...)
{
// V našem scriptu používáme toto id dialogu, zpracujeme
....
// Zpracovali jsme dialog, další script se o to nemusí postarat -> vrátíme 1
return 1;
}
// V našem scriptu nepoužíváme dané id dialogu, patří (asi) jinému scriptu
// Necháme dialog zpracovat jiný script -> vrátíme 0
return 0;
}
Taky si přiděláváš zbytečně moc práce.
if (zpb[playerid] == 1)
{
// hráč je zaměstnaný jako něco
} else {
// hráč není zaměstnany jako něco
// není potřeba další podmínky (zpb[playerid] < 1)
}
Schválně se zamysli, jak bys přidal další job, měl by třeba id 2. V tvém případě by se hráčovi, se zaměstnáním 2 nevypsala hláška, že není zaměstnaný jako pizzaboy.
Můžeš trochu rozvést, proč používáš IsPlayerInSphere? Napiš, jaké jsi měl problémy ať ti s tím můžem pomoct.
@Quiter tam má malou "chybku", chybí mu tam tag Float (nemusel by tam být, dá se to obejít ale proč..)
new Float:PizzaRandPos[][3] = {
Jinak by to mělo být v pohodě.