07.10.2013, 14:42
Seguinte eu peguei um GM Base de DM pra eu poder dar uma melhorada pra eu e uns amigos jogarem pra treinar x1,etc...
Eu jб melhorei bastante, coloquei vбrios cmd, mudei sistema de login, e mais algumas coisas... (bбsico dos bбsicos pro GM nгo ficar pesado)
Acontece que eu preciso tirar esse Script Lag Zero (Tiro na skin), eu jб atй consegui tirar o tiro na skin mas o resto dos sistemas do GM nгo funfa porque parece que o GM nгo reconhece mais quando algum player morre...
Esse codigo funciona perfeitamente, acontece que eu quero tirar esse "Tiro na skin" e deixar no lag, mas sem bugar o sistema de duel, de mensagens, de killdeath,etc...
(Jб tentei de tudo quanto й jeito, mas nгo consegui, entгo estou socorrendo a ajuda de vcs)
Eu jб melhorei bastante, coloquei vбrios cmd, mudei sistema de login, e mais algumas coisas... (bбsico dos bбsicos pro GM nгo ficar pesado)
Acontece que eu preciso tirar esse Script Lag Zero (Tiro na skin), eu jб atй consegui tirar o tiro na skin mas o resto dos sistemas do GM nгo funfa porque parece que o GM nгo reconhece mais quando algum player morre...
pawn Code:
public OnPlayerTakeDamage(playerid,issuerid,Float:amount,weaponid)
{
if(Lagduel[playerid] == true) return 1;
if(weaponid == 24) amount = 32;
SetPlayerScore(issuerid,GetPlayerScore(issuerid) + floatround(amount) / 10);
new Float:life;
GetPlayerHealth(playerid,life);
if((life - amount) <= 0)
{
Morto[playerid] = true;
SendDeathMessage(issuerid,playerid,weaponid);
DeadPlayer(playerid,issuerid,weaponid);
}
return 1;
}
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
{
if (damagedid != INVALID_PLAYER_ID)
{
PlayerPlaySound(playerid, 17802, 0.0, 0.0, 0.0);
}
if(Aj[playerid] == false && GetPlayerSpecialAction(playerid) == 2) return SetPlayerHealth(playerid,0);
switch(weaponid)
{
case 24: amount = 32;
case 9: amount = 10;
case 38: amount = 0;
}
if(Morto[damagedid] == true) return 1;
if(Lagduel[damagedid] == true) return 1;
new Float:Life, Float:Coleete, Float:Dano;
GetPlayerArmour(damagedid,Coleete);
GetPlayerHealth(damagedid,Life);
if(Coleete > 0)
{
if(amount > Coleete)
{
Dano = amount - Coleete;
Life = Life - Dano;
SetPlayerArmour(damagedid, 0.0);
SetPlayerHealth(damagedid, Life);
SetPlayerScore(playerid,GetPlayerScore(playerid) + floatround(amount) / 10);
return 1;
}
SetPlayerScore(playerid,GetPlayerScore(playerid) + floatround(amount) / 10);
Coleete = Coleete - amount;
SetPlayerArmour(damagedid, Coleete);
}
if(Coleete < 1)
{
Life = Life - amount;
SetPlayerScore(playerid,GetPlayerScore(playerid) + floatround(amount) / 10);
SetPlayerHealth(damagedid, Life);
if(Life <= 0)
{
Morto[damagedid] = true;
SendDeathMessage(playerid,damagedid,weaponid);
DeadPlayer(damagedid,playerid,weaponid);
}
}
return 1;
}
pawn Code:
public OnPlayerSpawn(playerid) //deixei sу oq importa aqui, mas tem o resto dos codigos no GM
{
SetPlayerTeam(playerid,1);
return 1;
}
pawn Code:
CMD:duel(playerid)
{
if(Morto[playerid] == true) return SendClientMessage(playerid,azul,"(AVISO): Vocк nгo pode digitar este comando estando morto!");
if(Duel[playerid] != 998) return SendClientMessage(playerid,azul,"(AVISO): Vocк jб estб em um DUEL.");
Duel[playerid] = 999;
SetPlayerInterior(playerid,1);
Lagduel[playerid] = false;
SetPlayerVirtualWorld(playerid,playerid);
SetPlayerPos(playerid,1403.6039,-20.7303,1000.9115);
SetPlayerFacingAngle(playerid,92.2);
new anuncio[80];
format(anuncio,sizeof anuncio,"[DUEL] %s criou um duel! Digite /aceitar {FFFFFF}%d.",GetName(playerid),playerid);
SendClientMessageToAll(verde,anuncio);
return 1;
}
pawn Code:
CMD:aceitar(playerid,params[])
{
if(Morto[playerid] == true) return SendClientMessage(playerid,azul,"(AVISO): Vocк nгo pode digitar este comando estando morto!");
new id;
if(sscanf(params,"d",id)) return SendClientMessage(playerid,azul,"Uso: /aceitar [ID]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,azul,"(AVISO): ID Invalido!");
if(Duel[id] != 999) return SendClientMessage(playerid,azul,"(AVISO): Duel ja comeзou ou nгo existe!");
if(id == playerid) return SendClientMessage(playerid,azul,"(AVISO): Vocк nгo pode aceitar seu proprio duel");
new a[95];
format(a,sizeof a,"[DUEL] {FFFFFF}%s {FF7A17}aceitou duel com {FFFFFF}%s!",GetName(playerid),GetName(id));
SendClientMessageToAll(laranja,a);
Duel[id] = playerid;
Duel[playerid] = id;
Lagduel[playerid] = Lagduel[id];
SetPlayerVirtualWorld(playerid,id);
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,1376.0934,-22.0428,1000.9268);
SetPlayerFacingAngle(playerid,271.4);
SetPlayerPos(id,1403.6039,-20.7303,1000.9115);
SetPlayerFacingAngle(id,92.4);
Contagem(playerid,id);
return 1;
}
pawn Code:
stock EndDuel(winner,loser,bool:dueltype)
{
Duel[winner] = 998;
Duel[loser] = 998;
Player[winner][wins] ++;
Player[loser][losses] ++;
Lagduel[winner] = false;
Lagduel[loser] = false;
SetPlayerTeam(winner,1);
SetPlayerTeam(loser,1);
new wl[132];
new Float:result,Float:life,Float:armour;
GetPlayerArmour(winner,armour);
GetPlayerHealth(winner,life);
result = life + armour;
new type[4];
if(dueltype == true) type = "LAG";
if(result >= 200)
{
format(wl,sizeof wl,"[%sDUEL] O Player {FFFFFF}%s {FF7A17}venceu {FFFFFF}%s de {FFFF22}perfect!",type,GetName(winner),GetName(loser));
}
else
{
format(wl,sizeof wl,"[%sDUEL] O Player {FFFFFF}%s {FF7A17}venceu {FFFFFF}%s, {FF7A17}sobrando {FFFFFF}%d.",type,GetName(winner),GetName(loser),floatround(result));
}
SendClientMessageToAll(laranja,wl);
SetPlayerVirtualWorld(winner,0);
SetPlayerInterior(winner,0);
SetPlayerHealth(winner,100);
SetPlayerArmour(winner,100);
SetPlayerRandomPos(winner);
return 1;
}
(Jб tentei de tudo quanto й jeito, mas nгo consegui, entгo estou socorrendo a ajuda de vcs)