29.01.2013, 10:10
i have a little problem...
But for some reason this wont work... i mean my filterscript dont call the OnPlayerDeath and OnDialogResponse. I really dont know why... i just downloaded a new compiler, because i was thinking that that was bugged, but it wasnt that... So what can i do?
Код:
#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
#define mmx 2179.9241
#define mmy 1449.5735
#define mmz 10.8203
#define mma 212.6368
#define BLUE 0x0000BBAA
#define GREEN 0x33FF33AA
new count = 0;
new mgmg = 0, plcount = 0, inmin[MAX_PLAYERS];
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1865)
{
if(response)
{
if(listitem == 0)
{
if(mgmg == 0)
{
SendClientMessageToAll(0xFFFFFF, "I am working fully");
SetPlayerPos(playerid, mmx, mmy, mmz);
SetPlayerFacingAngle(playerid, mma);
if(plcount == 0)
{
SendClientMessageToAll(BLUE, "Minigun minigame start in 30 sec");
SetTimer("MINIGUN", 1000 * 30, 0);
SendClientMessage(playerid, GREEN, "You have joined minigun");
}
if(plcount > 0)
{
SendClientMessage(playerid, GREEN, "You have joined minigun");
}
plcount = plcount + 1;
inmin[playerid] = 1;
}
if(mgmg == 1) return SendClientMessage(playerid, GREEN, "You cant join minigame, becourse the game is already started");
}
}
return 1;
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SendClientMessageToAll(0xFFFFFF, "OnPlayerDeath works...");
if(inmin[killerid] == 1)
{
if(inmin[playerid] == 1)
{
SendClientMessage(playerid, GREEN, "You are dead now and cant return to the minigame before new game");
inmin[playerid] = 0;
for(new i = 0; i <MAX_PLAYERS; i++)
{
if(inmin[i] == 1)
{
count = count - 1;
if(count == 1)
{
new Myname[128], str[256];
GetPlayerName(i, Myname, sizeof(Myname));
format(str, sizeof(str), "%s have won the minigun minigame", Myname);
SendClientMessageToAll(BLUE, str);
GivePlayerMoney(i, 100000);
mgmg = 0;
}
}
}
}
}
return 1;
}
forward MINIGUN();
public MINIGUN()
{
mgmg = 1;
SendClientMessageToAll(BLUE, "MINIGUN minigame have been started");
for(new i = 0; i <MAX_PLAYERS; i++)
{
if(inmin[i] == 1)
{
new pname[128], string[256];
GetPlayerName(i, pname, sizeof(pname));
format(string, sizeof(string), "%s had joined the the minigame");
SendClientMessageToAll(GREEN, string);
count = count + 1;
}
return 1;
}
return 1;
}
CMD:minigame(playerid)
{
ShowPlayerDialog(playerid, 1865, DIALOG_STYLE_LIST, "MINIGAMES", "minigun\n", "next", "close");
return 1;
}
CMD:minigun(playerid)
{
if(mgmg == 0)
{
SendClientMessageToAll(0xFFFFFF, "I am working fully");
SetPlayerPos(playerid, mmx, mmy, mmz);
SetPlayerFacingAngle(playerid, mma);
if(plcount == 0)
{
SendClientMessageToAll(BLUE, "Minigun minigame start in 30 sec");
SetTimer("MINIGUN", 1000 * 30, 0);
SendClientMessage(playerid, GREEN, "You have joined minigun");
}
if(plcount > 0)
{
SendClientMessage(playerid, GREEN, "You have joined minigun");
}
plcount = plcount + 1;
inmin[playerid] = 1;
}
if(mgmg == 1) return SendClientMessage(playerid, GREEN, "You cant join minigame, becourse the game is already started");
return 1;
}



but ty for helping