Szerző Téma: NPc és spawn  (Megtekintve 1411 alkalommal)

Nem elérhető Tomee

  • 385
    • Profil megtekintése
NPc és spawn
« Dátum: 2011. november 20. - 14:14:04 »
0 Show voters
1.) Az NPC-nek jobb ha külön filterscriptbe van? Vagy elég a gamemodba is? Vagy egyik sem befolyásol semmit?
2.) Mi okozhatja, hogy több játékosnál már az onplayerspawn nem akar mûködni?
3.) Valamivel lehet befolyásolni azt, hogy az NPC milyen sorrendbe loggoljanak be? Mert az IDjükre nagy szükségem van és nem jó ha keverednek.
« Utoljára szerkesztve: 2011. november 20. - 14:20:00 írta Tomee »

NPc és spawn
« Válasz #1 Dátum: 2011. november 20. - 14:39:14 »
0 Show voters
1.) Nem lényeges szerintem.
2.) Szerintem egy ciklus hibásan vagy megírva, vagy egy timer, nemtom mivan az onplayerspawn alatt.
3.) Nemtudom hogy mûködik e, de egy próbát megér:
strcmp-vel lekéred a játékos nevét és ha a neve megegyezik egy bizonyos bot nevével akkor ezmegaz gondolom így van...
Na... A nevek alá írod a sorrendet:
playerid = 0;
playerid = 1;
stb..
Pl van 3 bot, nevük pl...
bot1 , bot2 , bot3
Azt akarod, hogy bot2 id-je 0, bot3 id-je 1, bot1 id-je pedig 2 legyen mindenképp...
Ezt elvileg úgy oldhatod meg, hogy:
[pawn]#include <a_samp>
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
    {
        new npcname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, npcname, sizeof(npcname));
        if(!strcmp(npcname, \"bot1\", true)) //ha bot1 a neve
        {
      if(IsPlayerConnected(2))/ha id 2 csatlakozva van
      {
          for(new i = 0; i < MAX_PLAYERS; i++)
          {
              if(!IsPlayerConnected(i))playerid = random(i); //véletlenszerû id-t adni a játékosnak, olyat ami nincs csatlakozva
          }
      }
      playerid = 2; //a bot id-je mostmár 2
   }
   if(!strcmp(npcname, \"bot2\", true)) //ha bot2 a neve
        {
      if(IsPlayerConnected(0))//ha id 0 csatlakozva van
      {
          for(new i = 0; i < MAX_PLAYERS; i++)
          {
              if(!IsPlayerConnected(i))playerid = random(i);//véletlenszerû id-t adni a játékosnak, olyat ami nincs csatlakozva
          }
      }
      playerid = 0; //a bot id-je mostmár 0
   }
   if(!strcmp(npcname, \"bot3\", true)) //ha bot3 a neve
        {
      if(IsPlayerConnected(1)) //ha id 1 csatlakozva van
      {
          for(new i = 0; i < MAX_PLAYERS; i++)
          {
              if(!IsPlayerConnected(i))playerid = random(i); //véletlenszerû id-t adni a játékosnak, olyat ami nincs csatlakozva
          }
      }
      playerid = 1; //a bot id-je mostmár 1
   }
    }
return 1;
}[/pawn]
Lehet hogy ez egy kurvanagy hülyeség amit írtam, de az is lehet hogy mûködik. Próbáld ki.

Nem elérhető Dead

  • 2045
    • Profil megtekintése
NPc és spawn
« Válasz #2 Dátum: 2011. november 20. - 14:46:20 »
0 Show voters
Megtudnád Csínálni Ennek az NPCMODES mappában lévõ részét pls mert nekem nem akar menni :S

Nem elérhető Tomee

  • 385
    • Profil megtekintése
NPc és spawn
« Válasz #3 Dátum: 2011. november 20. - 14:57:24 »
0 Show voters
Staubka, sajnos nem mûködik

NPc és spawn
« Válasz #4 Dátum: 2011. november 20. - 15:03:23 »
0 Show voters
Amilyen sorrendben van a ConnectNPC olyan sorrendben csatlakozik... azttom ajánlani hogy lekéred az idjét:
pl...
[pawn]if(playerid != 2)Kick(2);
playerid = 2;[/pawn]
Így talán..

Nem elérhető Tomee

  • 385
    • Profil megtekintése
NPc és spawn
« Válasz #5 Dátum: 2011. november 20. - 15:34:15 »
0 Show voters
Egy változóval oldottam meg, hogy new NPCID;
És amikor belép a bizonyos nevû NPc akkor NPCID=playerid;
És akkor az NPCID-t feltudom használni.

NPc és spawn
« Válasz #6 Dátum: 2011. november 20. - 17:54:27 »
0 Show voters
Nemtom sry :S

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal