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

klasa premium?


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

#1 Mesh

    Wszechwidzący

  • Zbanowany

Reputacja: 36
Życzliwy

  • Postów:268
  • GG:
  • Steam:steam
  • Lokalizacja:Lukow
Offline

Napisano 28.06.2010 18:40

dodalem "latwe dodawanie klas + nowe menu"
wszystko ladnie bez bledow ale mam wiecej klas tzn + 3 nowe
otwieram druga strone menu: 1 klasa standardowa + 3 nowe
na drugiej stronie dzialaja tylko 2 klasy
drugie dwie sa zaznaczone jako premium mam wszystkie flagi i nie dziala
jest jakis blad w tym poradniku czy jak to zrozumiec?
no i oczywiscie jak to poprawic :help:

#2 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 28.06.2010 18:47

Kod?
  • +
  • -
  • 1

#3 Mesh

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 36
Życzliwy

  • Postów:268
  • GG:
  • Steam:steam
  • Lokalizacja:Lukow
Offline

Napisano 28.06.2010 19:10


public SelectHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(Errcode)
{
log_to_file("addons/amxmodx/logs/diablo.log","Error on load_xp query: %s",Error)
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","load_xp Query failed.")
return PLUGIN_CONTINUE
}


if(SQL_MoreResults(Query)) return PLUGIN_CONTINUE
else create_klass(Data[0])

return PLUGIN_CONTINUE
}


public select_class_query(id)
{
if(is_user_bot(id) || asked_klass[id]!=0) return PLUGIN_HANDLED
if(loaded_xp[id]==0)
{
load_xp(id)
return PLUGIN_HANDLED
}

if(g_boolsqlOK)
{
asked_klass[id]=1
new name[64]
new data[1]
data[0]=id

if(player_class_lvl_save[id]==0)
{
if(get_cvar_num("diablo_sql_save")==0)
{
get_user_name(id,name,63)
replace_all ( name, 63, "'", "Q" )
replace_all ( name, 63, "`", "Q" )

new q_command[512]
format(q_command,511,"SELECT `klasa`,`lvl` FROM `%s` WHERE `nick`='%s' ",g_sqlTable,name)
SQL_ThreadQuery(g_SqlTuple,"select_class_handle", q_command,data,1)
}
else if(get_cvar_num("diablo_sql_save")==1)
{
get_user_ip(id, name ,63,1)
new q_command[512]
format(q_command,511,"SELECT `klasa`,`lvl` FROM `%s` WHERE `ip`='%s' ",g_sqlTable,name)
SQL_ThreadQuery(g_SqlTuple,"select_class_handle",q_command,data,1)
}
else if(get_cvar_num("diablo_sql_save")==2)
{
get_user_authid(id, name ,63)
new q_command[512]
format(q_command,511,"SELECT `klasa`,`lvl` FROM `%s` WHERE `sid`='%s' ",g_sqlTable,name)
SQL_ThreadQuery(g_SqlTuple,"select_class_handle",q_command,data,1)
}

}
else
{
//for(new i=1;i<sizeof(race_heal);i++) lx[i]=player_class_lvl[id][i]
select_class(id)
}

}
else sql_start()

return PLUGIN_HANDLED
}

public select_class_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
new id=Data[0]
if(Errcode)
{
log_to_file("addons/amxmodx/logs/diablo.log","Error on select_class_handle query: %s",Error)
asked_klass[id]=0
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
asked_klass[id]=0
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("addons/amxmodx/logs/diablo.log","select_class_handle Query failed.")
asked_klass[id]=0
return PLUGIN_CONTINUE
}

if(SQL_MoreResults(Query))
{
while(SQL_MoreResults(Query))
{
new i = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "klasa"))
player_class_lvl[id][i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "lvl"))
SQL_NextRow(Query)
}

if(asked_klass[id]==1)
{
asked_klass[id]=2
select_class(id)
}

}
return PLUGIN_CONTINUE
}
public select_class(id){
if(is_user_bot(id)) return

create_class = menu_create("Wybierz Klase", "handle_create_class")
ghandle_create_class = menu_makecallback("mcb_create_class")

asked_klass[id]=0

for(new i=1;i<sizeof(race_heal);i++){
new menu_txt[128]
format(menu_txt,127,"%s Level: %d",Race[i],player_class_lvl[id][i])
menu_additem(create_class, menu_txt, "", ADMIN_ALL, ghandle_create_class)
}

menu_display(id,create_class,0)
}
public mcb_create_class(id, menu, item) {
new flags[10]
get_cvar_string("diablo_classes",flags,9)
new keys = read_flags(flags)

if(keys&(1<<item))
return ITEM_ENABLED

return ITEM_DISABLED
}
public handle_create_class(id, menu, item){
g_haskit[id] = 0

if(item==MENU_EXIT){
menu_destroy(create_class)
select_class(id)
return PLUGIN_HANDLED
}



player_class[id]=++item

if(player_class[id]==Nekromanta)
g_haskit[id] = 1
if(player_class[id]==Hunter)
g_GrenadeTrap[id] = 1

LoadXP(id, player_class[id])
CurWeapon(id)

give_knife(id)
return PLUGIN_CONTINUE
}


#4 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 29.06.2010 12:31

Hmm nie wiem jak rozpoznajesz że premium.
Najlepiej zrób coś w ten deseń:
new const Premium_Classes = (1<<KLASA_PREMIUM_Z_ENUM)|(1<<DRUGA_KLASA_PREMIUM)

Później w menu
menu_additem(create_class, menu_txt, "", ADMIN_ALL, ghandle_create_class)
->
menu_additem(create_class, menu_txt, "", (Premium_Classes&(1<<i))?ADMIN_KICK:ADMIN_ALL, ghandle_create_class)

a no i może popsułeś coś przy tworzeniu klas ;d
  • +
  • -
  • 0




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

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