26.02.2010, 03:22
bueno esto lo hago a pedido de un amigo y a lo mejor le sirva a alguien mas
es un simple sistema de warning para evitar el teamkill
si x algo esta mal me avisan...
en fin arriba de todo colocamos lo siguiente
ahora en OnPlayerDeath
en caso de querer hacer un comando para q los player puedan salir de la carcel con dinero colocamos lo siguiente en OnPlayerCommandText
bien eso es todo espero q les sirva
NOTA: avisen cualquier error y los ayudare a corregirlos
suerte salu2
es un simple sistema de warning para evitar el teamkill
si x algo esta mal me avisan...
en fin arriba de todo colocamos lo siguiente
pawn Код:
static teamkills[MAX_PLAYERS];
static tknow[MAX_PLAYERS];
forward teamkill(playerid);
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
new name[MAX_PLAYER_NAME];
new warning[256];
if (gTeam[playerid] == gTeam[killerid]) { //modificamos gTeam x su definicion de equipos,en caso de ser esta lo dejamos asi
GivePlayerMoney(killerid, -1000); //esto es dinero q se le descontara al q mato al compaсero, pueden modificarlo a su gusto o eliminarlo
if (teamkills[killerid] == 0) {
format(warning, sizeof(warning), "Mataste un compaсero de equipo! %s. 1/3", name); //primer warn sale solo un mensaje q pueden modificar
SendClientMessage(killerid, 0xFFFF00AA, warning);
} else if (teamkills[killerid] == 1) {
SetPlayerInterior(killerid,6);
SetPlayerPos(killerid,264.6296,77.1372,1001.0390);
ResetPlayerWeapons(killerid);
SendClientMessage(killerid, 0xFFFF00AA, "Fuiste preso por matar un compaсero de equipo 2/3"); //segundo warn el q hace 2 teamkill sale en mensaje y va a la carcel
SetTimer("RescueTK", 120000, 1); //esto es el tiempo q el jugador estara en la carcel, pueden modificarlo a su gusto
tknow[killerid]=1;
} else {
SendClientMessage(killerid, 0xFFFF00AA, "Fuiste autokickeado por matar un compaсero de equipo 3/3"); //tercer warn el q hace x tercera vez teamkill es automaticamente kickeado del server xq se ve q no entiende xD
Kick(killerid);
}
}
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
else if (strfind(cmdtext,"/rescate",false,0) == 0) {
if (tknow[playerid] == 0) {
SendClientMessage(playerid, COLOR_COMMAND, "No estas en la carcel."); //pueden modificar el texto si haci lo desean
return 1;
}
if (GetPlayerMoney(playerid) < 5000) { //es el monto q debera pagar el player para salir de lacarcel , el cual pueden modificar
SendClientMessage(playerid, COLOR_COMMAND, "No te alcanza.");
return 1;
}
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1553.0318,-1675.4394,16.1953);
GivePlayerMoney(playerid,-5000); //si modifican el monto deben modificarlo aqui tambien, ya q es el dinero q se le descuenta al jugador
tknow[playerid]=0;
return 1;
} else {
return 0;
}
return 1;
}
bien eso es todo espero q les sirva
NOTA: avisen cualquier error y los ayudare a corregirlos
suerte salu2