Jump to content

Hutt2

Uživatel
  • Příspěvků

    29
  • Registrován

  • Aktivní

Everything posted by Hutt2

  1. Hutt2

    pomoc Timer

    Díky za pomoc. Chápu to. Spustí se teda ten timer všem připojeným hráčům když použiju ten první příklad (s for)?
  2. Hutt2

    pomoc Timer

    Zdravím. Můžu nějak spustit timer pro všechny hráče na serveru?
  3. Hutt2

    pomoc Povolání

    To 101 jé ID chcekpointu. Kontroluje to jestli hráč vstoupil na ten chceckpoint, na který měl doručit balíček. Ten timer je tu proto: Když sebereš pickup povolání kurýr, zobrazí si ti dialog. V dialogu je otázka jestli se chceš stát kurýrem. Pokud dáš ano zaměstnáš se, ale pokud dáš ne nezaměstnáš se. A ten timer je tu proto, pokud dáš to ne. Když dáš totiž ne, dialog zmizí, ale hned se zase objeví jestli se chceš zaměstnat. Takhle ti to nabídne jestli se chceš zaměstnat až za 1 sekundu aby měl hráč čas s pickupu odejít. Díky za pomoc, ale už jsem to vyřešil a funguje to perfektně. Chybělo tam DestroyPickup.
  4. Hutt2

    pomoc Povolání

    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; }
×
×
  • Create New...