Hey.
Ich habn Deagle Event gescriptet , nur es ist verbuggt!
Alleine klappt alles , nur zu 2+ nicht.
Wir haben es zu 2. getestet , nur kommt im Chat statt 20 , 10 , 3 , 2 ,1 nur 20 , 3 , 1 undn icht weiter , man wird auch nicht unfreezed , ausser der , der das Event gestartet hat.
forward DeagleEventTimer();
forward DeagleCheck();
new bool:deagleeventteilnehmer[MAX_PLAYERS] = false;
new bool:deagleeventaktiv = false;
public OnPlayerDisconnect(playerid, reason)
{
if(deagleeventteilnehmer[playerid])
{
deagleeventteilnehmer[playerid]=false;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(deagleeventteilnehmer[i])
{
new string[128];
format(string,sizeof(string),"%s ist raus!",PlayerName(playerid));
SendClientMessage(i,Grau,string);
}
}
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(deagleeventteilnehmer[playerid])
{
deagleeventteilnehmer[playerid]=false;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(deagleeventteilnehmer[i])
{
new string[128];
format(string,sizeof(string),"%s ist raus!",PlayerName(playerid));
SendClientMessage(i,Grau,string);
}
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==Dialog_DeagleEventFrage)
{
if(response==0)
{
}
if(response==1)
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
dini_FloatSet(Spieler,"X",x);
dini_FloatSet(Spieler,"Y",y);
dini_FloatSet(Spieler,"Z",z);
dteilnehmer++;
new rand = random(13);
SetPlayerPos(playerid,deagleeventpos[rand][deagle_x],deagleeventpos[rand][deagle_y],deagleeventpos[rand][deagle_z]);
SetPlayerFacingAngle(playerid,deagleeventpos[rand][deagle_za]);
TogglePlayerControllable(playerid,0);
GivePlayerWeapon(playerid,24,999);
SetPlayerArmour(playerid,100);
SetPlayerHealth(playerid,100);
deagleeventteilnehmer[playerid]=true;
}
}
if(deagleeventaktiv)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(deagleeventteilnehmer[i])
{
SendClientMessage(playerid,Hellblau,"Das Event wurde gestartet!");
DeagleTime = 2;
DeagleTimer = SetTimer("DeagleEventTimer",1000,1);
}
}
}
else
{
SendClientMessage(playerid,Rot,"Es ist kein Event vorbereitet!");
}
public DeagleCheck()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(dteilnehmer==1)
{
if(deagleeventteilnehmer[i])
{
new string[256];
format(string,sizeof(string),"%s hat das Deagle Event gewonnen!",PlayerName(i));
SendClientMessageToAll(Hellblau,string);
GivePlayerMoney(i,25000);
SendClientMessage(i,Hellblau,"Herzlichen Glückwunsch! Du hast das Event gewonnen. Du erhälst nun 25.000€ Gewinn.");
deagleeventteilnehmer[i]=false;
SetPlayerArmour(i,0);
SetPlayerHealth(i,100);
ResetPlayerWeapons(i);
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(i));
SetPlayerPos(i,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
SetCameraBehindPlayer(i);
KillTimer(DeagleCheckTimer);
}
}
}
}
public DeagleEventTimer()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(deagleeventteilnehmer[i])
{
if(DeagleTime >= 1)
{
if(DeagleTime == 2)
{
SendClientMessage(i,Hellblau,"Das Event startet in 20 Sekunden.");
}
else if(DeagleTime == 7)
{
SendClientMessage(i,Hellblau,"Das Event startet in 15 Sekunden.");
}
else if(DeagleTime == 12)
{
SendClientMessage(i,Hellblau,"Das Event startet in 10 Sekunden.");
}
else if(DeagleTime == 19)
{
SendClientMessage(i,Hellblau,"Das Event startet in 3 Sekunden.");
}
else if(DeagleTime == 20)
{
SendClientMessage(i,Hellblau,"Das Event startet in 2 Sekunden.");
}
else if(DeagleTime == 21)
{
SendClientMessage(i,Hellblau,"Das Event startet in 1 Sekunde.");
}
else if(DeagleTime == 22)
{
SendClientMessage(i,Hellblau,"Viel Glück!");
TogglePlayerControllable(i,1);
DeagleCheckTimer=SetTimer("DeagleCheck",1000,1);
KillTimer(DeagleTimer);
}
}
DeagleTime++;
}
}
}