GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Bankai_Rodriguez le 21 Décembre 2009, 12:42:52

Titre: [ Aide ] NPC :s
Posté par: Bankai_Rodriguez le 21 Décembre 2009, 12:42:52
Mon bot ce connecte mais sur le serveur il apparait pas........

(http://img7.hostingpics.net/pics/760446dfdf.jpg)

Pourquoi ? 
Titre: Re : [ Aide ] NPC :s
Posté par: » Lukubi™ le 21 Décembre 2009, 12:44:36
A mon avis y'a un truck qui foire dans ton OnPlayerSpawn
Titre: Re : [ Aide ] NPC :s
Posté par: Bankai_Rodriguez le 21 Décembre 2009, 12:46:28
OnPlayerSpawn ?

Je t'envoie bout de code :

Citer
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
    return 1;
    }
   
    InitLockDoors(playerid);
   STDPlayer[playerid] = 0;
   gTeam[playerid] = PlayerInfo[playerid][pTeam]; //Set the Team
   if (gTeam[playerid] == 4) //medic / criminal reset team
   {
      gTeam[playerid] = 3;
   }
   if(gPlayerLogged[playerid] == 0)
   {
       SendClientMessage(playerid, COLOR_LIGHTRED, "** Vous devez avoir un compte enregistré et être connecté pour apparaître sur le serveur (Kické) **");
        KickPlayer[playerid] = 1;
    }
   if(gTeam[playerid] == 11 && PlayerInfo[playerid][pLeader] < 1)
   {
       MedicBill[playerid] = 0;
       new rand = random(sizeof(CIV));
      SendClientMessage(playerid, COLOR_LIGHTRED, "You are not an Approved Leader, you are now a Civilian !");
      PlayerInfo[playerid][pTeam] = 3;
      gTeam[playerid] = 3;
      SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
      PlayerInfo[playerid][pModel] = CIV[rand];
      SpawnPlayer(playerid);
   }
   if(gTeam[playerid] == 5)
   {
       if(PlayerInfo[playerid][pMember] < 1)
       {
           MedicBill[playerid] = 0;
           new rand = random(sizeof(CIV));
         SendClientMessage(playerid, COLOR_LIGHTRED, "You are not a Family Member, you are now a Civilian !");
         PlayerInfo[playerid][pTeam] = 3;
         gTeam[playerid] = 3;
            SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
         PlayerInfo[playerid][pModel] = CIV[rand];
         SpawnPlayer(playerid);
      }
   }
   if(gTeam[playerid] == 10)
   {
       if(PlayerInfo[playerid][pMember] != 8)
       {
           MedicBill[playerid] = 0;
           new rand = random(sizeof(CIV));
         SendClientMessage(playerid, COLOR_LIGHTRED, "You are not a Member of this Agency, you are now a Civilian !");
         PlayerInfo[playerid][pTeam] = 3;
         gTeam[playerid] = 3;
            SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
         PlayerInfo[playerid][pModel] = CIV[rand];
         SpawnPlayer(playerid);
      }
   }
   if(gTeam[playerid] == 2 && PlayerInfo[playerid][pMember] > 3)
   {
       MedicBill[playerid] = 0;
      new rand = random(sizeof(CIV));
      SendClientMessage(playerid, COLOR_LIGHTRED, "You haven't applied for being an Officer / FBI / National Guard, you are now a Civilian !");
      PlayerInfo[playerid][pTeam] = 3;
      gTeam[playerid] = 3;
      SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
      PlayerInfo[playerid][pModel] = CIV[rand];
      SpawnPlayer(playerid);
   }
   if(gTeam[playerid] == 3)
   {
       if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pLeader] > 0)
       {
         SendClientMessage(playerid, COLOR_LIGHTRED, "You are part of a Family/Force, you've been forced to the right Class + Char !");
         MedicBill[playerid] = 0;
         new model = PlayerInfo[playerid][pChar];
         if(PlayerInfo[playerid][pMember] == 1) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pMember] == 2) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pMember] == 3) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pMember] == 4) { SetSpawnInfo(playerid, 1, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 1; gTeam[playerid] = 1; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pMember] == 5) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pMember] == 6) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pMember] == 8) { SetSpawnInfo(playerid, 10, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 10; gTeam[playerid] = 10; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pMember] == 9) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pMember] == 10) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pMember] == 11) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 1) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 2) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 3) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 4) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 5) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 6) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 7) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 8) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 9) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 10) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         else if(PlayerInfo[playerid][pLeader] == 11) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
         //SetSpawnInfo(playerid, team, model,0.0,0.0,0.0,0,0,0,0,0,0,0);
         SpawnPlayer(playerid);
      }
   }
   if(PlayerInfo[playerid][pChar] > 0) { SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]); }
   else { SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]); }
   SetPlayerWeapons(playerid);
   SetPlayerSpawn(playerid);
   SetPlayerToTeamColor(playerid);
   PlayerFixRadio(playerid);
   for(new i = 0; i < sizeof(Turfs); i++)
   {
       GangZoneShowForPlayer(playerid, i, TurfInfo[zColor]);
   }
   if(MapIconsShown[playerid] != 1)
   {
       MapIconsShown[playerid] = 1;
       for(new i = 0; i < sizeof(BizzInfo); i++)
      {
         SetPlayerMapIcon(playerid,i + 1,BizzInfo[bEntranceX],BizzInfo[bEntranceY],BizzInfo[bEntranceZ],36,COLOR_LIGHTRED);
      }
      for(new i = 0; i < sizeof(SBizzInfo); i++)
      {
          SetPlayerMapIcon(playerid,i + 20,SBizzInfo[sbEntranceX],SBizzInfo[sbEntranceY],SBizzInfo[sbEntranceZ],36,COLOR_LIGHTRED);
      }
   }
   return 1;
}

?

Double post
Citer
public OnPlayerConnect(playerid)
{
   if(IsPlayerNPC(playerid)) {
       new ip_addr_npc[64+1];
       new ip_addr_server[64+1];
       GetServerVarAsString("bind",ip_addr_server,64);
       GetPlayerIp(playerid,ip_addr_npc,64);
      
      if(!strlen(ip_addr_server)) {
          ip_addr_server = "127.0.0.1";
      }
      
      if(strcmp(ip_addr_npc,ip_addr_server,true) != 0) {
          // this bot is remote connecting
          printf("NPC: Got a remote NPC connecting from %s and I'm kicking it.",ip_addr_npc);
          Kick(playerid);
          return 0;
      }
        printf("NPC: Connection from %s is allowed.",ip_addr_npc);
   }
   
   return 1;
}

Citer
public OnPlayerSpawn(playerid)
{
   if(!IsPlayerNPC(playerid)) return 1; // We only deal with NPC players in this script

   new playername[64];
   GetPlayerName(playerid,playername,64);

   if(!strcmp(playername,"Bruno",true)) {
        PutPlayerInVehicle(playerid,1,0);
        SetPlayerColor(playerid,0xFFFFFFFF);
    }
   else if(!strcmp(playername,"Paul",true)) {
       PutPlayerInVehicle(playerid,5,0);
       SetPlayerColor(playerid,0xAA3333AA);
   }
   else if(!strcmp(playername,"TrainDriverLS",true)) {
       PutPlayerInVehicle(playerid,9,0);
       SetPlayerColor(playerid,0xFFFFFFFF);
   }
   else if(!strcmp(playername,"PilotLV",true)) {
       PutPlayerInVehicle(playerid,13,0);
       SetPlayerColor(playerid,0xFFFFFFFF);
   }
   else if(!strcmp(playername,"PilotSF",true)) {
       PutPlayerInVehicle(playerid,14,0);
       SetPlayerColor(playerid,0xFFFFFFFF);
   }
   else if(!strcmp(playername,"PilotLS",true)) {
       PutPlayerInVehicle(playerid,15,0);
       SetPlayerColor(playerid,0xFFFFFFFF);
   }
   else if(!strcmp(playername,"TestIdleDriver",true)) {
       PutPlayerInVehicle(playerid,43,0);
       SetPlayerColor(playerid,0xFFFFFFFF);
   }
   else if(!strcmp(playername,"TaxiTest",true)) {
       PutPlayerInVehicle(playerid,968,0);
       SetPlayerColor(playerid,0xFFFFFFFF);
   }

   return 1;
}
Titre: Re : [ Aide ] NPC :s
Posté par: cristab le 21 Décembre 2009, 12:56:03
je pige rien go pastebin stp
Titre: Re : [ Aide ] NPC :s
Posté par: Bankai_Rodriguez le 21 Décembre 2009, 13:00:18
public OnPlayerSpawn(playerid) de mon GM : http://pastebin.com/m49dbf21c (http://pastebin.com/m49dbf21c)

public OnPlayerSpawn(playerid) de mon FS NPC : http://pastebin.com/m400a46ad (http://pastebin.com/m400a46ad)

public OnPlayerConnect(playerid) de mon FS NPC : http://pastebin.com/m635b42db (http://pastebin.com/m635b42db)

Il y t'il des erreurs qui fait que mon bot n'apparait pas in game..Etc ??


(http://img7.hostingpics.net/pics/760446dfdf.jpg)
Titre: Re : [ Aide ] NPC :s
Posté par: » Lukubi™ le 21 Décembre 2009, 13:01:14
Pas la peine de remettre ton screen, en plus il est hors norme :-\
Titre: Re : [ Aide ] NPC :s
Posté par: cristab le 21 Décembre 2009, 13:03:16
dans le server.cfg la ligne Maxnpc est a combien
Titre: Re : [ Aide ] NPC :s
Posté par: Bankai_Rodriguez le 21 Décembre 2009, 13:18:00
maxnpc 50

Titre: Re : [ Aide ] NPC :s
Posté par: cristab le 21 Décembre 2009, 14:07:05
pour deux bot tu met 50 on peu mettre plus quand tu as a 30 ou autre mais 2 on voit deja la feignantise s'installer de compter jusqu'a 2 :s
Titre: Re : [ Aide ] NPC :s
Posté par: Bankai_Rodriguez le 21 Décembre 2009, 14:19:07
C'est pas de la feignantise tu vois  ;), car quand tu sais que tu compte mettre par la suite 40 bots...tu cherche pas allez trifouiller toutes les heures le server.cfg..........
Titre: Re : [ Aide ] NPC :s
Posté par: cristab le 21 Décembre 2009, 15:06:23
c'est quoi exactement sa ???

public OnPlayerConnect(playerid)
{
   if(IsPlayerNPC(playerid)) {
       new ip_addr_npc[64+1];
       new ip_addr_server[64+1];
       GetServerVarAsString("bind",ip_addr_server,64);
       GetPlayerIp(playerid,ip_addr_npc,64);
      
      if(!strlen(ip_addr_server)) {
          ip_addr_server = "127.0.0.1";
      }
      
      if(strcmp(ip_addr_npc,ip_addr_server,true) != 0) {
          // this bot is remote connecting
          printf("NPC: Got a remote NPC connecting from %s and I'm kicking it.",ip_addr_npc);
          Kick(playerid);
          return 0;
      }
        printf("NPC: Connection from %s is allowed.",ip_addr_npc);
   }
  
   return 1;
}
PS

public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))return 0;
   
   
    InitLockDoors(playerid);
   STDPlayer[playerid] = 0;
   gTeam[playerid] = PlayerInfo[playerid][pTeam]; //Set the Team
   if (gTeam[playerid] == 4) //medic / criminal reset team
   {
Titre: Re : [ Aide ] NPC :s
Posté par: Bankai_Rodriguez le 21 Décembre 2009, 15:21:21
C'est ce qui a dans le Filterscript npc

Filterscript que j'ai repris et modifié
Titre: Re : [ Aide ] NPC :s
Posté par: cristab le 21 Décembre 2009, 15:29:10
peu etre mais a aucun moment le bot ce connect :s

je te redireige par la http://www.gtaonline.fr/forums/index.php/topic,9219.0.html (http://www.gtaonline.fr/forums/index.php/topic,9219.0.html)
Titre: Re : [ Aide ] NPC :s
Posté par: Bankai_Rodriguez le 21 Décembre 2009, 15:49:27
Est-ce correct ??

http://pastebin.com/m24d7a90b (http://pastebin.com/m24d7a90b)
Titre: Re : [ Aide ] NPC :s
Posté par: cristab le 21 Décembre 2009, 18:08:26
le nom de ton bot a le meme nom que ton script??

sinon la deja le OnGameModeInit et deja mieux

mais le onplayerconnect est vide