Hey Leute,
ich habe die Idee gehabt, dass sobald ein Spieler in der Nähe eines NPC's ist, dieser dann
eine festgelegte Nachricht via. Chatbubble ausgibt.
Diese Nachricht soll eine Variable (den Namen des vorbeilaufenden Spielers) beinhalten.
Da die NPC'S alle unterschiedliche Nachrichten ausgeben sollen, habe ich schon ein paar "Vorbereitungen" getroffen,
habe ich jetzt allerdings ein paar Schwierigkeiten bei der Umsetzung.
Mein Script bisher:
Grundlegende Dinge (Definitionen...)
#define MAX_NPC
new NPCID[MAX_NPC];
new PName[MAX_PLAYERS][MAX_PLAYER_NAME];
new NPCShowPlayer[MAX_PLAYERS][MAX_NPC]; // Diese Variable sagt aus, welcher Spieler welchem NPC am nähsten ist.
// Abfrage (freie NPC ID *siehe späteren Code*)
stock GetFreeNPCID()
{
for(new i=0; i<MAX_NPC; i++)
{
if(NPCID[i] != 0) continue;
return i;
}
return -1;
}
Alles anzeigen
Sobald die NPC's connecten:
new npc = GetFreeNPCID();
if(!strcmp(PName[playerid],"NPC1",true))
{
NPCID[npc] = playerid;
s_SetPlayerSkin(playerid,11);
}
Jeder NPC bekommt eine ID (seine playerid) zugewiesen, so dass es keine Verwechselungen der NPC's und deren Nachrichten gibt!
Sobald ein Spieler connected:
Die Variable wird auf 0 gesetzt, da sich der Spieler ja bei keinem NPC befindet!
Meine Frage:
Wie genau soll ich das ganze jetzt angehen?
Soll ich mit Timern abfragen ob sich ein Spieler bei irgendeinem NPC befindet?
Wenn ja wie kann ich am besten jede Koordinate jedes NPC's einzelnt abspeichern?
Wie gebe ich diese Coordinaten aus?
Habt ihr ein paar Ideen oder am besten Vorschläge?