Chciałbym aby ktoś napisał dla mnie plugin bo chciałbym zobaczyc i dowiedzieć się jak zrobić coś w takim stylu jak Advanced Bans. Chodzi mi o to, że po wybraniu kogoś z menu u góry pojawia się możliwość wpisania powodu bana. Chciałbym się dowiedzieć jak zrobić takie coś + dodatkowo zapisać to do nVault.
Gracz wchodzi na serwer i pojawia mu się menu:
[Tytul bla bla]:
1. Imie
2. Nazwisko
Po wybraniu powiedzmy 1 u gory pojawi sie takie cos - Podaj swoje imie: i tutaj piszemy to imie. Tak samo z opcja numer 2.
I te 2 informacje mają się zapisać do nVault
Prosiłbym o napisanie takiego plugina, i uświadomienie mnie jak wykonać takie coś. Gdyby ktoś nie wiedział do końca jak to ma wyglądać to piszcie tutaj.
~Pozdrawiam, Whisper.
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.
|
Guest Message by DevFuse
Menu z nVaultNie wiem czy trafiłem w nazwę tematu...
Temat rozp.
Whisper
, 26.03.2011 20:48
7 odpowiedzi w tym temacie
#1
Napisano 26.03.2011 20:48
#2
Napisano 26.03.2011 21:27
podłączam sie do prop.
#3
Napisano 27.03.2011 11:39
Propozycja?... To nie propozycja tylko chciałbym się dowiedzieć jak zrobić takie coś W każdym razie widzę, że nie tylko ja Proszę o pomoc!
Użytkownik Whisper edytował ten post 27.03.2011 11:40
#4
Napisano 27.03.2011 12:47
Proszę Jeśli by coś nie działało to pisz.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
new g_Vault,mymenu;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("Imie","pobierz");
register_clcmd("Nazwisko","pobierz");
g_Vault = nvault_open("dane");
}
public client_putinserver(id)
{
sprawdz(id);
}
public sprawdz(id)
{
if(get_user_team(id)==0 || get_user_team(id)==3) // Sprawdzamy czy wybrał drużynę
set_task(3.0,"sprawdz",id); //jeśli nie wybrał lub jest na spekcie to wracamy za 3s.
else
pokaz_menu(id) // jeśli wybrał to pokazujemy menu
}
public pokaz_menu(id)
{
mymenu = menu_create("Bla bla","handle_mymenu") // "Bla bla" - tytuł menu
menu_additem(mymenu, "Imie"); // Wybór pierwszy
menu_additem(mymenu, "Nazwisko"); // Wybór drugi
menu_display(id,mymenu,0) // pokazujemy nasze menu
}
public handle_mymenu(id,menu,item)
{
switch(item)
{
case 0:
{
client_cmd(id,"messagemode Imie"); //Wpisujemy Imie
}
case 1:
{
client_cmd(id,"messagemode Nazwisko"); // Wpisujemy nazwisko
}
}
}
public pobierz(id)
{
new said[31];
new cmd[16];
new target[32];
read_args(said, 30);
replace(said, 30, "^"", "");
parse(said, cmd,15, target,31);
if (equal(cmd, "Imie", 4))
{
new imie = cmd_target(id,target,31); // pobieram imie
zapisz_imie(id,imie); // wysylam imie
}
else if(equal(cmd,"Nazwisko",8))
{
new nazwisko=cmd_target(id,target,31); //pobieram nazwisko
zapisz_nazwisko(id,nazwisko); // wysyłam nazwisko
}
}
public zapisz_imie(id,imie)
{
new nick[32];
get_user_name(id, nick, 31);
new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Imie-", nick);
format(vaultdata, 255, "%s", imie); //zapisuję imię
nvault_set(g_Vault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}
public zapisz_nazwisko(id,nazwisko)
{
new nick[32];
get_user_name(id, nick, 31);
new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Imie-", nick);
format(vaultdata, 255, "%s", nazwisko); // zapisuję nazwisko
nvault_set(g_Vault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}
Zapraszam na http://zapalka.net.pl
#5
Napisano 27.03.2011 13:41
Dobrze a jak to pobrać w menu graczy. Wybieram sobie gracza z menu i pokazują się te 2 informacje (Imię, Nazwisko)
Mam taki kod tego menu:
Jak dałem w
Mam taki kod tego menu:
public PlayersMenu(id)
{
new menu = menu_create("\r[XP 4FUN] \wWybierz gracza:", "PlayersMenuHandler");
new players[32], pnum, tempid;
new szName[32], szTempid[10];
get_players(players, pnum);
for( new i; i<pnum; i++ )
{
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName));
num_to_str(tempid, szTempid, charsmax(szTempid));
menu_additem(menu, szName, szTempid, 0);
}
menu_display(id, menu, 0);
}
public PlayersMenuHandler(id, PlayersMenu , item)
{
if( item == MENU_EXIT )
{
menu_destroy(PlayersMenu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(PlayersMenu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new tempid = str_to_num(data);
return PLUGIN_CONTINUE;
}
Jak dałem w
client_print(id, print_chat, "Imie: %s", imie[tempid]);to nie działa.
#6
Napisano 27.03.2011 13:52
spróboj tak:
client_print(id, print_chat, "Imie: %s Nazwisko: %s", imie[id], nazwisko[id]);
#7
Napisano 27.03.2011 14:11
Proszę
Skull, lepiej by było gdybyś się nie odzywał
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
new g_Vault,mymenu,imie[33],nazwisko[33];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("Imie","pobierz");
register_clcmd("Nazwisko","pobierz");
register_clcmd("say /gracze","PlayersMenu");
g_Vault = nvault_open("dane");
}
public client_putinserver(id)
{
wczytaj(id);
sprawdz(id);
}
public sprawdz(id)
{
if(get_user_team(id)==0 || get_user_team(id)==3) // Sprawdzamy czy wybrał drużynę
set_task(3.0,"sprawdz",id); //jeśli nie wybrał lub jest na spekcie to wracamy za 3s.
else if(!imie[id] || !nazwisko[id])
pokaz_menu(id) // jeśli wybrał to pokazujemy menu
}
public pokaz_menu(id)
{
mymenu = menu_create("Bla bla","handle_mymenu") // "Bla bla" - tytuł menu
menu_additem(mymenu, "Imie"); // Wybór pierwszy
menu_additem(mymenu, "Nazwisko"); // Wybór drugi
menu_display(id,mymenu,0) // pokazujemy nasze menu
}
public handle_mymenu(id,menu,item)
{
switch(item)
{
case 0:
{
client_cmd(id,"messagemode Imie"); //Wpisujemy Imie
}
case 1:
{
client_cmd(id,"messagemode Nazwisko"); // Wpisujemy nazwisko
}
}
}
public pobierz(id)
{
new said[31];
new cmd[16];
new target[32];
read_args(said, 30);
replace(said, 30, "^"", "");
parse(said, cmd,15, target,31);
if (equal(cmd, "Imie", 4))
{
imie[id] = cmd_target(id,target,31); // pobieram imie
}
else if(equal(cmd,"Nazwisko",8))
{
nazwisko[id]=cmd_target(id,target,31); //pobieram nazwisko
}
zapisz(id); // wysylam dane
}
public zapisz(id)
{
new nick[32];
get_user_name(id, nick, 31);
new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Imie-", nick);
format(vaultdata, 255, "%s#%s", imie[id],nazwisko[id]); //zapisuję imię
nvault_set(g_Vault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}
public wczytaj(id) {
new nick[32];
get_user_authid(id,nick,31);
new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Imie-", nick);
nvault_get(g_Vault, vaultkey, vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new imie1[32], nazwisko1[32];
parse(vaultdata, imie1, 31, nazwisko1, 31);
imie[id] = str_to_num(imie1);
nazwisko[id] = str_to_num(nazwisko1);
return PLUGIN_CONTINUE;
}
public PlayersMenu(id)
{
new menu = menu_create("\r[XP 4FUN] \wWybierz gracza:", "PlayersMenuHandler");
new players[32], pnum, tempid;
new szName[32], szTempid[10];
get_players(players, pnum);
for( new i; i<pnum; i++ )
{
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName));
num_to_str(tempid, szTempid, charsmax(szTempid));
menu_additem(menu, szName, szTempid, 0);
}
menu_display(id, menu, 0);
}
public PlayersMenuHandler(id, PlayersMenu , item)
{
if( item == MENU_EXIT )
{
menu_destroy(PlayersMenu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(PlayersMenu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new tempid = str_to_num(data);
client_print(id, print_chat, "Imie: %s", imie[tempid]);
return PLUGIN_CONTINUE;
}
Skull, lepiej by było gdybyś się nie odzywał
Zapraszam na http://zapalka.net.pl
#8
Napisano 27.03.2011 14:46
Dziękuje + dla Ciebie Zapalka.
@Skull, tablica[id] w tym przypadku wyświetli zawartość tablicy gracza który na przykład wpisał komendę. Tzn, że jak wpiszesz sobie w Imie: Mietek to jak podasz imie[id] to wyswietli sie TWOJE imie.
@Skull, tablica[id] w tym przypadku wyświetli zawartość tablicy gracza który na przykład wpisał komendę. Tzn, że jak wpiszesz sobie w Imie: Mietek to jak podasz imie[id] to wyswietli sie TWOJE imie.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych