Moin,
wollte mal aus spaß ein bisl an dayz rumscripten un habe shcon am anfang direkt ein Problem bei dem ich nicht weiss woher es kommt.
Ich versuche die OnKeyPress funktion zu überschreiben dass beim drücken von K Code X ausgeführt wird. Weiss aber nicht warum die Funktion bei mir nicht ausgeführt wird.
Als ertste habe ich gedacht es liegt vll am Playerbase objekt dass nicht richtig übergeben wird und habe SetDate hinzugefügt. Dann habe ich "key != KC_K" veruscht, da es ja dann eigentlcih bei jeder taste ausser k ausgeführt werden müsste. Und dann habe ich es noch komplett aus dem IF rausgenommen, aber nie wird irgendetwas ausgeführt.
Warum oder wie kann das sein? Bin über jede Hilfe dankbar
Ich schätze ich habe irgendetwas grundlegendes übersehn...
OnKeyPress()
override void OnKeyPress(int key)
{
super.OnKeyPress(key);
PlayerBase player = GetGame().GetPlayer();
if( key == KeyCode.KC_K)
{
//ALL THESE DONT WORK
GetGame().ChatPlayer("KEY TEST");
giveM4(player);
GetGame().GetWorld().SetDate(2000,1,1,12,0);
}
}
Alles anzeigen
Komplette Klasse
class CustomMission: MissionServer
{
override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
{
Entity playerEnt;
playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player
Class.CastTo(m_player, playerEnt);
GetGame().SelectPlayer(identity, m_player);
return m_player;
}
override void TickScheduler(float timeslice)
{
int year, month, day, hour, minute;
GetGame().GetWorld().GetDate(year, month, day, hour, minute);
static int i = 0;
if(i%100000 == 0){
GetGame().ChatPlayer("TICK" + hour.ToString());
}
i++;
}
override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
{
EntityAI knife;
knife = player.GetInventory().CreateInInventory("HuntingKnife");
giveM4(player);
}
override void OnKeyPress(int key)
{
super.OnKeyPress(key);
PlayerBase player = GetGame().GetPlayer();
if( key == KeyCode.KC_K)
{
//ALL THESE DONT WORK
GetGame().ChatPlayer("KEY TEST");
giveM4(player);
GetGame().GetWorld().SetDate(2000,1,1,12,0);
}
}
};
void giveM4(PlayerBase player){
EntityAI weapon;
weapon = player.GetHumanInventory().CreateInHands("M249");
}
Alles anzeigen
PS: weiss leider nciht wie man hier zeilen einrückt, also sorry für den unübersichtlichen quellcode