10.08.2011, 21:15
Ola pessoal, estou desenvolvendo meu gm de zombie ( totalmente do 0 ), nesse gm estou trabalhando com um sistema de xp,levels e upgrades, mas estou com um problema para escolher os zombies iniciais, ja que, nao gostaria que o player escolhesse seu time, pois a maioria iria ficar de humano e nao teria nenhum zombie, ou seja, ia perder totalmente a graзa.
Meu problema como ja disse, й para escolher os zombies iniciais, que seriam 2, ja й o segundo dia que estou quebrando a cabeзa para fazer algum codigo que de certo mas nada.
O maximo que consegui foi o seguinte:
Nгo sou um profissional em pawn como muito de voces, e se poderem me dar uma luz agradeceria muito
So uma outra coisinha, evitem me dar codigos prontos, prefiro que me mostre o que eu preciso fazer e o que aprender para chegar a desenvolver tal funзao :/
Qualquer coisa a mais que nгo ficou explicita neste topico me contate.
obrigado.
Meu problema como ja disse, й para escolher os zombies iniciais, que seriam 2, ja й o segundo dia que estou quebrando a cabeзa para fazer algum codigo que de certo mas nada.
O maximo que consegui foi o seguinte:
pawn Код:
new zm[][0] =
{
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25},
{26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50}
}; // Aqui seria todos os ids possiveis no meu servidor, ou seja 50 ( 50 slots );
pawn Код:
forward Tempo();
public Tempo() // esta public й para devinir os raund que sao 5 minutos cada
{
SetTimer("Tempo2", 300000, true);
return 1;
}
forward Tempo2();
public Tempo2() /* apos os 5 minutos de raund ele salvara todos os dados, xp,levels e tals... e fazendo um restart para escolher os novos zombies. */
{
Restart();
SetTimer("Tempo", 15000, true);
for(new playerid = 0; playerid < GetMaxPlayers(); ++playerid)
{
AtualizarStatus(playerid);
}
return 1;
}
pawn Код:
Restart(playerid)
{
for(new playerid; playerid < MAX_PLAYERS; playerid++)
{
if(IsPlayerConnected(playerid))
{
PlayerInfo[playerid][time] = 0;
SendClientMessage(playerid, COLOR_GRAD, "Sorteando novos times...");
SetPlayerPos(playerid, 2343.9089,134.6476,26.3359);
SetPlayerColor(playerid,0xFF0A00FF);
AtualizarStatus(playerid);
return 1;
}
return 1;
}
new zms = random(sizeof(zm));
new primeirozm = zm[zms][0];
new segundozm = zm[zms][1];
if(IsPlayerConnected(primeirozm))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(primeirozm, name, sizeof(name));
PlayerInfo[primeirozm][time] = 1;
SendClientMessageToAll(verde, "Fujam ou se escondam, %s й o primeiro zombie!", name);
SetPlayerColor(playerid,0xFF0A00FF);
SetPlayerSkin(playerid,162);
SetPlayerDrunkLevel (playerid, 10000);
return 1;
}
if(IsPlayerConnected(primeirozm))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(segundozm, name, sizeof(name));
PlayerInfo[segundozm][time] = 1;
SendClientMessageToAll(verde, "Fujam ou se escondam, %s й o ajudante do primeiro zombie!", name);
SetPlayerColor(playerid,0xFF0A00FF);
SetPlayerSkin(playerid,162);
SetPlayerDrunkLevel (playerid, 10000);
return 1;
}
for(new playerid; playerid < MAX_PLAYERS; playerid++)
{
if(IsPlayerConnected(playerid) && PlayerInfo[playerid][time] == 0)
{
SetPlayerColor(playerid,0x0A00FFFF);
if(PlayerInfo[playerid][vip] == 1)
{
SetPlayerSkin(playerid,165);
}
if(!PlayerInfo[playerid][vip] == 1)
{
new rand = random(sizeof(RandomSpawn));
SetPlayerSkin(playerid,RandomSpawn[rand][0]);
}
GivePlayerWeapon(playerid,30,500);
GivePlayerWeapon(playerid,24,500);
GivePlayerWeapon(playerid,5,1);
return 1;
}
return 1;
}
return true;
}
So uma outra coisinha, evitem me dar codigos prontos, prefiro que me mostre o que eu preciso fazer e o que aprender para chegar a desenvolver tal funзao :/
Qualquer coisa a mais que nгo ficou explicita neste topico me contate.
obrigado.