Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Modyfikacja

[Edycja] PrędkościomerzEdycja prędkościomierza...POMOCY !!!

Modyfikacja

  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 Zuraw95

    Nowy

  • Nowy

Reputacja: 2
Nowy

  • Postów:4
  • Lokalizacja:Łódź
Offline

Napisano 21.02.2011 00:36

Witam Użytkowników!

Mam problem. Otóż chcę edytować prędkościomierz który mam na serwerze DR.

SS Standardowego Pluginu:
Dołączona grafika

Cvary Standardowego pluginu:
sm_enabled "1" // 1 - plugin włączony, 0 - plugin wyłączony.
sm_upadte "0.1" // Co ile ma aktualizować się HUD ?

Chodzi mi o to by miał takie funkcje:
  • W TT nie liczy Rekordu Szybkości
  • Nie pokazuje rekordzisty

Kod .sma
#include <amxmodx>
#include <fakemeta>
#include <nvault>
#include <hamsandwich>
#include <amxmisc>


#define PLUGIN "DR: Best Speed"
#define VERSION "1.0"
#define AUTHOR "SilveR"


#define ACCES_RESET ADMIN_IMMUNITY
#define MAX_PLAYERS 32


//Zmienne
new Float:fPlayerMaxSpeed[MAX_PLAYERS+1], Float: fPlayerActualSpeed[MAX_PLAYERS+1], szPlayerName[MAX_PLAYERS+1][32]
new szKeySpeed[32], szKeyName[34]
new bool:NewRecord = false, szMapName[32];
new szChampionName[32], Float:fMapRecord
new nVault
new HudObj
new pcvarEnabled, pcvarUpadte
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
//Cvars
pcvarEnabled = register_cvar("sm_enabled", "1")
pcvarUpadte = register_cvar("sm_upadte", "0.1")
//FM Part
register_forward(FM_PlayerPreThink, "Fw_PlayerPreThink")
register_forward(FM_ClientUserInfoChanged, "Fw_ClientUserInfoChanged", 1)
//Others
get_mapname(szMapName, charsmax(szMapName))
HudObj = CreateHudSyncObj()
register_clcmd("sm_reset", "CmdSpeedReset", ACCES_RESET)
//nVaultPart
formatex(szKeySpeed,63,"%s-Speed",szMapName)
formatex(szKeyName,63,"%s-Name",szMapName)
}
public plugin_cfg()
{
nVault = nvault_open("SpeedRecord")
if (nVault == INVALID_HANDLE)
set_fail_state( "Error opening nVault");

fMapRecord = float(nvault_get(nVault,szKeySpeed))
nvault_get(nVault, szKeyName, szChampionName, 31)

CreateHudBot()
}
public plugin_end()
{
if (!NewRecord)
return

new szNewRecord[32]
float_to_str(fMapRecord, szNewRecord, 31)

nvault_set(nVault,szKeySpeed, szNewRecord)
nvault_set(nVault,szKeyName,szChampionName)
nvault_close(nVault)
}
public client_authorized(id)
{
if (!get_pcvar_num(pcvarEnabled))
return

get_user_name(id, szPlayerName[id], 31)
fPlayerMaxSpeed[id] = 0.0
}
public Fw_ClientUserInfoChanged(id)
{
get_user_name(id, szPlayerName[id], 31)
}
public Fw_PlayerPreThink(id)
{
if (!is_user_alive(id)|| !get_pcvar_num(pcvarEnabled))
return FMRES_IGNORED;

fPlayerActualSpeed[id] = Player_Speed(id)

if (fPlayerActualSpeed[id] > fPlayerMaxSpeed[id])
fPlayerMaxSpeed[id] = fPlayerActualSpeed[id]

return FMRES_IGNORED;
}
public CreateHudBot()
{
new Bot = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"));

if(!pev_valid(Bot))
return;

set_pev(Bot, pev_classname, "HudBot");
set_pev(Bot, pev_nextthink, get_gametime()+ get_pcvar_float(pcvarUpadte))

RegisterHamFromEntity(Ham_Think, Bot, "Think_HudBot")
}
public Think_HudBot(Bot)
{
if (!pev_valid(Bot))
return HAM_IGNORED;

if (get_pcvar_num(pcvarEnabled))
{
new iPlayers[32], iNum, id
get_players(iPlayers, iNum)
for(new i= 0; i<iNum; i++)
{
id = iPlayers[i];
if (!is_user_alive(id))
continue
set_hudmessage(255, 170, 42, 0.7, 0.2, 1, 0.01, get_pcvar_float(pcvarUpadte), 0.01, 0.01, 3)
ShowSyncHudMsg(id, HudObj, "Twoja predkosc: %.2f^nTwoj vMax: %.2f^nRekord Mapy: %.2f^nRekordzista: %s", fPlayerActualSpeed[id], fPlayerMaxSpeed[id], fMapRecord,szChampionName)

if (fPlayerMaxSpeed[id] > fMapRecord)
SetNewRecord(fPlayerMaxSpeed[id], szPlayerName[id])
}
}

set_pev(Bot, pev_nextthink, get_gametime()+get_pcvar_float(pcvarUpadte))

return HAM_IGNORED;
}
stock SetNewRecord(Float:Speed, Name[32])
{
fMapRecord = Speed
szChampionName = Name
NewRecord = true
}
stock Float:Player_Speed(id)
{
new Float:fVect[3]
pev(id, pev_velocity,fVect)
return floatsqroot(fVect[0]*fVect[0]+fVect[1]*fVect[1])
}
public CmdSpeedReset(id, level, cid)
{
if(!cmd_access(id,level, cid, 1))
return PLUGIN_HANDLED;

new iPlayers[32], iNum
get_players(iPlayers, iNum)
for(new i=0; i<iNum; i++)
fPlayerMaxSpeed[iPlayers[i]] = 0.0

SetNewRecord(0.0, "Brak")
client_print(id, print_console, "[cs-NET # REKORD] Rekord szybkosci na mapie zostal zresetowany")
return PLUGIN_HANDLED
}


Ten sam kod jest w załączniku.

Proszę o edytowanie tego pluginu.
  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 21.02.2011 15:01

Speedmeter z rekordami - AMXX.pl: Support AMX Mod X
tam ustawiasz cvarami
sm_enabled "1" // 1 - Plugin włączony 0 - Plugin Wyłączony
sm_upadte "0.1" // Co ile ma aktualizować się HUD (Napis z prawej strony ekranu) Standardowo 0.1
sm_terro "1" // 1 - Sprawdza również speed również u terro, 0 - nie sprawdza speeda u terro
  • +
  • -
  • 0

If you can dream it, you can do it.






Również z jednym lub większą ilością słów kluczowych: Modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych