Guten Tag
In Los Santos ist diese Große Arena, die bestimmt alle kennen. ich möchte nun diese Arena für verschiedenes nutzen, wie beispiel weise dm arenen.
also habe ich ein pickup erstellt vor der arena. wenn man im pickup steht und /enter macht öffnet sich ein dialog wo man die verscheidenen arena aussuchen kann.
ich habe bisher eine dm arena (deagle) gemacht. wenn man diese im dialog auswählt, kommt man in ein interior und jeder bekommt eine nachricht das er in die die deagle arena gegangen ist. dort im interior bekommt man dann die entsprechende waffe/muni und es ist ein pickup vorhanden, womit man die arena wieder verlassen kann. das klappt auch alles perfekt. ich würde es gerne nun so machen, das wenn man in diesem interior stirbt, auch wieder dort spawnt. am besten randpom spawns... man stirbt in dieser arena und kommt irgentwo in dieser arena wieder, das ganze spielt sich n einem interior ab...
hier das ganze nochmal als script:
new arena;//pickup vor arena
new deagleraus;//pickup in der deagle arena wieder nach draußen
#define DIALOG_ARENA1 11
#define DIALOG_DM 12
OnGameModeInit()
{
arena = CreatePickup(1239,1,2695.4177,-1704.5634,11.8438,-1);//arena
deagleraus = CreatePickup(1239,1,965.3785,2107.8579,1011.0303,-1);//dm arena raus
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/enter", true)==0)
{
if(IsPlayerInRangeOfPoint(playerid,2.0,2695.4177,-1704.5634,11.8438))//nahe des pickups vor der arena
{
ShowPlayerDialog(playerid,DIALOG_ARENA1,DIALOG_STYLE_LIST,"Los Santos Arena","Deathmatch","Weiter","Abbrechen");
}
}
if(strcmp(cmdtext, "/exit", true)==0)
{
if(IsPlayerInRangeOfPoint(playerid,2.0,965.3785,2107.8579,1011.0303)) //pickup in der deagle map
{
SetPlayerPos(playerid,2695.4177,-1704.5634,11.8438);
SetPlayerInterior(playerid,0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,24,99999);
GivePlayerWeapon(playerid,25,99999);
GivePlayerWeapon(playerid,29,99999);
}
}
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == deagleraus)
{
GameTextForPlayer(playerid,"~w~/exit",2500,6);
}
if(pickupid == arena)
{
GameTextForPlayer(playerid,"~w~/enter",2000,6);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 11)
{
if(response)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid,12,DIALOG_STYLE_LIST,"Deathmatch","Deagle\nMp5","Okay","Zurück");
}
}
}
if(dialogid == 12)
{
new name[MAX_PLAYER_NAME];
if(response)
{
if(listitem == 0)
{
new string2[50];
GetPlayerName(playerid,name,sizeof(name));
format(string2,sizeof(string2),">> %s ist in die Deagle-Arena gegangen!",name);
SendClientMessageToAll(GREEN,string2);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,24,500);
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,963.418762,2108.292480,1011.030273);
return 1;
}
}
else
{
ShowPlayerDialog(playerid,DIALOG_ARENA1,DIALOG_STYLE_LIST,"Los Santos Arena","Deathmatch","Weiter","Abbrechen");
return 1;
}
}
return 1;
}
also wenn man in der deagle arena ist, und dort stirbt, soll man dort wieder spawnen...