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.
|
Natyw zwracający nazwę klasy
#1
Napisano 15.02.2012 19:56
#2
Napisano 15.02.2012 21:08
Pseudo kod:
public ZwrocNazweKlasy( id, tablica, len ){
copy( tablica, len, klasa_gracza );
}
#3
Napisano 15.02.2012 21:52
#5
Napisano 16.02.2012 12:42
register_native("db_get_user_class_name", "ZwrocNazweKlasy", 1)
}
public ZwrocNazweKlasy(id, tablica[], len){
copy(tablica, len, player_class);
}
w diablomod.inc:
native db_get_user_class_name(id, tablica[], len);
Użytkownik bluu edytował ten post 16.02.2012 12:43
#6
Napisano 16.02.2012 13:43
public ZwrocNazweKlasy(id, tablica[], len){
copy(tablica, len, Race[ player_class[ id ] ]);
}
Użycie:
new szText[ 128 ];
ZwrocNazweKlasy( id, szText, charsmax( szText ) );
Powyższy kod kopiuje nazwe aktualnej klasy do zmiennej.
#7
Napisano 16.02.2012 14:24
Mógłbyś mi to podstawić w tym pluginie? Aby to chodziło.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <diablomod>
#define PLUGIN "Prefixy COD"
#define VERSION "1.0"
#define AUTHOR "DarkGL"
new pCvarPrefixy;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_message(get_user_msgid("SayText"),"handleSayText");
pCvarPrefixy = register_cvar("cod_prefix","1");
}
public handleSayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(!is_user_connected(id)) return PLUGIN_CONTINUE;
new szTmp[256],szTmp2[256],szTmp3[256];
get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
new szPrefix[64]
switch(get_pcvar_num(pCvarPrefixy)){
case 1:{
db_get_user_class_name(db_get_user_class(id),szTmp3,charsmax( szTmp3 ))
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",szTmp3);
}
case 2:{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%d]",db_get_user_level(id));
}
case 3:{
db_get_user_class_name(db_get_user_class(id),szTmp3,charsmax( szTmp3 ))
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s - %d]",szTmp3,db_get_user_level(id));
}
}
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
return PLUGIN_CONTINUE;
}
Użytkownik bluu edytował ten post 16.02.2012 14:24
#8
Napisano 16.02.2012 14:31
#include <amxmodx>
#include <diablomod>
#define PLUGIN "Prefixy COD"
#define VERSION "1.0"
#define AUTHOR "DarkGL"
new pCvarPrefixy;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_message(get_user_msgid("SayText"),"handleSayText");
pCvarPrefixy = register_cvar("cod_prefix","1");
}
public handleSayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(!is_user_connected(id)) return PLUGIN_CONTINUE;
new szTmp[256],szTmp2[256],szTmp3[256];
get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
new szPrefix[64]
switch(get_pcvar_num(pCvarPrefixy)){
case 1:{
db_get_user_class_name(id,szTmp3,charsmax( szTmp3 ))
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",szTmp3);
}
case 2:{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%d]",db_get_user_level(id));
}
case 3:{
db_get_user_class_name(db_get_user_class(id),szTmp3,charsmax( szTmp3 ))
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s - %d]",szTmp3,db_get_user_level(id));
}
}
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
return PLUGIN_CONTINUE;
}
#9
Napisano 16.02.2012 14:46
(22) 010: invalid function or declaration
(22) 001: expected token ")", but found "sizeof"
(22) 010: invalid function or declaration
(22) 107: too many error messages on one line
Użytkownik bluu edytował ten post 16.02.2012 14:54
#10
Napisano 16.02.2012 15:07
native db_get_user_class_name(id, tablica[], len);
Sprawdź ponownie.
#include <amxmodx>
#include <diablomod>
#define PLUGIN "Prefixy COD"
#define VERSION "1.0"
#define AUTHOR "DarkGL"
new pCvarPrefixy;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_message(get_user_msgid("SayText"),"handleSayText");
pCvarPrefixy = register_cvar("cod_prefix","1");
}
public handleSayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
new szTmp[256],szTmp2[256], szTmp3[256], szPrefix[64];
get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
switch(get_pcvar_num(pCvarPrefixy)){
case 1:{
db_get_user_class_name(id, szTmp3, charsmax( szTmp3 ));
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",szTmp3);
}
case 2:{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%d]",db_get_user_level(id));
}
case 3:{
db_get_user_class_name(id, szTmp3, charsmax( szTmp3 ));
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s - %d]",szTmp3,db_get_user_level(id));
}
}
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
return PLUGIN_CONTINUE;
}
#11
Napisano 16.02.2012 15:53
#12
Napisano 16.02.2012 15:58
#13
Napisano 16.02.2012 16:18
#14
Napisano 16.02.2012 16:19
Level pokazuje ale przy nazwie klasy jest pusta spacja.
#15
Napisano 16.02.2012 16:32
#16
Napisano 16.02.2012 16:37
register_library("DiabloMod_Items");
register_native("diablo_send_user_item", "_diablo_send_user_item");
register_native("diablo_get_user_item", "_diablo_get_user_item");
register_native("db_get_user_class_name", "ZwrocNazweKlasy", 1)
register_native("db_get_user_xp", "native_get_user_xp", 1)
register_native("db_set_user_xp", "native_set_user_xp", 1)
Wycinek2:
public dmg_exp(id)
{
new min=get_cvar_num("diablo_dmg_exp")
if(min<1) return
new exp=0
while(player_dmg[id]>min)
{
player_dmg[id]-=min
exp++
}
Give_Xp(id,exp)
}
public ZwrocNazweKlasy(id, tablica[], len){
copy(tablica, len, Race[ player_class[ id ] ]);
}
public native_get_user_xp(id)
{
return player_xp[id]
}
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych