←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Nowy Plugin
Prośba o napisanie pluginu.

Zablokowany

  • +
  • -
Zapalka - zdjęcie Zapalka 22.03.2010

Witam, chciałbym poprosić osobę która jest chętna mi pomóc aby napisała mi plugin.
Plugin ma wyglądać tak :
- Nazwa pluginu Bank fragów
- Komenda na otworzenie banku /bank
- W menu mają być do wyboru, Wpłać fragi, Wypłać fragi, Sprawdź ilość fragów, Wyjście
- Po otworzeniu menu i wybraniu opcji Wpłać/Wypłać fragi wpisuje się ilość fragów w messagemode
- Fragi graczy zapisują się w configs/bank.txt

Chciałbym jeszcze się dowiedzieć jak zrobić aby fragi normalnie dochodziły z tabeli wyników i wchodziły, tzn. jak np. dodam sobie 100 fragów to aby one od razu pojawiały się na tabeli wyników. Chodzi mi o wyjaśnienie jak to zrobić, gdyż mam plugin Sklep za fragi i gdy coś kupie to te fragi się odjęły ale w tabeli wyników jest ciągle taka sama ilość dopiero po pewnym czasie lub w następnej rundzie ilość fragów się zmienia.
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 23.03.2010

@Sklep za fragi
po odjęciu graczowi fragów trzeba wysłać wiadomość ScoreInfo do wszystkich graczy
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 23.03.2010

@Sklep za fragi
po odjęciu graczowi fragów trzeba wysłać wiadomość ScoreInfo do wszystkich graczy

A mógłbyś dokładnie napisać jak mam to wysłać do gracza ??
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 23.03.2010

Na samej górze
new g_msgScoreInfo[sma]

W plugin_init
[sma]g_msgScoreInfo = get_user_msgid("ScoreInfo");[/sma]

W funckji gdzie dodaje fragi
[sma]set_score(AtkID,Player,1)[/sma]

Nowa funkcja/w tamtej z pluginu
[sma]set_score(id,target,hitscore,HP){

new idfrags = pev_user_frags(id) + hitscore// get_user_frags(id) + hitscore
set_user_frags(id,idfrags)
//set_user_frags(id, idfrags)
//entity_set_float(id, EV_FL_frags, float(idfrags))

new tarfrags = pev_user_frags(target) + 1 //get_user_frags(target) + 1
set_user_frags(target,tarfrags)
//set_user_frags(target,tarfrags)
//entity_set_float(target, EV_FL_frags, float(tarfrags))

new idteam = int:cs_get_user_team(id)
new iddeaths = cs_get_user_deaths(id)


message_begin(MSG_ALL, g_msgDeathMsg, {0, 0, 0} ,0)
write_byte(id)
write_byte(target)
write_byte(0)
write_string(ENT_CLASS_NAME)
message_end()

message_begin(MSG_ALL, g_msgScoreInfo)
write_byte(id)
write_short(idfrags)
write_short(iddeaths)
write_short(0)
write_short(idteam)
message_end()

set_msg_block(g_msgDeathMsg, BLOCK_ONCE)
}
[/sma]

Nad set_score
[sma]stock set_user_frags(index, frags)
{
set_pev(index, pev_frags, float(frags))

return 1
}

stock pev_user_frags(index)
{
new Float:frags;
pev(index,pev_frags,frags);
return floatround(frags);
}


Resztę niech dopiszą inni bo się za dobrze nie znam ^^
Info/funkcję zaczerpnięte z : Przerobienie pluginu LaserMine - Nieoficjalny polski support AMX Mod X
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 23.03.2010

Wyskakują mi takie błędy:

Error: Symbol already defined: "set_user_frags" on line 85
Error: Invalid function or declaration on line 89
Warning: Symbol is never used: "set_score" on line 409

2 Errors.
Could not locate output file C:\Documents and Settings\kulpa\Pulpit\pluginy\sklep.amx (compile failed).

Zrobiłem to tak:
na początku wkleiłem to:
new g_msgScoreInfo

później w plugin_init to:
g_msgScoreInfo = get_user_msgid("ScoreInfo")

następnie to:

stock set_user_frags(index, frags)
{
set_pev(index, pev_frags, float(frags))

return 1
}

stock pev_user_frags(index)
{
new Float:frags;
pev(index,pev_frags,frags);
return floatround(frags);
}


set_score(id,target,hitscore,HP){

new idfrags = pev_user_frags(id) + hitscore// get_user_frags(id) + hitscore
set_user_frags(id,idfrags)
//set_user_frags(id, idfrags)
//entity_set_float(id, EV_FL_frags, float(idfrags))

new tarfrags = pev_user_frags(target) + 1 //get_user_frags(target) + 1
set_user_frags(target,tarfrags)
//set_user_frags(target,tarfrags)
//entity_set_float(target, EV_FL_frags, float(tarfrags))

new idteam = int:cs_get_user_team(id)
new iddeaths = cs_get_user_deaths(id)


message_begin(MSG_ALL, g_msgDeathMsg, {0, 0, 0} ,0)
write_byte(id)
write_byte(target)
write_byte(0)
write_string(ENT_CLASS_NAME)
message_end()

message_begin(MSG_ALL, g_msgScoreInfo)
write_byte(id)
write_short(idfrags)
write_short(iddeaths)
write_short(0)
write_short(idteam)
message_end()

set_msg_block(g_msgDeathMsg, BLOCK_ONCE)
}

Użytkownik Zapalka edytował ten post 23.03.2010 15:07
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 23.03.2010

bo jak masz zaincludowany fun to tam juz jest taka funkcja wiec nie mozesz jej definiowac jako stock jeszcze raz :/

a tak w ogóle to czy set_user_frags nie uaktualnia wpisu w tabeli :?:
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 25.03.2010

bo jak masz zaincludowany fun to tam juz jest taka funkcja wiec nie mozesz jej definiowac jako stock jeszcze raz :/

a tak w ogóle to czy set_user_frags nie uaktualnia wpisu w tabeli :?:


zamieniłem set_user_frags na cs_set_user_frags i już się kompiluje :] thx ;P a teraz jeszcze bym poprosił kogoś o wykonanie tego Banku :D

25 marzec 2010 - 14:13:
#REFRESH
Napisze mi ktoś ten plugin ??
Użytkownik Zapalka edytował ten post 25.03.2010 14:13
Odpowiedz
Zablokowany