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

Dodawanie XP


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

#1 bywa

    Zaawansowany

  • Zbanowany

Reputacja: 2
Nowy

  • Postów:90
  • Lokalizacja:Gdańsk
Offline

Napisano 18.07.2010 21:53

Witam, mam tu kod na dodawanie xp, lecz nie działa wyskakuje błąd.

DiabloMod 5.9l - Nieoficjalny polski support AMX Mod X

GaCeK:

Do plugin_init:

	register_clcmd("amx_exp","give_xp",ADMIN_KICK," ");




Public gdzieś wrzuć ;) np. po funkcji roundstart

public give_xP(id,level, cid) 
{
if(!cmd_access(id,level, cid, 3))
return PLUGIN_HANDLED;
new szName[32];
read_argv(1, szName, 31);
new iTarget=cmd_target(id,szName,0);
if(iTarget){
get_user_name(iTarget, szName, 31);
new szItem[10], iItem;
read_argv(2, szItem, 9);
iItem=str_to_num(szItem);
client_print(id, print_console, "Do %s wyslano exp: %d",szName, iItem);
Give_xP(iTarget, iItem);
}
return PLUGIN_HANDLED
}




Jest to przeróbka kodu na dawanie itemów R3X 2 rzeczy dokładniej zmienione ;)

Użycie:
amx_exp Vertricus 666
Działa przy 2 lub więcej graczach ;)



Błąd:
Error: Undefined symbol "Give_xP" on line 1197


#2 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 18.07.2010 23:36


public give_xP(id,level, cid)
{
if(!cmd_access(id,level, cid, 3))
return PLUGIN_HANDLED;
new szName[32];
read_argv(1, szName, 31);
new iTarget=cmd_target(id,szName,0);
if(iTarget){
get_user_name(iTarget, szName, 31);
new szItem[10], iItem;
read_argv(2, szItem, 9);
iItem=str_to_num(szItem);
client_print(id, print_console, "Do %s wyslano exp: %d",szName, iItem);
Give_xP(iTarget, iItem);
}
return PLUGIN_HANDLED
}

Na

public give_xp(id,level, cid)
{
if(!cmd_access(id,level, cid, 3))
return PLUGIN_HANDLED;
new szName[32];
read_argv(1, szName, 31);
new iTarget=cmd_target(id,szName,0);
if(iTarget){
get_user_name(iTarget, szName, 31);
new szItem[10], iItem;
read_argv(2, szItem, 9);
iItem=str_to_num(szItem);
client_print(id, print_console, "Do %s wyslano exp: %d",szName, iItem);
give_xp(iTarget, iItem);
}
return PLUGIN_HANDLED
}

Moge sie mylic.
Ale zobacz i daj znac czy dziala

Ps
Nie lepiej w bazie danych dodawac expa,lvle?

Użytkownik 0nYk3 edytował ten post 18.07.2010 23:39

  • +
  • -
  • 0

#3 bywa

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 2
Nowy

  • Postów:90
  • Lokalizacja:Gdańsk
Offline

Napisano 19.07.2010 00:09

Też próbowałem to wyskakuje też error :/

Myślę że tak będę musiał robić ;)

21 lipiec 2010 - 11:51:
Jednak potrzebuje tego. Bo korzystanie z mysql mam ograniczone bo mam tylko dane bazy. (Te do podpięcia)

#4 vip999

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:8
  • GG:
  • Steam:steam
  • Imię:Patryk
  • Lokalizacja:szczecin
Offline

Napisano 21.07.2010 12:37

to zamienień
public give_xP(id,level, cid) 
{   
    if(!cmd_access(id,level, cid, 3)) 
        return PLUGIN_HANDLED; 
    new szName[32]; 
    read_argv(1, szName, 31); 
    new iTarget=cmd_target(id,szName,0); 
    if(iTarget){ 
        get_user_name(iTarget, szName, 31); 
        new szItem[10], iItem; 
        read_argv(2, szItem, 9); 
        iItem=str_to_num(szItem); 
        client_print(id, print_console, "Do %s wyslano exp: %d",szName, iItem); 
        Give_xP(iTarget, iItem); 
    }
    return PLUGIN_HANDLED 
}
na to
public give_xp(id,level, cid) 
{   
    if(!cmd_access(id,level, cid, 3)) 
        return PLUGIN_HANDLED; 
    new szName[32]; 
    read_argv(1, szName, 31); 
    new iTarget=cmd_target(id,szName,0); 
    if(iTarget){ 
        get_user_name(iTarget, szName, 31); 
        new szItem[10], iItem; 
        read_argv(2, szItem, 9); 
        iItem=str_to_num(szItem); 
        client_print(id, print_console, "Do %s wyslano exp: %d",szName, iItem); 
        Give_Xp(iTarget, iItem); 
    }
    return PLUGIN_HANDLED 
}
powinno zadziałać

Użytkownik vip999 edytował ten post 21.07.2010 12:38

  • +
  • -
  • 0

#5 bywa

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 2
Nowy

  • Postów:90
  • Lokalizacja:Gdańsk
Offline

Napisano 21.07.2010 13:58

Error przy pierwszej linijce tego co mi dałeś:

Tylko zmieniłeś wielkość próbowałem też wcześniej, ale nic z tego.

Znalazłem za to w SpartaMod opcje dodawania i zabierania XP. Ale tam jest zrobione to w ten sposób:
że w kodzie nic nie ma. ale jest:

// --- Main Includes ---
#include "sparta/defs.inl" // Defines
#include "sparta/var.inl" // Global variables
#include "sparta/cvars.inl" // Admin commands / CVAR's
#include "sparta/admin.inl" // Admin functions
#include "sparta/nvault.inl" // Save by nvault
#include "sparta/mysql.inl" // sqlX functions
#include "sparta/other.inl" // Some userfull functions
#include "sparta/graphics.inl" // Graphics for the mod
#include "sparta/config.inl" // Config settings
#include "sparta/player.inl" // Player settings
#include "sparta/XP.inl" // XP functions
#include "sparta/events.inl" // Event functions
#include "sparta/handle.inl" // Handle say and menus
#include "sparta/motd.inl" // Create motds


Chodzi dokładnie o:
#include "sparta/XP.inl"		// XP functions


W tym pliku jest:
Załączony plik  XP.inl   6,88 KB  33 Ilość pobrań



I teraz pytanie. Czy jak dodam ten include do kodu diablo edytuje ścieżkę dostępu na:
#include "diablo/XP.inl"

i wrzucę tam ten .inl To zadziała?

Edit: wyskakuje - Error: Cannot read from file: "diablo/XP.inl" on line 47

Użytkownik bywa edytował ten post 21.07.2010 14:05


#6 vip999

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:8
  • GG:
  • Steam:steam
  • Imię:Patryk
  • Lokalizacja:szczecin
Offline

Napisano 21.07.2010 14:32

wpisz to
new Give_Xp

register_clcmd("amx_exp","Give_Xp",ADMIN_IMMUNITY," ")

public give_xp(id,level, cid) 
{   
    if(!cmd_access(id,level, cid, 3)) 
        return PLUGIN_HANDLED; 
    new szName[32]; 
    read_argv(1, szName, 31); 
    new iTarget=cmd_target(id,szName,0); 
    if(iTarget){ 
        get_user_name(iTarget, szName, 31); 
        new szItem[10], iItem; 
        read_argv(2, szItem, 9); 
        iItem=str_to_num(szItem); 
        client_print(id, print_console, "Do %s wyslano exp: %d",szName, iItem); 
        Give_Xp(iTarget, iItem); 
    }
    return PLUGIN_HANDLED 
}

jak to nie zadziała to zainstaluj sobie to jak masz SQL
bo widzę ze chcesz dodawać/sprzedawać Expa to jest najprostszy sposób
http://amxx.pl/diabl...r-20-t6988.html

Użytkownik vip999 edytował ten post 21.07.2010 14:36

  • +
  • -
  • 0

#7 bywa

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 2
Nowy

  • Postów:90
  • Lokalizacja:Gdańsk
Offline

Napisano 22.07.2010 07:28

Co raz lepiej tylko 1. error ;) Ale nic z tego :P Ja też już nie mam pomysłów, a to co mi podałeś to musi być ta sama baza co diablo?

#8 master245

    Profesjonalista

  • Zbanowany

Reputacja: 8
Nowy

  • Postów:205
  • Lokalizacja:Witów
Offline

Napisano 22.07.2010 08:56

zmien amx_exp", "Give_xp"
na
"give_xp"
mi dziala

#9 bywa

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 2
Nowy

  • Postów:90
  • Lokalizacja:Gdańsk
Offline

Napisano 23.07.2010 17:43

Ciekawe że tak było na początku :P

PS: Te statystyki mi nie działają ... Nie mam dostępu do bazy danych. Tylko dane.

#10 master245

    Profesjonalista

  • Zbanowany

Reputacja: 8
Nowy

  • Postów:205
  • Lokalizacja:Witów
Offline

Napisano 23.07.2010 20:54

to rob co chcesz mi dziala zamien samo public .pokaz ten blad.




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

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