GTA Közösség - A magyar GTA fórum
San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Tomee - 2011. november 20. - 14:14:04
-
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.
-
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.
-
Megtudnád Csínálni Ennek az NPCMODES mappában lévõ részét pls mert nekem nem akar menni :S
-
Staubka, sajnos nem mûködik
-
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..
-
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.
-
Nemtom sry :S