[Ajuda] Ao Morrer no Dm continuar no Dm - Por Favor :))
#1

eae galerinha , so iniciante em pawno e to com uma grande duvida , ja pesquisei й nгo achei em local nenhum...

tipo o cara usou /dm , ai ele й setado , e quando й morto ele da spawn , mas eu queria que quando ele fosse morto no dm ele desce spawn novamente no dm , sem precisar usar o comando novamente...

olha o comando:

PHP Code:
 if(strcmp(cmdtext,"/Dm",true)==0
   { 
   new 
string[200], pName[MAX_PLAYER_NAME]; 
   
GetPlayerName(playerid,pName,MAX_PLAYER_NAME); 
   
format(string,sizeof string,"O Player {00BFFF}%s {FFFFFF}Entrou no Dm {00BFFF}Eagle {FFFFFF}e {00BFFF}Combat{FFFFFF}! Use /Dm!",pName); 
   
SendClientMessageToAll(0xFFFFFFAA,string); 
   
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377); 
   
SetPlayerInterior(playerid,1); 
   
ResetPlayerWeapons(playerid); 
   
GivePlayerWeapon(playerid24999); 
   
GivePlayerWeapon(playerid27999); 
   
SetPlayerHealth(playerid,100); 
   
SetPlayerArmour(playerid,100); 
   
PlayerPlaySound(playerid10570,0,0); 
Tem aver com isso ?
PHP Code:
 TaNoDm[MAX_PLAYERS]; 
PHP Code:
TaNoDm[playerid] = 1
Eu Jб tentei mais nгo consigo
Reply
#2

pawn Code:
public OnPlayerSpawn(playerid)
{
    if(TaNoDm[playerid] == 1)
    {
        SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);  
        SetPlayerInterior(playerid,1);  
        ResetPlayerWeapons(playerid);  
        GivePlayerWeapon(playerid, 24, 999);  
        GivePlayerWeapon(playerid, 27, 999);  
        SetPlayerHealth(playerid,100);  
        SetPlayerArmour(playerid,100);  
        PlayerPlaySound(playerid, 1057, 0,0,0);
        return 1;
    }
    return 1;
}
adapte ai, nao esqueca de fazer um comando ou algo para ele poder sair do DM.
Reply
#3

vlws amigo me ajudo muito , sу novo no forum como da o tal +rep ?

olha o que eu tentei mas nem testei

Quote:

public OnPlayerDeath(playerid, killerid, reason)
{
TaNoDm[playerid] = 0;
{
if(gTeam[playerid] == TEAM_ALPHA)return SetPlayerPos(playerid,1923.8412,667.2415,10.8203);
if(gTeam[playerid] == TEAM_BETA)return SetPlayerPos(playerid,204.8786,1871.9102,13.1406);
}
TaNoDm[playerid] = 1;
{
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
SetPlayerInterior(playerid,1);
}

vlwss
Reply
#4

Pra dar reputaзгo й sу clicar na estrela do lado da bolinha verde que mostra se vocк estб on/off ali em baixo do avatar.
Reply
#5

PT ao esta dando errado no cod

quando alguem loga no meu servidor , para minha visгo ele esta de esc , imovel , mas para a visгo do outro player esta normal , e ambos ficam de esc um para o outro... nгo podendo tirar damage e etc , apenas a conversa no chat fica normal...

olha o script do dm

PHP Code:
new TaNoDm[MAX_PLAYERS];
new 
TaNaEagle[MAX_PLAYERS];
new 
TaNaCombat[MAX_PLAYERS];
new 
TaNaM4[MAX_PLAYERS];
new 
TaNaShotgun[MAX_PLAYERS];
new 
TaNaSniper[MAX_PLAYERS];
new 
TaNoStadium[MAX_PLAYERS]; 
PHP Code:
public OnPlayerSpawn(playerid)
{
  
SetPlayerToTeamColor(playerid);
  {
    switch(
gTeam[playerid])
    {
        case 
0// Classid 0
        
{
        new 
string[64], pName[MAX_PLAYER_NAME];
        
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
        
format(string,sizeof string,"» %s Entrou no Team {FF0000}Alpha{FFFFFF}!",pName);
        
SendClientMessageToAll(0xFFFFFFAA,string);
        
SetPlayerColor(playeridCOR_ALPHA);
        
SetPlayerVirtualWorld(playerid,0);
        
SetPlayerInterior(playerid,0);
        
ShowPlayerMarkers(0);
        
SetPlayerPos(playerid,1923.8412,667.2415,10.8203);
        
SetPlayerPos(playerid,1922.4415,799.3265,10.8203);
        
GivePlayerWeapon(playerid,24,999);
        
GivePlayerWeapon(playerid,27,999); 
        
GivePlayerWeapon(playerid,31,999);
        
GivePlayerWeapon(playerid,34,999);
        
SetPlayerHealth(playerid,100);
        
SetPlayerArmour(playerid,100);
        
PlayerPlaySound(playerid10570,0,0);
        
TaNoDm[playerid] = 0;
        
TaNaEagle[playerid] = 0;
        
TaNaCombat[playerid] = 0;
        
TaNaM4[playerid] = 0;
        
TaNaShotgun[playerid] = 0;
        
TaNaSniper[playerid] = 0;
        
TaNoStadium[playerid] = 0;
        }
        case 
1// Classid 1
        
{
        new 
string[64], pName[MAX_PLAYER_NAME];
        
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
        
format(string,sizeof string," » %s Entrou no Team {1E90FF}Beta{FFFFFF}!",pName);
        
SendClientMessageToAll(0xFFFFFFAA,string);
        
SetPlayerColor(playeridCOR_BETA);
        
SetPlayerVirtualWorld(playerid,0);
        
ShowPlayerMarkers(0);
        
SetPlayerPos(playerid,204.8786,1871.9102,13.1406);
        
SetPlayerPos(playerid,356.4492,2028.2745,23.87500);
        
GivePlayerWeapon(playerid,24,999);
        
GivePlayerWeapon(playerid,27,999);
        
GivePlayerWeapon(playerid,31,999);
        
GivePlayerWeapon(playerid,34,999);
        
SetPlayerHealth(playerid,100);
        
SetPlayerArmour(playerid,100);
        
PlayerPlaySound(playerid10570,0,0);
        
TaNoDm[playerid] = 0;
        
TaNaEagle[playerid] = 0;
        
TaNaCombat[playerid] = 0;
        
TaNaM4[playerid] = 0;
        
TaNaShotgun[playerid] = 0;
        
TaNaSniper[playerid] = 0;
        
TaNoStadium[playerid] = 0;
       }
     }
   }
   if(
TaNoDm[playerid] == 1)
   {
        
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
        
SetPlayerInterior(playerid,1);
        
ResetPlayerWeapons(playerid);
        
GivePlayerWeapon(playerid24999);
        
GivePlayerWeapon(playerid27999);
        
SetPlayerHealth(playerid,100);
        
SetPlayerArmour(playerid,100);
        
PlayerPlaySound(playerid10570,0,0);
        return 
1;
   }
   if(
TaNaEagle[playerid] == 1)
   {
        
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
        
SetPlayerInterior(playerid,1);
        
SetPlayerVirtualWorld(playerid,11);
        
ResetPlayerWeapons(playerid);
        
GivePlayerWeapon(playerid24999);
        
SetPlayerHealth(playerid,100);
        
SetPlayerArmour(playerid,100);
        
PlayerPlaySound(playerid10570,0,0);
        return 
1;
    }
    if(
TaNaCombat[playerid] == 1)
    {
        
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
        
SetPlayerInterior(playerid,1);
        
SetPlayerVirtualWorld(playerid,12);
        
ResetPlayerWeapons(playerid);
        
GivePlayerWeapon(playerid27999);
        
SetPlayerHealth(playerid,100);
        
SetPlayerArmour(playerid,100);
        
PlayerPlaySound(playerid10570,0,0);
        return 
1;
    }
    if(
TaNaM4[playerid] == 1)
    {
        
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
        
SetPlayerInterior(playerid,1);
        
SetPlayerVirtualWorld(playerid,13);
        
ResetPlayerWeapons(playerid);
        
GivePlayerWeapon(playerid31999);
        
SetPlayerHealth(playerid,100);
        
SetPlayerArmour(playerid,100);
        
PlayerPlaySound(playerid10570,0,0);
        return 
1;
    }
    if(
TaNaShotgun[playerid] == 1)
    {
        
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
        
SetPlayerInterior(playerid,1);
        
SetPlayerVirtualWorld(playerid,14);
        
ResetPlayerWeapons(playerid);
        
GivePlayerWeapon(playerid25999);
        
SetPlayerHealth(playerid,100);
        
SetPlayerArmour(playerid,100);
        
PlayerPlaySound(playerid10570,0,0);
        return 
1;
    }
    if(
TaNaSniper[playerid] == 1)
    {
        
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
        
SetPlayerInterior(playerid,1);
        
SetPlayerVirtualWorld(playerid,15);
        
ResetPlayerWeapons(playerid);
        
GivePlayerWeapon(playerid34999);
        
SetPlayerHealth(playerid,100);
        
SetPlayerArmour(playerid,100);
        
PlayerPlaySound(playerid10570,0,0);
        return 
1;
    }
    if(
TaNoStadium[playerid] == 1)
    {
        
SetPlayerPos(playerid,-1398.103515,937.631164,1036.479125);
        
SetPlayerInterior(playerid,15);
        
ResetPlayerWeapons(playerid);
        
GivePlayerWeapon(playerid24999);
        
GivePlayerWeapon(playerid27999);
        
GivePlayerWeapon(playerid31999);
        
SetPlayerHealth(playerid,100);
        
SetPlayerArmour(playerid,100);
        
ShowPlayerMarkers(1);
        return 
1;
    }
    return 
1;

cmd :

PHP Code:
public OnPlayerCommandText(playeridcmdtext[])
{
   if(
strcmp(cmdtext,"/Dm",true)==0)
   {
   new 
string[200], pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
   
format(string,sizeof string,"O Player {00BFFF}%s {FFFFFF}Entrou no Dm {00BFFF}Eagle {FFFFFF}e {00BFFF}Combat{FFFFFF}! Use /Dm!",pName);
   
SendClientMessageToAll(0xFFFFFFAA,string);
   
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
   
SetPlayerInterior(playerid,1);
   
ResetPlayerWeapons(playerid);
   
GivePlayerWeapon(playerid24999);
   
GivePlayerWeapon(playerid27999);
   
SetPlayerHealth(playerid,100);
   
SetPlayerArmour(playerid,100);
   
PlayerPlaySound(playerid10570,0,0);
   
TaNoDm[playerid] = 1;
   }
   if(
strcmp(cmdtext"/leavedm"true)==0)
   {
   if(
TaNoDm[playerid] == 0)
   if(
TaNaEagle[playerid] == 0)
   if(
TaNaCombat[playerid] == 0)
   if(
TaNaM4[playerid] == 0)
   if(
TaNaShotgun[playerid] == 0)
   if(
TaNaSniper[playerid] == 0)
   if(
TaNoStadium[playerid] == 0)
   {
   
SendClientMessage(playeridCOR_BRANCO" Vocк nгo estб no Dm!");
   return 
1;
   }
   new 
string[200], pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
   
format(string,sizeof string,"O Player {00BFFF}%s {FFFFFF}Saiu do Dm! use /leaveDm!",pName);
   
SendClientMessageToAll(0xFFFFFFAA,string);
   
TaNoDm[playerid] = 1;
   
TaNaEagle[playerid] = 1;
   
TaNaCombat[playerid] = 1;
   
TaNaM4[playerid] = 1;
   
TaNaShotgun[playerid] = 1;
   
TaNaSniper[playerid] = 1;
   
TaNoStadium[playerid] = 1;
   
ResetPlayerWeapons(playerid);
   
GivePlayerWeapon(playerid,24,999);
   
GivePlayerWeapon(playerid,27,999);
   
GivePlayerWeapon(playerid,31,999);
   
GivePlayerWeapon(playerid,34,999);
   
SetPlayerHealth(playerid,100);
   
SetPlayerArmour(playerid,100);
   
SetPlayerInterior(playerid,0);
   
SetPlayerVirtualWorld(playerid,0);
   if(
gTeam[playerid] == TEAM_ALPHA)return SetPlayerPos(playerid,1923.8412,667.2415,10.8203);
   if(
gTeam[playerid] == TEAM_BETA)return SetPlayerPos(playerid,204.8786,1871.9102,13.1406);
   return 
1;
   }
   if(
strcmp(cmdtext,"/Stadium",true)==0)
   {
   new 
string[200], pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
   
format(string,sizeof string,"O Player {00BFFF}%s {FFFFFF}Entrou no {00BFFF}Stadium{FFFFFF}! Use /Stadium!",pName);
   
SendClientMessageToAll(0xFFFFFFAA,string);
   
SetPlayerPos(playerid,-1398.103515,937.631164,1036.479125);
   
SetPlayerInterior(playerid,15);
   
ResetPlayerWeapons(playerid);
   
GivePlayerWeapon(playerid24999);
   
GivePlayerWeapon(playerid27999);
   
GivePlayerWeapon(playerid31999);
   
SetPlayerHealth(playerid,100);
   
SetPlayerArmour(playerid,100);
   
PlayerPlaySound(playerid10570,0,0);
   
TaNoStadium[playerid] = 1;
   
ShowPlayerMarkers(1);
   return 
1;
   }
   if(
strcmp(cmdtext,"/sniper",true)==0)
   {
   new 
string[200], pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
   
format(string,sizeof string,"O Player {00BFFF}%s {FFFFFF}Entrou no Dm {00BFFF}Sniper{FFFFFF}! Use /Sniper!",pName);
   
SendClientMessageToAll(0xFFFFFFAA,string);
   
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
   
SetPlayerInterior(playerid,1);
   
ResetPlayerWeapons(playerid);
   
GivePlayerWeapon(playerid34,999);
   
SetPlayerHealth(playerid100);
   
SetPlayerArmour(playerid100);
   
TaNoDm[playerid] = 1;
   
TaNaSniper[playerid] = 1;
   
PlayerPlaySound(playerid10570,0,0);
   }
   if(
strcmp(cmdtext,"/eagle",true)==0)
   {
   new 
string[200], pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
   
format(string,sizeof string,"O Player {00BFFF}%s {FFFFFF}Entrou no Dm {00BFFF}Eagle{FFFFFF}! Use /Eagle!",pName);
   
SendClientMessageToAll(0xFFFFFFAA,string);
   
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
   
SetPlayerInterior(playerid,1);
   
SetPlayerVirtualWorld(playerid,11);
   
ResetPlayerWeapons(playerid);
   
GivePlayerWeapon(playerid24,999);
   
SetPlayerHealth(playerid100);
   
SetPlayerArmour(playerid100);
   
TaNoDm[playerid] = 1;
   
TaNaEagle[playerid] = 1;
   
PlayerPlaySound(playerid10570,0,0);
   }
   if(
strcmp(cmdtext,"/combat",true)==0)
   {
   new 
string[200], pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
   
format(string,sizeof string,"O Player {00BFFF}%s {FFFFFF}Entrou no Dm {00BFFF}Combat{FFFFFF}! Use /Combat!",pName);
   
SendClientMessageToAll(0xFFFFFFAA,string);
   
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
   
SetPlayerInterior(playerid,1);
   
SetPlayerVirtualWorld(playerid,12);
   
ResetPlayerWeapons(playerid);
   
GivePlayerWeapon(playerid27,999);
   
SetPlayerHealth(playerid100);
   
SetPlayerArmour(playerid100);
   
TaNoDm[playerid] = 1;
   
TaNaCombat[playerid] = 1;
   
PlayerPlaySound(playerid10570,0,0);
   }
   if(
strcmp(cmdtext,"/M4",true)==0)
   {
   new 
string[200], pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
   
format(string,sizeof string,"O Player {00BFFF}%s {FFFFFF}Entrou no Dm {00BFFF}M4{FFFFFF}! Use /M4!",pName);
   
SendClientMessageToAll(0xFFFFFFAA,string);
   
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
   
SetPlayerInterior(playerid,1);
   
SetPlayerVirtualWorld(playerid,13);
   
ResetPlayerWeapons(playerid);
   
GivePlayerWeapon(playerid31,999);
   
SetPlayerHealth(playerid100);
   
SetPlayerArmour(playerid100);
   
TaNoDm[playerid] = 1;
   
TaNaM4[playerid] = 1;
   
PlayerPlaySound(playerid10570,0,0);
   }
   if(
strcmp(cmdtext,"/Shotgun",true)==0)
   {
   new 
string[200], pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
   
format(string,sizeof string,"O Player {00BFFF}%s {FFFFFF}Entrou no Dm {00BFFF}Shotgun{FFFFFF}! Use /Shotgun!",pName);
   
SendClientMessageToAll(0xFFFFFFAA,string);
   
SetPlayerPos(playerid,1412.639892,-1.787510,1000.924377);
   
SetPlayerInterior(playerid,1);
   
SetPlayerVirtualWorld(playerid,14);
   
ResetPlayerWeapons(playerid);
   
GivePlayerWeapon(playerid25,999);
   
SetPlayerHealth(playerid100);
   
SetPlayerArmour(playerid100);
   
TaNoDm[playerid] = 1;
   
TaNaShotgun[playerid] = 1;
   
PlayerPlaySound(playerid10570,0,0);
   } 
jб tentei de tudo! mas da o mesmo problema

ou sйra que o problema nгo estб no dm ? nгo й RT por que eu faзo os testes com o pc e notbook , mas da esse erro e nгo consigo tentar o sistema...
Reply
#6

Amigo, acredito que o problema nгo esteja aн. Creio que esteja no seu OnPlayerUpdate.
Em relaзгo ao cуdigo, vocк seguiu "errado" o exemplo do PT. TaNoDm й uma variбvel que farб uma verificaзгo se o player estб no DM, vocк setou essa var em todas as arenas, ou seja, nгo vai funcionar corretamente.
Reply
#7

se o erro estiver no OnPlayerUpdate o que eu tenho que fazer ?
amigo so novo nisso e o que eu errei no cod do PT ??
Reply
#8

Sobre o erro, vocк fez os comandos desse modo:
pawn Code:
TaNoDm[playerid] = 1;
TaNaShotgun[playerid] = 1;
pawn Code:
TaNoDm[playerid] = 1;
TaNaM4[playerid] = 1;
e etc

Isso nгo vai funcionar corretamente, TaNoDm й uma arena, TaNaM4 й outra.
Sem falar, que como vocк deseja fazer isso em mais de uma arena, nгo seria necessбrio a criaзгo de tantas variбveis. Vocк pode criar uma sу variбvel e depois aplicar um switch.
Ex:
pawn Code:
//topo
new EmArena[MAX_PLAYERS];
nos comandos:
pawn Code:
EmArena[playerid]=1; //Arena [DM]
EmArena[playerid]=2; //Arena [M4]
EmArena[playerid]=3; //Arena [Shotgun]
em OnPlayerSpawn:
pawn Code:
switch(EmArena[playerid])
{
    case 1:
    {
        //Cуdigos da arena DM
    }
    case 2:
    {
        //Cуdigos da arena M4
    }
    case 3:
    {
        //Cуdigos da arena Shotgun
    }
}
Sobre o OnPlayerUpdate, caso ela tenha cуdigos mal feitos, irб causar um efeito semelhante ao o que vocк descreveu. Esta callback й chamada de uma forma muito rбpida, o uso dela й recomendбvel para quem tem mais experiкncia. Recomendo que vocк tente passar os cуdigos que contйm nela para um timer.
Mas ainda nгo й certeza que o erro se encontre nesta callback.
Reply
#9

nгo tem nada nela

PHP Code:
public OnPlayerUpdate(playerid)
{
    return 
1;

Reply
#10

Se voce nao sabe manipular variaveis em coisas simples nao e facil voce manter um servidor...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)