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
 

Leszcz - zdjęcie

Leszcz

Rejestracja: 20.02.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 27.04.2013 19:49
-----

#357818 Diablo mod na botach :)

Napisane przez Leszcz w 03.02.2012 23:04

aczkolwiek mysql mniej laguje kompa niz nvault

Edit:
co do programu to polecam xamppa kazda wersje.wydaje mi sie ze jest bardzo latwy w obsludze.
  • +
  • -
  • 1


#332010 Zmniejszenie czasu castowania Tarczy Mnicha oraz nerf statów

Napisane przez Leszcz w 09.12.2011 17:55

a ile chcesz zeby mnich robil scian i w jakim czasie?

PS. z tego co widze to mnich u Ciebie ma 200 tarcz na start.

ok juz wszystko zrobione.
Załączony plik  DiabloMOD_5.9l.sma   234 KB  46 Ilość pobrań
  DiabloMOD_5.9l.amxx
  • +
  • -
  • 1


#331826 problem z kitem (standardowym sklep z bronmi np na ffa)

Napisane przez Leszcz w 08.12.2011 22:55


#include <amxmodx>
#include <amxmisc>
#include <engine>
#define PLUGIN "Pi drugich"
#define VERSION "1.0"
#define AUTHOR "R3X"
static const buy_classes[][] = {
"func_buyzone",
"info_map_parameters"
}

public plugin_precache(){
register_plugin(PLUGIN, VERSION, AUTHOR);
createInfoMapParameters();
}
isBuyClass(ent, const szParam[] = ""){
new szClassName[32];

if(szParam[0])
copy(szClassName, 31, szParam);
else
entity_get_string(ent, EV_SZ_classname, szClassName, 31);

for(new i=0;i<sizeof buy_classes;i++){
if(equal(buy_classes[i], szClassName)){
if(is_valid_ent(ent))
return true;
}
}
return false;
}
public pfn_spawn(ent){
if(is_valid_ent(ent) && isBuyClass(ent))
remove_entity(ent);
}
//Block buying
createInfoMapParameters(){
new ent = create_entity("info_map_parameters");
DispatchKeyValue(ent, "buying", "3");
DispatchSpawn(ent);
}


powinno dzialac.
  • +
  • -
  • 1


#331816 Nowe moce dla ninjy, paladyna, łowcy i maga

Napisane przez Leszcz w 08.12.2011 22:28

co do pytania 2:
znajdz
public call_cast(id)

i podmien
  case Ninja:
{
show_hudmessage(id, "Zwiekszyles sobie tymczasowo predkosc")
set_user_maxspeed(id,get_user_maxspeed(id)+25.0)
}

na
  case Ninja:
{
show_hudmessage(id, "Twoje kroki sa nieslyszalne")
player_b_silent[id] == 1
}


co do pytania nr 3.
szukasz
public CurWeapon(id)

i podmieniasz
 if(weapon == CSW_KNIFE) on_knife[id]=1
else on_knife[id]=0

if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == Ninja))
{
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
}

na
 if(weapon == CSW_KNIFE || weapon == CSW_FLASHBANG) on_knife[id]=1
else on_knife[id]=0

if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == Ninja))
{
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
}


pytanie nr 5:
szukasz w
public client_PreThink ( id )

takiego kodu
///////////////////// BOW /////////////////////////
if(player_class[id]==Hunter)
{
new clip,ammo
new weapon = get_user_weapon(id,clip,ammo)

if(bow[id] == 1)
{
if((bowdelay[id] + 4.8 - float(player_intelligence[id]/7500))< get_gametime() && button2 & IN_ATTACK)
{
bowdelay[id] = get_gametime()
command_arrow(id)
}
entity_set_int(id, EV_INT_button, (button2 & ~IN_ATTACK) & ~IN_ATTACK2)
}

i zamieniasz na
///////////////////// BOW /////////////////////////
if(player_class[id]==Hunter)
{
player_b_grenade[id]==7
new clip,ammo
new weapon = get_user_weapon(id,clip,ammo)

if(bow[id] == 1)
{
if((bowdelay[id] + 4.8 - float(player_intelligence[id]/7500))< get_gametime() && button2 & IN_ATTACK)
{
bowdelay[id] = get_gametime()
command_arrow(id)
}
entity_set_int(id, EV_INT_button, (button2 & ~IN_ATTACK) & ~IN_ATTACK2)
}

co do ladowania to szukasz:
public call_cast(id)

i podmieniasz ten plik:
case Hunter: fm_give_item(id, "weapon_hegrenade")

na to
case Hunter:
{
if(player_b_grenade[id]>3){
fm_give_item(id, "weapon_hegrenade")
player_b_grenade[id]--
}
else{
show_hudmessage(id, "Maksymalny poziom he zostal osiagniety..")
}
}

  • +
  • -
  • -1


#328139 [ROZWIĄZANE] zapytanie sql

Napisane przez Leszcz w 29.11.2011 18:18

jesli dobrze mysle to :

zaprezentuje nowa statystyke,ktora bedzie dodawac pancerza.
A wiec zaczynamy!
1.
robisz nowa zmienna np:
new amxx[33]


2.
pozniej szukasz:
public sql_start()


i zamieniasz go na to:
public sql_start()
{
if(sqlstart<0) return
if(g_boolsqlOK) return

new host[128]
new user[64]
new pass[64]
new database[64]

get_cvar_string("diablo_sql_database",database,63)
get_cvar_string("diablo_sql_host",host,127)
get_cvar_string("diablo_sql_user",user,63)
get_cvar_string("diablo_sql_pass",pass,63)

g_SqlTuple = SQL_MakeDbTuple(host,user,pass,database)



get_cvar_string("diablo_sql_table",g_sqlTable,63)

new q_command[512]
format(q_command,511,"CREATE TABLE IF NOT EXISTS `%s` ( `nick` VARCHAR( 64 ),`ip` VARCHAR( 64 ),`sid` VARCHAR( 64 ), `klasa` integer( 2 ) , `lvl` integer( 3 ) DEFAULT 1, `exp` integer( 9 ) DEFAULT 0, `str` integer( 3 ) DEFAULT 0, `int` integer( 3 ) DEFAULT 0, `dex` integer( 3 ) DEFAULT 0, `agi` integer( 3 ) DEFAULT 0, `amx` integer( 3 ) DEFAULT 0 ) ",g_sqlTable)
SQL_ThreadQuery(g_SqlTuple,"TableHandle",q_command)
}


3.
szukasz:
public SaveXP(id)

i zamieniasz na:
public SaveXP(id)
{
if(g_boolsqlOK)
{
if(!is_user_bot(id) && player_xp[id]!=player_xp_old[id])
{
new name[64]
new ip[64]
new sid[64]

get_user_name(id,name,63)
replace_all ( name, 63, "'", "Q" )
replace_all ( name, 63, "`", "Q" )

get_user_ip(id, ip ,63,1)
get_user_authid(id, sid ,63)

if(get_cvar_num("diablo_sql_save")==0)
{
new q_command[512]
format(q_command,511,"UPDATE `%s` SET `ip`='%s',`sid`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`agi`='%i',`amx`='%i' WHERE `nick`='%s' AND `klasa`='%i' ",g_sqlTable,ip,sid,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_agility[id],player_amxx[id],name,player_class[id])

SQL_ThreadQuery(g_SqlTuple,"Save_xp_handle",q_command)
}
else if(get_cvar_num("diablo_sql_save")==1)
{
new q_command[512]
format(q_command,511,"UPDATE `%s` SET `nick`='%s',`sid`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`agi`='%i',`amx`='%i',` WHERE `ip`='%s' AND `klasa`='%i' ",g_sqlTable,name,sid,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_agility[id],player_amxx[id]ip,player_class[id])

SQL_ThreadQuery(g_SqlTuple,"Save_xp_handle",q_command)
}
else if(get_cvar_num("diablo_sql_save")==2)
{
new q_command[512]
format(q_command,511,"UPDATE `%s` SET `nick`='%s',`ip`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`agi`='%i',`amx`='%i' WHERE `sid`='%s' AND `klasa`='%i' ",g_sqlTable,name,ip,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_agility[id],player_amxx[id],sid,player_class[id])

SQL_ThreadQuery(g_SqlTuple,"Save_xp_handle",q_command)
}
player_xp_old[id]=player_xp[id]

}
}
else sql_start()

return PLUGIN_HANDLED
}


5.
szukasz
public Load_xp_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)


i zamieniasz na:
public Load_xp_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
new id = Data[0]
asked_sql[id]=0

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))
{

player_class[id] = Data[1]
player_lvl[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"lvl"))
player_xp[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"exp"))
player_xp_old[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"exp"))

player_intelligence[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"int"))
player_strength[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"str"))
player_agility[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"agi"))
player_amxx[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"amx"))
mana_gracza[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"man"))
player_dextery[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"dex"))

player_point[id]=(player_lvl[id]-1)*2-player_intelligence[id]-player_strength[id]-player_dextery[id]-player_agility[id]-player_amxx[id]
if(player_point[id]<0) player_point[id]=0
player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(player_agility[id])))/100)
}
return PLUGIN_CONTINUE
}


6.
szukasz
public reset_skill(id)

i zamieniasz na:
public reset_skill(id)
{
ColorChat(id,GREEN,"[DiabloMod]^x01 Reset skill'ow")
player_point[id] = player_lvl[id]*2-2
player_intelligence[id] = 0
player_strength[id] = 0
player_agility[id] = 0
player_amxx[id] = 0
player_dextery[id] = 0
BoostRing(id)
BoostStats(id,player_b_extrastats[id])

skilltree(id)
set_speedchange(id)
player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(player_agility[id])))/100)
}


7.
szukasz
public ResetHUD(id)


i zamieniasz na:
public ResetHUD(id)
{

if (is_user_connected(id))
{
remove_task(id+GLUTON)
change_health(id,9999,0,"")



if (c4fake[id] > 0)
{
remove_entity(c4fake[id])
c4fake[id] = 0
}
SubtractStats(id,player_b_extrastats[id])
SubtractRing(id)
if ((player_intelligence[id]+player_strength[id]+player_agility[id]+player_amxx[id]+player_dextery[id])>(player_lvl[id]*2)) reset_skill(id)

BoostStats(id,player_b_extrastats[id])
BoostRing(id)

fired[id] = 0

player_ultra_armor_left[id]=player_ultra_armor[id]

player_b_dagfired[id] = false
ghoststate[id] = 0
earthstomp[id] = 0

if (player_b_blink[id] > 0)
player_b_blink[id] = 1

if (player_b_usingwind[id] > 0)
{
player_b_usingwind[id] = 0
}

if (player_point[id] > 0 ) skilltree(id)
if (player_class[id] == 0) select_class_query(id)

add_bonus_gamble(id) //MUST be first
c4state[id] = 0
client_cmd(id,"hud_centerid 0")
auto_help(id)
add_money_bonus(id)
set_gravitychange(id)
add_redhealth_bonus(id)
SelectBotRace(id)
set_renderchange(id)
if (gRestart[id])
{
gRestart[id] = false
return
}
if (gUpdate[id])
{
gUpdate[id] = false
return
}
if (gHooked[id])
{
remove_hook(id)
}
if (get_pcvar_num(pMaxHooks) > 0)
{
gHooksUsed[id] = 0
statusMsg(0, "[Hook] 0 of %d hooks used.", get_pcvar_num(pMaxHooks))
}
}
}


8.
public skilltree(id)
{
new text[513]
new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)
format(text, 512, "\yWybierz Staty- \rPunkty: \w[\r%i\w]^n^n\w1. \yInteligencja \w[\r%i\w] [\dWieksze obrazenia czarami\w]^n\w2. \ySila \w[\r%i\w] [\dWiecej zycia o \r%i\w]^n\w3. \yZrecznosc \w[\r%i\w] [\dBronie zadaja ci mniejsze obrazenia\w]^n\w4. \yZwinnosc \w[\r%i\w] [\dSzybciej biegasz i magia zadaje ci mniejsze obrazenia\w]^n\w5. \yPancerz \w[\r%i\w] [\dDostajesz armor na start\w]"
,player_point[id],player_intelligence[id],player_strength[id],player_strength[id]*2,player_agility[id],player_dextery[id],player_amxx[id])
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)
show_menu(id, keys, text)
return PLUGIN_HANDLED
}
public skill_menu(id, key)
{
switch(key)
{
case 0:
{
if (player_intelligence[id]<70){
player_point[id]-=1
player_intelligence[id]+=1
}
else client_print(id,print_center,"Maxymalny poziom inteligencji osiagniety")

}
case 1:
{
if (player_strength[id]<70){
player_point[id]-=1
player_strength[id]+=1
}
else client_print(id,print_center,"Maxymalny poziom sily osiagniety")
}
case 2:
{
if (player_agility[id]<70){
player_point[id]-=1
player_agility[id]+=1
player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(player_agility[id])))/100)
}
else client_print(id,print_center,"Maxymalny poziom zrecznosci osiagniety")

}
case 3:
{
if (player_dextery[id]<70){
player_point[id]-=1
player_dextery[id]+=1
set_speedchange(id)
}
else client_print(id,print_center,"Maxymalny poziom zwinnosci osiagniety")
}
case 4:
{
if (player_armor[id]<70){
player_point[id]-=1
player_armor[id]+=1
set_armorchange(id)
}
else client_print(id,print_center,"Maxymalny poziom pancerza osiagniety")
}
}
if (player_point[id] > 0)
skilltree(id)

return PLUGIN_HANDLED
}


9. i na koncu sma dodajesz:
public set_armorchange(id)
{
if(is_user_alive(id))
{
new armo = get_user_armor(id)
new armorr = player_armor[id]*2
if (armo>99)
{
set_user_armor(id,get_user_armor(id)+armorr)
}
set_user_armor(id,armorr)

}
}

  • +
  • -
  • 1