Zdravím. udělal jsem si vlastní povolání kurýra. Spočívá to v tom že se hráč zaměstná a vytvoří se mu balíček. Když hráč balíček vezme, vytvoří se checkpoint na který má hráč přijít. Potom hráč dostane peníze a vytvoří se další balíček který má doručit. Ten druhý balíček ale potom už nereaguje na to že ho hráč vzal. Sice se zničí, ale hráčovi se nepošle zpráva o tom, že balíček vzal, a nevytvoří se checkpoint.
Pod #include <a_samp>:
new cp[MAX_PLAYERS]; // Proměny kontrolující id checkpointu
new kuryr, // Název pickupu pro zaměstnání kurýr kzamestnat[MAX_PLAYERS], // Jestli se můžeme zaměstnat jako kurýr (když je 0 můžeme, když 1 nemůžeme) kbalicek[MAX_PLAYERS]; // Název pickupu balíčku
forward knezamestnat(playerid); // Název timeru (pokud hráč odmítne stát se kurýrem, nemůže pak práci sekundu vzít. Slouží proto aby se hráč v pickupu nebugnul, a neustálu mu vyjížděli nabídky pro zaměstnání)
Dotaz
Hutt2 1
Zdravím. udělal jsem si vlastní povolání kurýra. Spočívá to v tom že se hráč zaměstná a vytvoří se mu balíček. Když hráč balíček vezme, vytvoří se checkpoint na který má hráč přijít. Potom hráč dostane peníze a vytvoří se další balíček který má doručit. Ten druhý balíček ale potom už nereaguje na to že ho hráč vzal. Sice se zničí, ale hráčovi se nepošle zpráva o tom, že balíček vzal, a nevytvoří se checkpoint.
Pod #include <a_samp>:
new cp[MAX_PLAYERS]; // Proměny kontrolující id checkpointu
new kuryr, // Název pickupu pro zaměstnání kurýr
kzamestnat[MAX_PLAYERS], // Jestli se můžeme zaměstnat jako kurýr (když je 0 můžeme, když 1 nemůžeme)
kbalicek[MAX_PLAYERS]; // Název pickupu balíčku
forward knezamestnat(playerid); // Název timeru (pokud hráč odmítne stát se kurýrem, nemůže pak práci sekundu vzít. Slouží proto aby se hráč v pickupu nebugnul, a neustálu mu vyjížděli nabídky pro zaměstnání)
OnPlayerSpawn:
public OnPlayerSpawn(playerid)
{
kuryr = CreatePickup(1210, 1, 1934.4349, 1322.4785, 9.2578, -1);
kzamestnat[playerid] = 0;
return 1;
}
OnPlayerEnterCheckpoint:
public OnPlayerEnterCheckpoint(playerid)
{
if (cp[playerid] == 101)
{
SendClientMessage(playerid, 0x990000, "Doručil jsi balíček! Odměna: 500$!");
SendClientMessage(playerid, 0x990000, "Bež vyzvednout další balíček!");
GivePlayerMoney(playerid, 500);
DisablePlayerCheckpoint(playerid);
switch(random(2))
{
case 0:
{
kbalicek[playerid] = CreatePickup(1279, 8, 1931.2444, 1286.2791, 10.8203, -1);
}
case 1:
{
kbalicek[playerid] = CreatePickup(1279, 8, 1920.1619, 1288.0454, 10.8203, -1);
}
}
}
return 1;
}
OnPlayerPickUpPickup:
public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == kuryr)
{
if (kzamestnat[playerid] == 0)
{
ShowPlayerDialog(playerid, 101, DIALOG_STYLE_MSGBOX, "Kurýr", "Chceš se zaměstnat jako kurýr?", "Ano", "Ne");
}
}
else
if (pickupid == kbalicek[playerid])
{
SendClientMessage(playerid, 0x990000, "Sebral jsi balíček! Běž ho doručit!");
cp[playerid] = 101;
switch(random(2))
{
case 0: SetPlayerCheckpoint(playerid, 1966.4708, 1288.3685, 10.8203, 3.0);
case 1: SetPlayerCheckpoint(playerid, 1978.3108, 1288.9065, 10.8203, 3.0);
}
}
return 1;
}
OnDialogResponse:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 101)
{
if (response)
{
kzamestnat[playerid] = 1;
SendClientMessage(playerid, 0x990000, "Zaměstnal ses jako kurýr! Bež vyzvednout balíček!");
switch(random(2))
{
case 0:
{
kbalicek[playerid] = CreatePickup(1279, 8, 1931.2444, 1286.2791, 10.8203, -1);
}
case 1:
{
kbalicek[playerid] = CreatePickup(1279, 8, 1920.1619, 1288.0454, 10.8203, -1);
}
}
}
else
{
kzamestnat[playerid] = 1;
SetTimerEx("knezamestnat", 1000, false, "id", playerid);
}
}
return 1;
}
Timer:
public knezamestnat(playerid)
{
kzamestnat[playerid] = 0;
}
Link to comment
Share on other sites
3 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