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

Problem z COD-em


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

#1 OnlyDiabloMod

    Zaawansowany

  • Użytkownik

Reputacja: 3
Nowy

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

Napisano 30.09.2010 23:10

Witam, chciałbym żeby z call of duty by peyote zostalo samo zdobywanie doswiadczenia i jego zapisywanie, zrobiłem takie coś jednak nie działa, tworzy plik CodModZloto ale nie zapisuje w nim nic. Może coś jest źle bo w cod trzeba wybrać klase zeby leciało expo a nie wiem jak to usunać zeby bez klasy leciało. proszę załaczam moje .sma zloto. proszę o pomoc

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <nvault>
#define PLUGIN "Call of Duty: MW Mod"
#define VERSION "0.7.9 Beta"
#define AUTHOR "QTM_Peyote"
new SyncHudObj;
new SyncHudObj2;
new SyncHudObj3;
new g_msg_screenfade;
new sprite_white;
new sprite_blast;
new g_vault;

new podkladajacy;
new rozbrajajacy;

new doswiadczenia_za_zabojstwo;
new doswiadczenie_za_bombe;

new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};

new doswiadczenie_gracza[33];
new nazwa_gracza[33][64];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

g_vault = nvault_open("CodModZloto");

register_think("Apteczka","ApteczkaThink");

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");
RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");

register_forward(FM_CmdStart, "CmdStart");
register_forward(FM_EmitSound, "EmitSound");

register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");

register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
register_event("BarTime", "RozbrajaBombe", "be", "1=10", "1=5");
register_event("DeathMsg", "Death", "ade");
register_event("Damage", "Damage", "b", "2!=0");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");

register_cvar("cod_killxp", "10");
register_cvar("cod_bombxp", "100");

g_msg_screenfade = get_user_msgid("ScreenFade");
SyncHudObj = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
SyncHudObj3 = CreateHudSyncObj();
doswiadczenia_za_zabojstwo = get_cvar_num("cod_killxp");
doswiadczenie_za_bombe = get_cvar_num("cod_bombxp");

}
public Death()
{
new id = read_data(2);
new attacker = read_data(1);

if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;

new weapon = get_user_weapon(attacker);
new zdrowie = get_user_health(attacker);

if(get_user_team(id) != get_user_team(attacker))
{

doswiadczenia_za_zabojstwo;


set_hudmessage(255, 212, -1.0, -1.0, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);

doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
}
return PLUGIN_CONTINUE;
}

public client_connect(id)
{
WczytajDane(id);
}

public client_disconnect(id)
{

ZapiszDane(id);
}

public RozbrajaBombe(id)
rozbrajajacy = id;

public BombaPodlozona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");

if(get_playersnum() > 1)
{
doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
for (new i=0; i<playerCount; i++)
{
id = Players[i];
continue;

if(id != podkladajacy)
{
doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
}
else
{
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby.", doswiadczenie_za_bombe);
}
}
}
}

public BombaRozbrojona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");

doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
for (new i=0; i<playerCount; i++)
{
id = Players[i];
if(id != rozbrajajacy)
{
doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
}
else
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby.",doswiadczenie_za_bombe);
}
}

public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-cod", nazwa_gracza[id]);
format(vaultdata,255,"%i#", doswiadczenie_gracza[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}

public WczytajDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-cod", nazwa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);

replace_all(vaultdata, 255, "#", " ");

new doswiadczeniegracza[32];

parse(vaultdata, doswiadczeniegracza, 31);

doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
}

public lvl_info(id)
{
client_print(id, print_chat, "Twoje Zloto: %i.",doswiadczenie_gracza[id]);
}

  • +
  • -
  • 0
Moja sieć serwerów: CS-Budowlani.pl

#2 Pawex

    Wszechpomocny

  • Użytkownik

Reputacja: 94
Zaawansowany

  • Postów:381
  • Lokalizacja:Polska
Offline

Napisano 01.10.2010 17:42

Taki szczegol zapomniales o tabeli expa :o (W twoim przypadku zlota :o)
I jeszcze to jest nie potrzebne skoro samo zdobywanie expa:
Spoiler


Moj connect i disconnect. Czemu masz tam wczytaj dane? :o // Albo to ja nie mam wczytaj dane >_<
Spoiler

Zmien sobie na :
Spoiler

Użytkownik Pawex edytował ten post 01.10.2010 17:47

  • +
  • -
  • 0

#3 OnlyDiabloMod

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

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

Napisano 01.10.2010 19:08

Nie sądze by była mi potrzeba tabela expa do leveli skoro to ma być bez lvl.

a co do client connect to dodałem wczytaj dane bo nigdzie tego nie było, nie mam gdzie wstawić wczytywanie danych dlatego tam dałem i chyba musi tam być, skoro wczesniej wczytywało dane przy wyborze klasy, a jak nie ma klasy to bedzie wczytywać przy wejsciu na serwer .
  • +
  • -
  • 0
Moja sieć serwerów: CS-Budowlani.pl

#4 Pawex

    Wszechpomocny

  • Użytkownik

Reputacja: 94
Zaawansowany

  • Postów:381
  • Lokalizacja:Polska
Offline

Napisano 01.10.2010 19:30

Tak tylko tutaj tabela doswiadczenia odpowiadala by za ilosc tego twojego zlota ... A nie lvle... Sam tutaj tak napisales:
public lvl_info(id)
{    
    client_print(id, print_chat, "Twoje Zloto: %i.",doswiadczenie_gracza[id]);
}

Użytkownik Pawex edytował ten post 01.10.2010 19:31

  • +
  • -
  • 0

#5 OnlyDiabloMod

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

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

Napisano 01.10.2010 19:47

Nie rozumiem po co mi tabela do wbijania lvl? skoro nie mam limitu expa?
  • +
  • -
  • 0
Moja sieć serwerów: CS-Budowlani.pl

#6 Pawex

    Wszechpomocny

  • Użytkownik

Reputacja: 94
Zaawansowany

  • Postów:381
  • Lokalizacja:Polska
Offline

Napisano 01.10.2010 22:12

Dobra juz nic, zle Cie zrozumialem.
  • +
  • -
  • 0




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

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