16.10.2013, 22:53
Eu tive um problema com npcs que estгo sendo kickados do server, entгo me mandaram fazer um debug, sу que nunca fiz antes e nгo entendi os tutoriais que achei... os npcs sгo de um filterscript
Eu baixei um FS de npcs, sу que eles tгo sendo kickados ao logar. em outro tуpico chegaram a analisar o OnPlayerConnect do GM mas nгo era lб o problema (eu acho), entгo pediram pra eu fazer um debug e fiquei perdido, mesmo tendo lido tutoriais, porque nгo entendi nada.
|
public OnGameModeInit ( )
{
print("1");
CreateVehicle ( ... );
print("2");
CreateObject ( ... );
print("3");
return 1;
}
Muitas vezes vocк nгo necessariamente precisa fazer um debug, andei olhando o seu outro tуpico, a respeito do problema. Jб tentou procurar pelos bots no GM ? Caso contrбrio vocк poderia procurar 'Kick' dentro da callback OnPlayerConnect, visto que eles estгo sendo kikados.
O debug nгo te seria muito ъtil nessa questгo onde vocк nгo sabe aonde o cуdigo estб gerando o erro. |
O debug mais simples й ir printando a cada linha um nъmero, se um nъmeor nгo aparecer vocк jб sabe onde estб o erro. Exemplo:
pawn Код:
|
public OnPlayerSpawn(playerid)
{
ApplyAnimation(playerid,"STRIP","null",0.0,0,0,0,0,0,1);
{
if(!IsPlayerNPC(playerid)) return 1;
new playername[64];
GetPlayerName(playerid,playername,64);
SetPlayerColor(playerid,0xFFFFFF00);
if(!strcmp(playername,"Bargirl_Striper",true))
{
SetPlayerPos(playerid,1971.7592,388.6446,21.1437);
SetPlayerFacingAngle(playerid,0);
SetPlayerSkin(playerid,188);
}
else if(!strcmp(playername,"Striper_Girl1",true))
{
SetPlayerPos(playerid,1967.5193,395.3029,21.5836);
SetPlayerFacingAngle(playerid,267.9429);
SetPlayerSkin(playerid,246);
}
else if(!strcmp(playername,"Striper_Girl2",true))
{
SetPlayerPos(playerid,1974.3167,397.0069,21.6851);
SetPlayerFacingAngle(playerid,356.9304);
SetPlayerSkin(playerid,152);
}
else if(!strcmp(playername,"Striper_Girl3",true))
{
SetPlayerSkin(playerid,256);
SetPlayerPos(playerid,1971.5166,402.2400,21.6851);
SetPlayerFacingAngle(playerid,123.5182);
}
}
return 1;
}
O debug mais simples й ir printando a cada linha um nъmero, se um nъmeor nгo aparecer vocк jб sabe onde estб o erro. Exemplo:
pawn Код:
|
Ele nem sabe aonde o erro estб acontecendo, nгo й simplesmente sair jogando print.
O correto seria vocк fazer como eu te falei, analisar melhor as informaзхes do log do servidor e procurar a respeito no GM, se os bots estгo sendo kikado, pode ser algum sistema para prevenir contra bots, ou contra conexхes mъltiplas. |
[19:36:45] [npc:join] Bargirl_Striper has joined the server (0:127.0.0.1)
[19:36:45] [npc:join] Striper_Girl3 has joined the server (1:127.0.0.1)
[19:36:45] [npc:join] Striper_Girl1 has joined the server (2:127.0.0.1)
[19:36:45] [npc:join] Striper_Girl2 has joined the server (3:127.0.0.1)
[19:36:48] ***Bargirl_Striper Saiu do servidor kickado ou banido.
[19:36:48] [npc:part] Bargirl_Striper has left the server (0:2)
[19:36:50] ***Striper_Girl1 Saiu do servidor kickado ou banido.
[19:36:50] [npc:part] Striper_Girl1 has left the server (2:2)
[19:36:50] ***Striper_Girl3 Saiu do servidor kickado ou banido.
[19:36:50] [npc:part] Striper_Girl3 has left the server (1:2)
[19:36:50] ***Striper_Girl2 Saiu do servidor kickado ou banido.
[19:36:50] [npc:part] Striper_Girl2 has left the server (3:2)
Ele nem sabe aonde o erro estб acontecendo, nгo й simplesmente sair jogando print.
O correto seria vocк fazer como eu te falei, analisar melhor as informaзхes do log do servidor e procurar a respeito no GM, se os bots estгo sendo kikado, pode ser algum sistema para prevenir contra bots, ou contra conexхes mъltiplas. |