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

Menu z nVaultNie wiem czy trafiłem w nazwę tematu...


  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 Whisper

    Zaawansowany

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:80
  • Imię:Marcin
  • Lokalizacja:Polska
Offline

Napisano 26.03.2011 20:48

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.
  • +
  • -
  • 0

Dołączona grafika


#2 Skull3D

    Wszechmogący

  • Zbanowany

Reputacja: 102
Zaawansowany

  • Postów:651
  • Imię:Andrzej
  • Lokalizacja:AMXX.PL
Offline

Napisano 26.03.2011 21:27

podłączam sie do prop.

#3 Whisper

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:80
  • Imię:Marcin
  • Lokalizacja:Polska
Offline

Napisano 27.03.2011 11:39

Propozycja?... To nie propozycja tylko chciałbym się dowiedzieć jak zrobić takie coś :D W każdym razie widzę, że nie tylko ja :D Proszę o pomoc! :)

Użytkownik Whisper edytował ten post 27.03.2011 11:40

  • +
  • -
  • 0

Dołączona grafika


#4 Zapalka

    Wszechwidzący

  • Użytkownik

Reputacja: 194
Profesjonalista

  • Postów:283
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Janów Lubelski
Offline

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;
}

  • +
  • -
  • 0
Zapraszam na http://zapalka.net.pl

#5 Whisper

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:80
  • Imię:Marcin
  • Lokalizacja:Polska
Offline

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:

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.
  • +
  • -
  • 0

Dołączona grafika


#6 Skull3D

    Wszechmogący

  • Zbanowany

Reputacja: 102
Zaawansowany

  • Postów:651
  • Imię:Andrzej
  • Lokalizacja:AMXX.PL
Offline

Napisano 27.03.2011 13:52

spróboj tak:
client_print(id, print_chat, "Imie: %s Nazwisko: %s", imie[id], nazwisko[id]);


#7 Zapalka

    Wszechwidzący

  • Użytkownik

Reputacja: 194
Profesjonalista

  • Postów:283
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Janów Lubelski
Offline

Napisano 27.03.2011 14:11

Proszę :)
/* 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ł :)
  • +
  • -
  • 3
Zapraszam na http://zapalka.net.pl

#8 Whisper

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:80
  • Imię:Marcin
  • Lokalizacja:Polska
Offline

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.
  • +
  • -
  • 0

Dołączona grafika





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

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