19.02.2011, 08:22
(
Последний раз редактировалось steki.; 20.02.2011 в 15:42.
)
Oi. :3
Essa й minha primeira release, justamente porque aprendi format, PVar, e fini (o qua nгo й dificil) Mas eu fiz e gostaria de compartilhar. Pode nгo ser um script muito otmizado, mas vocк pode me ajudar ._.
Versгo antiga (eu)
Versгo nova (Drakins)
Versгo nova nova (eu)
Lembrando que vocк precisa do OPSP. (onPlayerShootPlayer) https://sampforum.blast.hk/showthread.php?tid=195439
Lembrando tambйm que vocк pode tirar a mensagem pro player pra nгo floodar.
As armas tipo minigun nгo dгo 482390480923 tiros em um segundo. Mas a cada segundo, ela dб UM tiro que tira 46 de damage. Mas, no lag nгo й totalmente possivel fazer isso. Por que usa IsPlayerAimingAt. Mas, para server RP onde as pessoas tem cйrebro, funciona perfeitamente.
Obrigado pela atenзгo u.u
Essa й minha primeira release, justamente porque aprendi format, PVar, e fini (o qua nгo й dificil) Mas eu fiz e gostaria de compartilhar. Pode nгo ser um script muito otmizado, mas vocк pode me ajudar ._.
Versгo antiga (eu)
pawn Код:
public OnPlayerShootPlayer(shooter,target,Float:damage)
{
new nome[MAX_PLAYER_NAME],msg[80], nomeshooter[MAX_PLAYER_NAME], nometarget[MAX_PLAYER_NAME], shootlog[70]; // Aqui cria as Variaveis para colocar os dados para juntar e fazer uma linha para mandar pro player
GetPlayerName(shooter,nome,sizeof(nome)); // Aqui ele pega o nome do player e guarda ele na string "name"
format(msg,sizeof(msg),"(( %s atirou em vocк e tirou %.1f de dano. ))",name,damage); // Com isso, Ele usa o nome e a float damage, que jб й retornada na callback pra formatar a mensagem.
SendClientMessage(target,0xFFFFFFAA,msg); //aqui ele sу manda
GetPlayerName(target,nome,sizeof(nome)); // Aqui pega o nome do cara que levou bala e coloca na mesma string 'nome'
format(msg,sizeof(msg),"(( Vocк atirou em %s e tirou %.1f de dano. ))",name,damage); // Aqui formata a mensagem pro shooter
SendClientMessage(shooter,0xFFFFFFAA,msg); // aqui manda pra ele
GetPlayerName(shooter,nomeshooter,sizeof(nomeshooter)); // aqui pega o nome dos dois
GetPlayerName(target,nometarget,sizeof(nometarget)); // aqui tbem
format(shootlog, sizeof(shootlog), " Aviso de tiro: %s atirou em %s e tirou %.1f de dano ", nomeshooter, nometarget, damage); // aqui formata os dados do tiro para o log
new tempo[50], Year, Month, Day, Hour, Minute, Second; // aqui cria as variaveis de tempo
gettime(Hour, Minute, Second); // aqui pega a hora
getdate(Year, Month, Day); // a data
format(tempo, sizeof(tempo), "%02d/%02d/%d - %02d:%02d:%02d", Day, Month, Year, Hour, Minute, Second); // aqui formata a 'timestamp'
if(!Fini_Exists("shootlog.txt"))
Fini_Create("shootlog.txt"); // se nг tiver, cria um arquivo chamado shootlog.txt
Fini_OpenFile("shootlog.txt"); // abre
Fini_SetStr(tempo, shootlog); // coloca a timestamp e os dados do tiro
Fini_SaveFile(); // salva
Fini_CloseFile(); // fecha
return 1;
}
pawn Код:
public OnPlayerShootPlayer(shooter,target,Float:damage)
{
static
sShooter[24],
sTarget[24],
sString[80],
iYear,iMonth,iDay,iHour,iMinute,iSecond;
//Target
GetPlayerName(shooter,sShooter,22);
format(sString,64,"(( %s atirou em vocк e tirou %.1f de dano. ))",sShooter,damage);
SendClientMessage(target,0xFFFFFFAA,sString);
//Shootter
GetPlayerName(target,sShooter,22);
format(sString,64,"(( Vocк atirou em %s e tirou %.1f de dano. ))",sShooter,damage);
SendClientMessage(target,0xFFFFFFAA,sString);
//Hora de Data
gettime(iHour, iMinute, iSecond);
getdate(iYear, iMonth, iDay);
format(sShooter,80, "%02d/%02d/%d - %02d:%02d:%02d", iDay, iMonth, iYear, iHour, iMinute, iSecond);
//Salvar
if(!Fini_Exists("iShotLog.txt"))
{
Fini_Create("iShotLog.txt");
}
Fini_OpenFile("iShotLog.txt");
{
Fini_SetStr(tempo, iShotLog);
Fini_SaveFile();
Fini_CloseFile();
}
return true;
}
Versгo nova nova (eu)
pawn Код:
public OnPlayerShootPlayer(shooter,target,Float:damage)
{
static
sShooter[24],
sTarget[24],
sString[80],
iYear,iMonth,iDay,iHour,iMinute,iSecond,
sTime[35],
sShotMsg[100];
//Target
GetPlayerName(shooter,sShooter,22);
format(sString,64,"(( %s atirou em vocк e tirou %.1f de dano. ))",sShooter,damage);
SendClientMessage(target,0xFFFFFFAA,sString);
//Shootter
GetPlayerName(target,sTarget,22);
format(sString,64,"(( Vocк atirou em %s e tirou %.1f de dano. ))",sTarget,damage);
SendClientMessage(target,0xFFFFFFAA,sString);
//Hora de Data
gettime(iHour, iMinute, iSecond);
getdate(iYear, iMonth, iDay);
// Formatando
format(sTime,35, "%02d/%02d/%d - %02d:%02d:%02d", iDay, iMonth, iYear, iHour, iMinute, iSecond);
format(sShotMsg,100,"Aviso de tiro: %s atirou em %s e tirou %.1f de dano",sShooter,sTarget,damage);
//Salvar
if(!Fini_Exists("iShotLog.txt"))
{
Fini_Create("iShotLog.txt");
}
Fini_OpenFile("iShotLog.txt");
{
Fini_SetStr(sTime, sShotMsg);
Fini_SaveFile();
Fini_CloseFile();
}
return true;
}
Lembrando que vocк precisa do OPSP. (onPlayerShootPlayer) https://sampforum.blast.hk/showthread.php?tid=195439
Lembrando tambйm que vocк pode tirar a mensagem pro player pra nгo floodar.
As armas tipo minigun nгo dгo 482390480923 tiros em um segundo. Mas a cada segundo, ela dб UM tiro que tira 46 de damage. Mas, no lag nгo й totalmente possivel fazer isso. Por que usa IsPlayerAimingAt. Mas, para server RP onde as pessoas tem cйrebro, funciona perfeitamente.
Quote:
18/02/2011 - 22:13:43= Aviso de tiro: Dominick_Cruz atirou em Stewie e tirou 46.0 de dano |