Jump to content
  • 0

pomoc Vánoční dárečky POMOC


DarkDragon_CZE69

Dotaz

Zdravím všechny členy pawna. Chtěl bych poprosit o pomoc s mým scriptem.

 

Script má být takovej že RCON Admin dá hráčovi dáreček pomocí /setdarek ID_Hráče a poté ten hráč dá /darecek pro otevření dárečku a ukáže mu to tam random zprávu např. "Hráč Jméno_Hráče dostal nového Infernuse z vánočního dárečku", ale problém je v tom, že já chci aby hráč dal /darecek a když to dá po druhé tak už to ukáže jako by ten dáreček neměl. Jenže to furt bere jako že ten dáreček má pořád, takže vás chci poprosit jestli by někdo nevěděl jak to udělat budu vděčný. :)

Zde je kód:

/*Tento Script udělal Stringer_CZE*/

#include <a_samp>
#include <zcmd>
#include <Dini>
#define COLOR_LIME 0x80FF00FF
#define COLOR_TMAVEMODRA 0x0000FFFF
#define COLOR_SVETLEMODRA 0x00FFFFFF
#define COLOR_SPECCERVENA 0xFF151CFF
new DAREK[MAX_PLAYERS];
new DAREKSAVE[50];
new DAREKREMOVE[50];
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
	print("\n---------------------------------------");
	print(" Dareckovy System By Stringer_CZE nacten!");
	print("---------------------------------------\n");
	
	SendClientMessageToAll(playerid,COLOR_TMAVEMODRA,"Dárečkový script By {00FFFF}Stringer_CZE {008000}načten{0000FF}!");
	return 1;
}

public OnFilterScriptExit()
{
	SendClientMessageToAll(playerid,COLOR_TMAVEMODRA,"Dárečkový script By {00FFFF}Stringer_CZE {FF0000}vypnut{0000FF}!");
	return 1;
}

#else

main()
{
	print("\n---------------------------------------");
	print(" Dareckovy System By Stringer_CZE vypnut!");
	print("---------------------------------------\n");
}

#endif

public OnGameModeInit()
{
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	return 1;
}

public OnPlayerConnect(playerid)
{
    format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(playerid));
	DAREK[playerid] = dini_Bool(DAREKSAVE, "DAREK");
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

CMD:setdarecek(playerid,params[])
{
    new id = strval(params);
	if (!strlen(params)) return SendClientMessage(playerid,COLOR_SPECCERVENA, "Použití: /setdarecek [ID]");
	else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_SPECCERVENA, "Hráč s tímto ID není na serveru!");
	else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_SPECCERVENA, "Jenom RCON může nastavit vánoční dáreček!");
	else if(DAREK[id] == 1) return SendClientMessage(playerid,COLOR_SPECCERVENA, "Tento hráč už má vánoční dareček!");
	else
	{
		DAREK[id] = 1;
		new setdarecek[50];
		format(setdarecek, sizeof(setdarecek), "Administrátor %s dal hráči %s vánoční dáreček!", Meno(playerid), Meno(id));
 		SendClientMessageToAll(COLOR_SPECCERVENA, DAREK);
		format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(id));
		if(!dini_Exists(DAREKSAVE))
		{
			dini_Create(DAREKSAVE);
			dini_BoolSet(DAREKSAVE, "DAREK", DAREK[playerid]);
		}
	}
    return 1;
}

CMD:darecek(playerid,params[])
{
    if(DAREK[playerid] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Nevlastníš žádný dáreček!");
	new string[200];
	new name[24];
	GetPlayerName(playerid, name, sizeof(name)); 
	format(string,sizeof(string),"Hráč %s dostal Infernus z vánočního dárečku.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
	return 1;
}

CMD:odeberdarecek(playerid,params[])
{
    new id = strval(params);
	if (!strlen(params)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Použití: /odeberdarecek [ID]");
	else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Hráč s tímto ID není na serveru!");
	else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Jenom RCON může odebrat vánoční dáreček!");
	else if(DAREK[id] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Tento hráč nemá vánoční dáreček!");
	else
	{
	DAREK[id] = 0;
	format(DAREKREMOVE, sizeof(DAREKREMOVE), "Administrátor %s odebral hráči %s vánoční dáreček!", Meno(playerid), Meno(id));
	SendClientMessageToAll(COLOR_SPECCERVENA, DAREKREMOVE);
	format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(id));
	if(dini_Exists(DAREKREMOVE))
	{
		dini_Remove(DAREKREMOVE);
	}
	}
	return 1;
}

Děkuji předem všem co poradí.

Link to comment
Share on other sites

11 odpovědí na tuto otázku

Recommended Posts

  • 0

po otevření dárečku musíš nastavit proměnu aby dárek už neměl pokud myslíš toto.

CMD:darecek(playerid,params[])
{
        if(DAREK[playerid] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Nevlastníš žádný dáreček!");
	new string[200];
	new name[24];
	GetPlayerName(playerid, name, sizeof(name)); 
	format(string,sizeof(string),"Hráč %s dostal Infernus z vánočního dárečku.", name);
        SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
	return 1;
}
Edited by Steam wallet
Link to comment
Share on other sites

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