Jump to content

pomoc Jednorázová odměna


_viTo_

Recommended Posts

Ahoj, Bohužel budu otravovat 😄 ale potřebuju poradit, Mám NPC ve hře, ke kterému když přijdeš, tak stiskneš klávesu N a otevře se ti dialog. Chtěl bych udělat jednorázovou odměnu. Pokud poprvé přijdeš stiskneš N tak ti to dá nějakou odměnu apod... a pokud stiskneš znovu zobrazí se ti dialog ale odměnu už nedostaneš jedná se konkrétně o peníze
moje první co mě napadlo je,

ip(Player =1 return SendClientMessage.......);
Myslím si že to fungovat nebude

Link to comment
Share on other sites

Ak máš nejaký systém registrácie, tak najjednoduchšie je vytvoriť globalnu premennu

new bool:receivedReward[MAX_PLAYERS];

nasledne pri pripojeni

receivedReward[playerid] = false;

a v prihlaseni (nezabudni pri odpojeni ukladat!!)

receivedReward[playerid] = tvoja_funkcia_na_nacitanie_udajov_o_ulozenom_hracovi_boolean(playerid, "receivedReward");

a potom ked stlaci N pri tej npc

// ak chces aby dostal odmenu a druhy krat zobrazilo dialog
if (receivedReward[playerid]) {
	// zobraz dialog pretoze uz dostal odmenu
} else {
	receivedReward[playerid] = true;
	// daj mu odmenu
}

// ak chces aby dostal odmenu a sucastne sa otvoril dialog
if (!receivedReward[playerid]) {
	receivedReward[playerid] = true;
	// daj odmenu
}
// zobraz dialog

 

Pokial nemas ziaden registracny system, tak by som to riesil tiez pomocou mena hraca (GetPlayerName) a suboru.

Vytvoris si premennu rovnako ako hore, nasledne pri pripojeni otvoris subor, precitas vsetkych hracov a zistis ci sa hrac nachadza v subore. Ak ano, nastavis premennu na true. Pri pripisani odmeny nezabudni zapisat meno do suboru.

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • Hip locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...