Strona główna | Użytkownicy | Grupy | Szukaj | Rejestracja |
 
| Rejestracja

Serwer War3 cs Warcraft 3 mod 80.72.41.210:27228 [S/NS] steam
Serwer Diablomod Diablomod 194.149.88.242:27017 [S/NS] steam
Serwer FFA FFA 193.33.177.14:27231 [S/NS] steam
Serwer Pokemod Pokemod 91.210.130.90:27004 [S/NS] steam
Serwer Minecraft Minecraft mc.volta-sq.pl:32403 1.2.4
Serwer Teamspeak 3 TeamSpeak ts.volta-sq.pl 3.0

Scripting Pomoce dotyczące pisania pluginów w Pawnie, funkcje, cs_get, set, warunki i pętle, które pozwolą napisać Ci Twój wymarzony plugin do gry Counter-Strike!

Odpowiedz

Odsłon tematu: 838  
Stare 28-06-11, 19:04   #1

 
radim99
 
Posty: 210


[PokemodDolar] Naprawa pluginu

Mam wszystko tak jak tu : http://volta-sq.pl/pluginy-amxx-28/6...tml#post225477 , ale mam problem. Zmieniłem sobie komendę "wyslij <gracz> <iloscPD>" na "givepd <gracz> <iloscPD>" i z tym nie ma problemu. Do tej pory wszytko działało, gdy kupiło się Pokemona Legendę to się go od razu dostawało, ale jest pewniem problem. Wychaczyłem pewien bug. Po wpisaniu "givepd janusz -1000" graczowi o nicku janusz zostały usunięte -1000 PD, a za to mi dodane 1000. Tak wygląda mój public Send:
Spoiler:
public Send(id){
static args[256];
read_args(args, 255);
remove_quotes(args);

new szCmd[15], szNick[32], szPD[12];


new parsed = parse(args, szCmd, 14, szNick, 31, szPD, 11)
if(parsed && equali(szCmd, "givepd")){
if(parsed < 3){
client_print(id, print_chat, "Uzycie: givepd <Gracz> <PD>");
return PLUGIN_HANDLED;
}

new Player = cmd_target( id, szNick, CMDTARGET_ONLY_ALIVE & CMDTARGET_NO_BOTS );
if(!Player){
ColorChat(id, GREEN, "[PD] ^x03Gracz %s nie istnieje.", szNick);
return PLUGIN_HANDLED;
}

new iPD = str_to_num(szPD);

if(iPD < 1)
return PLUGIN_HANDLED;

if( pd[id] < iPD){
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PD.");
return PLUGIN_HANDLED;
}

TakePD(id, iPD);
AddPD(Player, iPD);

new szNick2[32];
get_user_name(id, szNick2, 31);
get_user_name(Player, szNick, 31);

ColorChat(id, GREEN, "[PD] ^x03Wyslales ^x01 %s ^x03 %d ^x01 PD", szNick, iPD);
ColorChat(Player, GREEN, "[PD] ^x01 %s ^x03Wyslal Tobie ^x01 %d ^x03 PD", szNick2, iPD);


return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

Aby rozwiązać ten bug z wysyłaniem, to w public Send, dodałem
Spoiler:
if(iPD < 1)
return PLUGIN_HANDLED;

Po dodaniu, wszystko pięknie się skompilowało, wgrałem ten plugin i wchodzę na serwa. Dodałem sobie 600 PD i chciałem zobaczyć czy wszytko działa. Z kupowaniem Expa i Pralki nie było problemów, ale z kupnem legend owszem. Gdy wybrałem jakąś legendę do kupienia, na dole pisało "[PD]Kupiłeś np. Mew" , ale go nie dostałem. Ten dodatek co dodałem ma jakiś wpływ na kupowanie legend. Nie wiem jaki i dlatego zwracam się do was. Jeśli potraficie to poprawić to będę bardzo wdzięczny.
Attached Files
Typ pliku: sma gggPD.sma (14.1 KB, 1 views)
  Cytuj
Stare 28-06-11, 19:28   #2

 
Arnoldo
 
Wiek: 20
Posty: 339


Odp: [PokemodDolar] Naprawa pluginu

Wyślij link do tematu Dhair'owi na PW, jak znajdzie czas to zapewne looknie
  Cytuj
Stare 28-06-11, 19:30   #3

 
radim99
 
Posty: 210


Odp: [PokemodDolar] Naprawa pluginu

dobra
  Cytuj
Stare 28-06-11, 21:13   #4

 
dhair
 
Wiek: 25
Posty: 447


Odp: [PokemodDolar] Naprawa pluginu

Niestety nie mogłem skompilować bo nie mam wszystkich include'ów, więc musisz spróbować sam. Myślę że powinno działać

Zoptymalizowany kod w spoilerze:
Spoiler:
rejestracja


Pozdrawiam,
dhair
radim99 pomógł ten post.
  Cytuj
Stare 29-06-11, 08:03   #5

 
radim99
 
Posty: 210


Odp: [PokemodDolar] Naprawa pluginu

Nadal nie mogę kupić legendy. Gdy piszę /pd otwiera mi się menu. Wybieram "Kup Lepsza Legende", chcę kupić Mew, wybieram go, ale go nie dostaję. Piszę na dole [PD] Kupiles Mew. , ale nie dostaję go i nie mam go przy sobie.
  Cytuj
Stare 29-06-11, 09:05   #6

 
dhair
 
Wiek: 25
Posty: 447


Odp: [PokemodDolar] Naprawa pluginu

Wiesz co, jeżeli nadal nie możesz dostać legendy, a pojawia Ci się informacja że już go masz, to znaczy że plugin wykonuje poprawnie swoje założenia.
Podpowiem Ci co możesz sprawdzić:
Sprawdź logi serwera, poszukaj komendy Poke_Give_Poke(id, 151, 1);
Sprawdź czy komenda Poke_Give_Poke(id, 151, 1); jest możliwa do wykonania z linii komend serwera, albo czy plugin pokemod pobsługuje taką komendę, bo może po prostu być tak, że plugin wysyła komendę na konsolę serwera, a ta komenda dla tej wersji pokemoda wygląda nieco inaczej i w efekcie jest ignorowana przez plugin pokemoda, a komunikat wyświetla Ci się swoją drogą..

Spójrz, chodzi mi o ten wycinek:
Spoiler:
case 1:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Mewa.")
}
else
{
Poke_Give_Poke(id, 151, 1);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Mewa!")
}
}

Aha, nie zapomnij w miejsce 'id' wstawić numeru gracza na serwerze! Bo inaczej i tak Ci ta komenda nie zadziała.

Pozdrawiam,
d
  Cytuj
Stare 29-06-11, 10:45   #7

 
radim99
 
Posty: 210


Odp: [PokemodDolar] Naprawa pluginu

Jeszcze, jak ściągnąłem o to : http://volta-sq.pl/pluginy-amxx-28/6...tml#post225477 i wgrałem na serwer bez żadnych zmian w tym pluginie to można było kupić legende. Działało to bez problemów.
W miejsce 'id' wstawić numer gracza? O jaki numer chodzi ?

Dodane po 1 4 minuty:

Dhair, ja mam Pokemoda Season 2 by Hib i ten pokemod psługuje się tą komendą.
  Cytuj
Stare 29-06-11, 11:19   #8

 
dhair
 
Wiek: 25
Posty: 447


Odp: [PokemodDolar] Naprawa pluginu

podaj mi na pw link skąd mogę ściągnąć tą wersję pokemoda co Ty masz (potrzebuję .sma i includy do tego) i jak będę w domu to sobie to całe skompiluje i potestuje na serwerze w trybie online i dam Ci tu znać jak już znajdę w czym problem.
  Cytuj
Stare 29-06-11, 14:07   #9

 
radim99
 
Posty: 210


Odp: [PokemodDolar] Naprawa pluginu

Już wysłałem, teraz czekam na Twoją pomoc
  Cytuj
Stare 29-06-11, 17:21   #10

 
dhair
 
Wiek: 25
Posty: 447


Odp: [PokemodDolar] Naprawa pluginu

nie dostałem nic jeszcze od Ciebie na pw
  Cytuj
Stare 29-06-11, 18:14   #11

 
radim99
 
Posty: 210


Odp: [PokemodDolar] Naprawa pluginu

poszło
  Cytuj
Stare 29-06-11, 19:02   #12

 
dhair
 
Wiek: 25
Posty: 447


Odp: [PokemodDolar] Naprawa pluginu

Problem tkwi w tym, że ten plugin z którym masz problemy, rozdaje pokemony poprzez odwoływanie się do numerów pokemonów, a nie do ich bezpośrednich nazw.
Z kolei plugin pokemoda odwołuje się do nazw pokemonów a nie do ich numerów. Tutaj jest konflikt. Dlatego nie dostajesz pokemonów, bo polecenie Poke_Give_Poke(id, 151, 1); nie jest rozpoznawalne przez tę wersję moda.
Zoptymalizowałem kod pluginu, aby działał z twoją wersją pokemona.
Kwestia jest taka, że sprawdziłem to tylko na kupowaniu pierwszej legendy - Mew. Sprawdź pozostałe. W razie dalszych problemów - pisz.
Kod w spoilerze:
Spoiler:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <pokemod>
#include <colorchat>

#define PLUGIN "Pokemon Dolar"
#define TWORCA "Raku"
#define VERSION "1.6"

new save
new pd[33];
new nick_docelowy[33];

new g_pKill, g_pPayXp, g_pGiveXp, g_pPayGoodLegend, g_pPayLowLegend, g_pPayRandom, g_pRandomXpMin, g_pRandomXpMax, g_pGetXp;

public plugin_init()
{
register_plugin(PLUGIN, TWORCA, VERSION);
register_event("DeathMsg", "DeathMsg", "a");
save=nvault_open("pdsave");
register_concmd("pd_give", "GivePD",ADMIN_IMMUNITY ,"dodaje expa nick i ile");
register_concmd("pd_take", "DeletePD",ADMIN_IMMUNITY ,"dodaje expa nick i ile");
register_clcmd("say", "Send");
register_clcmd("say /pd", "pdmenu");
g_pKill = register_cvar("pd_kill", "1");
g_pGetXp = register_cvar("pd_getxp", "1");
g_pPayXp = register_cvar("pd_costexp", "10");
g_pPayGoodLegend = register_cvar("pd_costgoodlegend", "800");
g_pPayLowLegend = register_cvar("pd_costlowlegend", "600");
g_pPayRandom = register_cvar("pd_costrandom", "10");
g_pGiveXp = register_cvar("pd_givexp", "1000");
g_pRandomXpMin = register_cvar("pd_minexp", "0");
g_pRandomXpMax = register_cvar("pd_maxexp", "2000");
}

public client_connect(id)
{
Load_PD(id)
set_task(3.0, "Life", id, _, _, "b");
}

public client_disconnect(id)
{
Save_PD(id)
}

public plugin_end()
{
nvault_close(save)
}

public Life(id)
{
if(is_user_alive(id))
{
set_hudmessage(255, 0, 0, 0.0, 0.88, 0, 6.0, 7.0)
show_hudmessage(id, "Pokemon Dolar: %d", pd[id])
}
}

public pdmenu(id)
{
new menu = menu_create("\rPokemon Dolar Menu:", "pdmenu_wybierz")
new cost = get_pcvar_num(g_pPayXp)
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)
new costlowlegend = get_pcvar_num(g_pPayLowLegend)
new costrandom = get_pcvar_num(g_pPayRandom)
static String[128];

formatex(String, charsmax(String), "Kup Expa \r(%dPD)", cost);
menu_additem(menu,String, "1", 0)

formatex(String, charsmax(String), "Kup Lepsza Legende \r(%dPD)", costgoodlegend);
menu_additem(menu,String, "2", 0)

formatex(String, charsmax(String), "Kup Slabsza Legende \r(%dPD)", costlowlegend);
menu_additem(menu,String, "3", 0)

formatex(String, charsmax(String), "Pralka \r(%dPD)", costrandom);
menu_additem(menu,String, "4", 0)

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)
return PLUGIN_HANDLED
}

public pdmenu_wybierz(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:
{
new pd_player = pd[id]
new cost = get_pcvar_num(g_pPayXp)
new xp = get_pcvar_num(g_pGiveXp)

if( pd_player < cost)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle pd, aby kupic ^x01 Expa.")
}
else
{
Poke_Give_XP(id, -1, xp);
TakePD(id, cost);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 %d ^x03 Expa!", xp)
}
}
case 2:
{
new menu = menu_create("\rPokemon Dolar Menu:", "goodlegenda_wybierz")

menu_additem(menu, "\wMew", "1", 0)
menu_additem(menu, "\wMoltres", "2", 0)
menu_additem(menu, "\wZapdos", "3", 0)
menu_additem(menu, "\wMewtwo", "4", 0)
menu_additem(menu, "\wHo-oh", "5", 0)
menu_additem(menu, "\wCelebi", "6", 0)

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
case 3:
{
new menu = menu_create("\rPokemon Dolar Menu:", "lowlegenda_wybierz")

menu_additem(menu, "\wArticuno", "1", 0)
menu_additem(menu, "\wUnown", "2", 0)
menu_additem(menu, "\wRaikou", "3", 0)
menu_additem(menu, "\wEntei", "4", 0)
menu_additem(menu, "\wSuicune", "5", 0)
menu_additem(menu, "\wLugia", "6", 0)

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
case 4:
{
new pd_player = pd[id]
new cost = get_pcvar_num(g_pPayRandom)
new minexp = get_pcvar_num(g_pRandomXpMin)
new maxexp = get_pcvar_num(g_pRandomXpMax)

if( pd_player < cost)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle pd, aby kupic ^x01 Expa.")
}
else
{
switch(random_num(1, 2))
{
case 1:
{
new select = random_num(minexp, maxexp)
Poke_Give_XP(id, -1, select);
TakePD(id, cost);
ColorChat(id, GREEN, "[PD] ^x03Wylosowales ^x01 %d ^x03 Expa!", select)
}
case 2:
{
//new poke; do { poke = random_num(1, 151)
//} while( poke == 151 || poke == 144 || poke == 146 || poke == 145 );
//server_cmd("pm_givepoke %s poke 1",nick_docelowy)
//TakePD(id, cost);
ColorChat(id, GREEN, "[PD] ^x03Wylosowalbys ^x01 pokemona, ^x03ale pralka pokemonow jeszcze nie dziala! Zglos to adminowi!")
}
}
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public goodlegenda_wybierz(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)


get_user_name( id, nick_docelowy, charsmax(nick_docelowy));


new key = str_to_num(data)

switch(key)
{

case 1:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Mewa.")
}
else
{
server_cmd("pm_givepoke %s Mew 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Mewa!")
}
}
case 2:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Moltresa.")
}
else
{
server_cmd("pm_givepoke %s Moltres 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Moltresa!")
}
}
case 3:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Zapdosa.")
}
else
{
server_cmd("pm_givepoke %s Zapdos 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Zapdosa!")
}
}
case 4:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 MewTwo.")
}
else
{
server_cmd("pm_givepoke %s MewTwo 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 MewTwo!")
}
}
case 5:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Ho-oh.")
}
else
{
server_cmd("pm_givepoke %s Ho-oh 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Ho-oh!")
}
}
case 6:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Celebi.")
}
else
{
server_cmd("pm_givepoke %s Celebi 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Celebi!")
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public lowlegenda_wybierz(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{

case 1:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Articuno.")
}
else
{
server_cmd("pm_givepoke %s Articuno 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Articuno!")
}
}
case 2:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Unowna.")
}
else
{
server_cmd("pm_givepoke %s Unown 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Unowna!")
}
}
case 3:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Raikou.")
}
else
{
server_cmd("pm_givepoke %s Raikou 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Raikou!")
}
}
case 4:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Entei.")
}
else
{
server_cmd("pm_givepoke %s Entei 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Entei!")
}
}
case 5:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Suicune.")
}
else
{
server_cmd("pm_givepoke %s Suicune 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Suicune!")
}
}
case 6:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Lugie.")
}
else
{
server_cmd("pm_givepoke %s Lugie 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Lugie!")
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public Send(id){
static args[256];
read_args(args, 255);
remove_quotes(args);

new szCmd[15], szNick[32], szPD[12];


new parsed = parse(args, szCmd, 14, szNick, 31, szPD, 11)
if(parsed && equali(szCmd, "givepd")){
if(parsed < 3){
client_print(id, print_chat, "Uzycie: givepd <Gracz> <PD>");
return PLUGIN_HANDLED;
}

new Player = cmd_target( id, szNick, CMDTARGET_ONLY_ALIVE & CMDTARGET_NO_BOTS );
if(!Player){
ColorChat(id, GREEN, "[PD] ^x03Gracz %s nie istnieje.", szNick);
return PLUGIN_HANDLED;
}

new iPD = str_to_num(szPD);

if(iPD > 0)
{
if( pd[id] < iPD){
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PD.");
return PLUGIN_HANDLED;
}

TakePD(id, iPD);
AddPD(Player, iPD);

new szNick2[32];
get_user_name(id, szNick2, 31);
get_user_name(Player, szNick, 31);

ColorChat(id, GREEN, "[PD] ^x03Wyslales ^x01 %s ^x03 %d ^x01 PD", szNick, iPD);
ColorChat(Player, GREEN, "[PD] ^x01 %s ^x03Wyslal Tobie ^x01 %d ^x03 PD", szNick2, iPD);
}
else
{
ColorChat(id, GREEN, "[PD] ^x03Ilosc PD musi byc dodatnia!");
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

public DeletePD(id, level, cid)
{
if(!(get_user_flags(id) & ADMIN_IMMUNITY)){
return PLUGIN_HANDLED;
}
static Arg1[33], Arg2[10], Player, iPD;

read_argv( 1, Arg1, charsmax(Arg1));
read_argv( 2, Arg2, charsmax(Arg2));

Player = cmd_target( id, Arg1, 0);
iPD = str_to_num( Arg2);

static gName[33], pName[33];
get_user_name(id, gName, charsmax(gName));
get_user_name(Player, pName, charsmax(pName));

if (!Player)
{
ColorChat(id, GREEN, "[PD] ^x03Gracz %s nie istnieje.", Arg1);
}

TakePD(Player, iPD);
ColorChat(0, GREEN, "[PD]^x03 Admin zabral ^x01 %s %d ^x03 PD.", pName, iPD)

return PLUGIN_HANDLED;
}

public GivePD(id, level, cid)
{
if(!(get_user_flags(id) & ADMIN_IMMUNITY)){
return PLUGIN_HANDLED;
}
static Arg1[33], Arg2[10], Player, iPD;

read_argv( 1, Arg1, charsmax(Arg1));
read_argv( 2, Arg2, charsmax(Arg2));

Player = cmd_target( id, Arg1, 0 );
iPD = str_to_num( Arg2 );

static gName[33], pName[33];
get_user_name( id, gName, charsmax(gName));
get_user_name( Player, pName, charsmax(pName));

if (!Player)
{
ColorChat( id, GREEN, "[PD] ^x03Gracz %s nie istnieje.", Arg1);
}

AddPD(Player, iPD);
ColorChat(0, GREEN, "[PD]^x03 Admin dal ^x01 %s %d ^x03 PD.", pName, iPD)

return PLUGIN_HANDLED;
}

stock TakePD( id, howMuch)
{
pd[id]-=howMuch;
}

stock AddPD( id, howMuch)
{
pd[id]+=howMuch;
}

public DeathMsg()
{
if (get_pcvar_num(g_pGetXp) == 1){

new kill = get_pcvar_num(g_pKill)
new kid = read_data(1)
new vid = read_data(2)

if(!is_user_connected(kid) || !is_user_connected(vid)) return PLUGIN_CONTINUE;
{
AddPD(kid, kill);
return PLUGIN_HANDLED;
}
}
if (get_pcvar_num(g_pGetXp) == 2){

new kid = read_data(1)
new vid = read_data(2)

if(!is_user_connected(kid) || !is_user_connected(vid)) return PLUGIN_CONTINUE;
{
AddPD(kid, (get_user_frags(vid) < 1) ? 1 : get_user_frags(vid))
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}

public Load_PD(id)
{
new vaultkey[64],vaultdata[512];

new authid[64];
get_user_name(id,authid,63);
replace_all(authid, 63, " ", "+");
format(vaultkey,63,"%s",authid);
nvault_get(save,vaultkey,vaultdata,511);
replace_all(vaultdata,256,"#"," ");
new jeden[100]
parse(vaultdata,jeden,99)
pd[id] = str_to_num(jeden);
}

public Save_PD(id)
{
new vaultkey[64],vaultdata[512];

new authid[64];
get_user_name(id,authid,63);
replace_all(authid, 63, " ", "+");
format(vaultkey,63,"%s",authid);
format(vaultdata,511,"%d",pd[id]);
nvault_set(save,vaultkey,vaultdata)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


aaa.. i jeszcze jedno - pralka z pokemonami Ci nie będzie działała, bo tam jest kawał roboty do zrobienia..
radim99 pomógł ten post.
  Cytuj
Stare 29-06-11, 19:47   #13

 
radim99
 
Posty: 210


Odp: [PokemodDolar] Naprawa pluginu

To można usunąć pokemony.

Działa, dzięki dhair, jakbyś mógł, to weź jeszcze za Head Shota dostaje się dwa PokeDollary, i wywal z pralki pokemony.

Dodane po 37 minuty:

I jeszcze jakbys mógł zrobić buypd. kupić PokeDollary za kase. Tak jak Buyxp, tylko aby się dostawało 1 Pokedollar za 10000 $(kasy)
  Cytuj
Stare 29-06-11, 20:09   #14

 
dhair
 
Wiek: 25
Posty: 447


Odp: [PokemodDolar] Naprawa pluginu

Coś wykombinowałem. Spróuj:
Spoiler:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <pokemod>
#include <colorchat>

#define PLUGIN "Pokemon Dolar"
#define TWORCA "Raku"
#define VERSION "1.6"

new save
new pd[33];
new nick_docelowy[33];

new g_pKill, g_pHsKill, g_pPayXp, g_pGiveXp, g_pPayGoodLegend, g_pPayLowLegend, g_pPayRandom, g_pRandomXpMin, g_pRandomXpMax, g_pGetXp;

public plugin_init()
{
register_plugin(PLUGIN, TWORCA, VERSION);
register_event("DeathMsg", "DeathMsg", "a");
save=nvault_open("pdsave");
register_concmd("pd_give", "GivePD",ADMIN_IMMUNITY ,"dodaje expa nick i ile");
register_concmd("pd_take", "DeletePD",ADMIN_IMMUNITY ,"dodaje expa nick i ile");
register_clcmd("say", "Send");
register_clcmd("say /pd", "pdmenu");
g_pKill = register_cvar("pd_kill", "1");
g_pHsKill = register_cvar("pd_hskill", "2");
g_pGetXp = register_cvar("pd_getxp", "1");
g_pPayXp = register_cvar("pd_costexp", "10");
g_pPayGoodLegend = register_cvar("pd_costgoodlegend", "800");
g_pPayLowLegend = register_cvar("pd_costlowlegend", "600");
g_pPayRandom = register_cvar("pd_costrandom", "10");
g_pGiveXp = register_cvar("pd_givexp", "1000");
g_pRandomXpMin = register_cvar("pd_minexp", "0");
g_pRandomXpMax = register_cvar("pd_maxexp", "2000");
}

public client_connect(id)
{
Load_PD(id)
set_task(3.0, "Life", id, _, _, "b");
}

public client_disconnect(id)
{
Save_PD(id)
}

public plugin_end()
{
nvault_close(save)
}

public Life(id)
{
if(is_user_alive(id))
{
set_hudmessage(255, 0, 0, 0.0, 0.88, 0, 6.0, 7.0)
show_hudmessage(id, "Pokemon Dolar: %d", pd[id])
}
}

public pdmenu(id)
{
new menu = menu_create("\rPokemon Dolar Menu:", "pdmenu_wybierz")
new cost = get_pcvar_num(g_pPayXp)
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)
new costlowlegend = get_pcvar_num(g_pPayLowLegend)
new costrandom = get_pcvar_num(g_pPayRandom)
static String[128];

formatex(String, charsmax(String), "Kup Expa \r(%dPD)", cost);
menu_additem(menu,String, "1", 0)

formatex(String, charsmax(String), "Kup Lepsza Legende \r(%dPD)", costgoodlegend);
menu_additem(menu,String, "2", 0)

formatex(String, charsmax(String), "Kup Slabsza Legende \r(%dPD)", costlowlegend);
menu_additem(menu,String, "3", 0)

formatex(String, charsmax(String), "Pralka \r(%dPD)", costrandom);
menu_additem(menu,String, "4", 0)

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)
return PLUGIN_HANDLED
}

public pdmenu_wybierz(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:
{
new pd_player = pd[id]
new cost = get_pcvar_num(g_pPayXp)
new xp = get_pcvar_num(g_pGiveXp)

if( pd_player < cost)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle pd, aby kupic ^x01 Expa.")
}
else
{
Poke_Give_XP(id, -1, xp);
TakePD(id, cost);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 %d ^x03 Expa!", xp)
}
}
case 2:
{
new menu = menu_create("\rPokemon Dolar Menu:", "goodlegenda_wybierz")

menu_additem(menu, "\wMew", "1", 0)
menu_additem(menu, "\wMoltres", "2", 0)
menu_additem(menu, "\wZapdos", "3", 0)
menu_additem(menu, "\wMewtwo", "4", 0)
menu_additem(menu, "\wHo-oh", "5", 0)
menu_additem(menu, "\wCelebi", "6", 0)

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
case 3:
{
new menu = menu_create("\rPokemon Dolar Menu:", "lowlegenda_wybierz")

menu_additem(menu, "\wArticuno", "1", 0)
menu_additem(menu, "\wUnown", "2", 0)
menu_additem(menu, "\wRaikou", "3", 0)
menu_additem(menu, "\wEntei", "4", 0)
menu_additem(menu, "\wSuicune", "5", 0)
menu_additem(menu, "\wLugia", "6", 0)

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
case 4:
{
new pd_player = pd[id]
new cost = get_pcvar_num(g_pPayRandom)
new minexp = get_pcvar_num(g_pRandomXpMin)
new maxexp = get_pcvar_num(g_pRandomXpMax)

if( pd_player < cost)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle pd, aby kupic ^x01 Expa.")
}
else
{
new select = random_num(minexp, maxexp)
Poke_Give_XP(id, -1, select);
TakePD(id, cost);
ColorChat(id, GREEN, "[PD] ^x03Wylosowales ^x01 %d ^x03 Expa!", select)
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public goodlegenda_wybierz(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)


get_user_name( id, nick_docelowy, charsmax(nick_docelowy));


new key = str_to_num(data)

switch(key)
{

case 1:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Mewa.")
}
else
{
server_cmd("pm_givepoke %s Mew 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Mewa!")
}
}
case 2:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Moltresa.")
}
else
{
server_cmd("pm_givepoke %s Moltres 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Moltresa!")
}
}
case 3:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Zapdosa.")
}
else
{
server_cmd("pm_givepoke %s Zapdos 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Zapdosa!")
}
}
case 4:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 MewTwo.")
}
else
{
server_cmd("pm_givepoke %s MewTwo 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 MewTwo!")
}
}
case 5:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Ho-oh.")
}
else
{
server_cmd("pm_givepoke %s Ho-oh 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Ho-oh!")
}
}
case 6:
{
new pd_player = pd[id]
new costgoodlegend = get_pcvar_num(g_pPayGoodLegend)

if( pd_player < costgoodlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Celebi.")
}
else
{
server_cmd("pm_givepoke %s Celebi 1",nick_docelowy);
TakePD(id, costgoodlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Celebi!")
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public lowlegenda_wybierz(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{

case 1:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Articuno.")
}
else
{
server_cmd("pm_givepoke %s Articuno 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Articuno!")
}
}
case 2:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Unowna.")
}
else
{
server_cmd("pm_givepoke %s Unown 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Unowna!")
}
}
case 3:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Raikou.")
}
else
{
server_cmd("pm_givepoke %s Raikou 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Raikou!")
}
}
case 4:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Entei.")
}
else
{
server_cmd("pm_givepoke %s Entei 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Entei!")
}
}
case 5:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Suicune.")
}
else
{
server_cmd("pm_givepoke %s Suicune 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Suicune!")
}
}
case 6:
{
new pd_player = pd[id]
new costlowlegend = get_pcvar_num(g_pPayLowLegend)

if( pd_player < costlowlegend)
{
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PokeDolarow, aby kupic ^x01 Lugie.")
}
else
{
server_cmd("pm_givepoke %s Lugie 1",nick_docelowy);
TakePD(id, costlowlegend);
ColorChat(id, GREEN, "[PD] ^x03Kupiles ^x01 Lugie!")
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

public Send(id){
static args[256];
read_args(args, 255);
remove_quotes(args);

new szCmd[15], szNick[32], szPD[12];


new parsed = parse(args, szCmd, 14, szNick, 31, szPD, 11)
if(parsed && equali(szCmd, "givepd")){
if(parsed < 3){
client_print(id, print_chat, "Uzycie: givepd <Gracz> <PD>");
return PLUGIN_HANDLED;
}

new Player = cmd_target( id, szNick, CMDTARGET_ONLY_ALIVE & CMDTARGET_NO_BOTS );
if(!Player){
ColorChat(id, GREEN, "[PD] ^x03Gracz %s nie istnieje.", szNick);
return PLUGIN_HANDLED;
}

new iPD = str_to_num(szPD);

if(iPD > 0)
{
if( pd[id] < iPD){
ColorChat(id, GREEN, "[PD] ^x03Nie masz tyle PD.");
return PLUGIN_HANDLED;
}

TakePD(id, iPD);
AddPD(Player, iPD);

new szNick2[32];
get_user_name(id, szNick2, 31);
get_user_name(Player, szNick, 31);

ColorChat(id, GREEN, "[PD] ^x03Wyslales ^x01 %s ^x03 %d ^x01 PD", szNick, iPD);
ColorChat(Player, GREEN, "[PD] ^x01 %s ^x03Wyslal Tobie ^x01 %d ^x03 PD", szNick2, iPD);
}
else
{
ColorChat(id, GREEN, "[PD] ^x03Ilosc PD musi byc dodatnia!");
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

public DeletePD(id, level, cid)
{
if(!(get_user_flags(id) & ADMIN_IMMUNITY)){
return PLUGIN_HANDLED;
}
static Arg1[33], Arg2[10], Player, iPD;

read_argv( 1, Arg1, charsmax(Arg1));
read_argv( 2, Arg2, charsmax(Arg2));

Player = cmd_target( id, Arg1, 0);
iPD = str_to_num( Arg2);

static gName[33], pName[33];
get_user_name(id, gName, charsmax(gName));
get_user_name(Player, pName, charsmax(pName));

if (!Player)
{
ColorChat(id, GREEN, "[PD] ^x03Gracz %s nie istnieje.", Arg1);
}

TakePD(Player, iPD);
ColorChat(0, GREEN, "[PD]^x03 Admin zabral ^x01 %s %d ^x03 PD.", pName, iPD)

return PLUGIN_HANDLED;
}

public GivePD(id, level, cid)
{
if(!(get_user_flags(id) & ADMIN_IMMUNITY)){
return PLUGIN_HANDLED;
}
static Arg1[33], Arg2[10], Player, iPD;

read_argv( 1, Arg1, charsmax(Arg1));
read_argv( 2, Arg2, charsmax(Arg2));

Player = cmd_target( id, Arg1, 0 );
iPD = str_to_num( Arg2 );

static gName[33], pName[33];
get_user_name( id, gName, charsmax(gName));
get_user_name( Player, pName, charsmax(pName));

if (!Player)
{
ColorChat( id, GREEN, "[PD] ^x03Gracz %s nie istnieje.", Arg1);
}

AddPD(Player, iPD);
ColorChat(0, GREEN, "[PD]^x03 Admin dal ^x01 %s %d ^x03 PD.", pName, iPD)

return PLUGIN_HANDLED;
}

stock TakePD( id, howMuch)
{
pd[id]-=howMuch;
}

stock AddPD( id, howMuch)
{
pd[id]+=howMuch;
}

public DeathMsg()
{
new kid = read_data(1)
new vid = read_data(2)
if (get_pcvar_num(g_pGetXp) == 1)
{

new kill = get_pcvar_num(g_pKill)

if(!is_user_connected(kid) || !is_user_connected(vid)) return PLUGIN_CONTINUE;
{
AddPD(kid, kill);
return PLUGIN_HANDLED;
}
}
if (get_pcvar_num(g_pGetXp) == 2)
{
if(!is_user_connected(kid) || !is_user_connected(vid)) return PLUGIN_CONTINUE;
{
AddPD(kid, (get_user_frags(vid) < 1) ? 1 : get_user_frags(vid))
return PLUGIN_HANDLED;
}
}


// hs:
new kill = get_pcvar_num(g_pHsKill)
new headshot = read_data(3)
if(!is_user_connected(kid) || !is_user_connected(vid))
{
return PLUGIN_CONTINUE;
}
else
{
if ( headshot )
{
AddPD(kid, kill);
}
}


return PLUGIN_CONTINUE;

}

public Load_PD(id)
{
new vaultkey[64],vaultdata[512];

new authid[64];
get_user_name(id,authid,63);
replace_all(authid, 63, " ", "+");
format(vaultkey,63,"%s",authid);
nvault_get(save,vaultkey,vaultdata,511);
replace_all(vaultdata,256,"#"," ");
new jeden[100]
parse(vaultdata,jeden,99)
pd[id] = str_to_num(jeden);
}

public Save_PD(id)
{
new vaultkey[64],vaultdata[512];

new authid[64];
get_user_name(id,authid,63);
replace_all(authid, 63, " ", "+");
format(vaultkey,63,"%s",authid);
format(vaultdata,511,"%d",pd[id]);
nvault_set(save,vaultkey,vaultdata)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
radim99 pomógł ten post.
  Cytuj
Stare 30-06-11, 07:22   #15

 
radim99
 
Posty: 210


Odp: [PokemodDolar] Naprawa pluginu

Działa
I jeszcze jak byś mógł to weż zrób komende buypd , która po wpisaniu dostarczy nam 1 Pokemon Dollar, za 10000 $(kasy)

Dodane po 1 17 minuty:

Błąd, za HeadShota nie dostaję 2 PokemonDollarów tylko jeden, cvar ustawiony jest na 2.
  Cytuj

Odpowiedz


Podobne wątki dla: [PokemodDolar] Naprawa pluginu
Temat Forum
[FIX] Naprawa Maga :p Propozycje
Naprawa redukcji [zręczności] w klasach Archiwum
Naprawa wyświetlanych zwycięstw Propozycje
Naprawa portów w cs ;] Poradniki Counter-Strike 1.6
Poszukuje pluginu Pomoc



Ostatnio wyszukiwane
battlefield 3 multiplayer na piracie counter strike 1.6 download non steam counter strike 1.6 non steam counter strike 1.6 non steam download counter strike 1.6 non steam pobierz cs 1.6 download non steam cs 1.6 download non steam v32 cs 1.6 non steam cs 1.6 non steam download cs 1.6 non steam download v32 cs 1.6 non steam pobierz cs download non steam cs non steam download cs non steam pobierz diablo mod download cs 1.6 non steam ffa forum cs mapy cs mapy do cs mapy do cs 1.6 phoenix download phoenix program pobierz cs 1.6 non steam polskie serwery cs prototype spolszczenie ronaldo messi tapety na telefon 240x320 ujarani volta sq Waciaki ogrody zimowe fotografia ślubna opony zimowe katalog