Ce sunt if-urile? [Amxx]
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
-
- Membru, skill 0
- Posts: 9
- Joined: 05 Jan 2008, 03:01
- Detinator Steam: Da
- Contact:
da si am uitat sa spun ca pot fi folosit && si || in acelasi if.
Sper ca va place ce fac.
- aNNakin
- Fost administrator
- Posts: 10464
- Joined: 17 Dec 2007, 21:42
- Detinator Steam: Da
- CS Status: a iubi - necesar si suficient
- Detinator server CS: romania.cs16.ro
- SteamID: anakin_cstrike16
- Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator - Location: di.fm
- Has thanked: 230 times
- Been thanked: 787 times
- Contact:
da :) , de exemplu :hip_hop_x wrote:da si am uitat sa spun ca pot fi folosit && si || in acelasi if.
1.
Code: Select all
if(!(get_user_flags(id) & ADMIN_RCON))
-> verifica flag-urile user-ului si daca are accesul ADMIN_RCON
Code: Select all
new clip, ammo
new iwpn = get_user_weapon(id,clip,ammo)
new atack = get_user_button(id)
if( iwpn == CSW_AWP && atack & IN_ATTACK)
{
//ceva
}
2.
Code: Select all
new name[32]
get_user_name(id, name, 31)
if(containi(name, "player") != -1 || containi(name, "unnamed") != -1 || containi(name, "`") != -1 || containi(name, "~") != -1)
=> Toate intr-un singur if dupa cum zicea hip_hop_x
-
- Membru, skill 0
- Posts: 96
- Joined: 24 Oct 2007, 05:09
- Detinator Steam: Da
- CS Status: dnd
Da anakin de acord cu tine dar trebuie un picut specificat sa dea un #define ACCESS ADMIN_KICK sau de exemplu sus pana in plugin_init sau ce vor ei in loc de ADMIN_KICK .. :P ca ei folosesc functia si le da eroare de la "ACCESS" ala .. >:d<3. a). if(!(get_user_flags(id) & ACCESS)) -> un mod de a verifica daca user-ul este admin,aceasta este doar daca nu este admin
b). if(get_user_flags(id) & ACCESS) -> un mod de a verifica daca user-ul este admin,aceasta este doar daca este admin
Si aici iar nu prea sunt de acord (parerea mea) ar fi mai repede executat asta ->
cu asta ->ex : if(!target)
{
client_print(id,print_chat,"Player not found!")
return PLUGIN_HANDLED
}
Code: Select all
ex : if(!target)
{
client_print(id,print_chat,"Player not found!")
return 1
}
- aNNakin
- Fost administrator
- Posts: 10464
- Joined: 17 Dec 2007, 21:42
- Detinator Steam: Da
- CS Status: a iubi - necesar si suficient
- Detinator server CS: romania.cs16.ro
- SteamID: anakin_cstrike16
- Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator - Location: di.fm
- Has thanked: 230 times
- Been thanked: 787 times
- Contact:
1. Postule vechi, nu aveam mare experienta acolo ;))
2. Nu e nevoie de mesaj, functia are propriul mesaj
3. Daca pui return 1 e tot una cu return PLUGIN_HANDLED, doar ca e Hard code. E mai bine sa folosesti PLUGIN_HANDLED pentru ca e definit deja pentru asta.
2. Nu e nevoie de mesaj, functia are propriul mesaj
3. Daca pui return 1 e tot una cu return PLUGIN_HANDLED, doar ca e Hard code. E mai bine sa folosesti PLUGIN_HANDLED pentru ca e definit deja pentru asta.
- aNNakin
- Fost administrator
- Posts: 10464
- Joined: 17 Dec 2007, 21:42
- Detinator Steam: Da
- CS Status: a iubi - necesar si suficient
- Detinator server CS: romania.cs16.ro
- SteamID: anakin_cstrike16
- Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator - Location: di.fm
- Has thanked: 230 times
- Been thanked: 787 times
- Contact:
- d3iul
- Membru, skill +1
- Posts: 244
- Joined: 29 Jan 2009, 12:12
- Detinator Steam: Nu
- CS Status: Daca iti cer ajutorul ajutama
- Detinator server CS: da
- Been thanked: 1 time
care este problema??
IN asta scrie:/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Exec"
#define VERSION "1.0"
#define AUTHOR "Deiu"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("admin_exec" , "exec" ,ADMIN_KICK , "- <nume> Executa o comanda")
set_task(5.0, "mesaj", 0, _, _, _, 0)
register_concmd("admin_demo" , "demo" ,ADMIN_KICK , "- <nume> Porneste un demo asupra jucatorului")
// Add your code here...
}
public exec(id) {
server_cmd("exec userconfig.cfg")
}
public mesaj(){
set_hudmessage(0, 42, 255, 0.0, 0.6, 0, 6.0, 5.0)
show_hudmessage(0 , "Bine ati venit pe serveru-l nostru")
}
public demo(id)
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
client_cmd(id ,"record new")
else
client_print(id , print_console,"Jucatorul nu este in viata")
{
Code: Select all
Welcome to the AMX Mod X 1.76-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Error: Undefined symbol "level" on line 29
Warning: Function "demo" should return a value on line 31
Error: Symbol already defined: "client_cmd" on line 31
Error: Invalid function or declaration on line 32
3 Errors.
Could not locate output file C:\Program Files\AMX Mod X\amxxstudio\Untitled.amx (compile failed).
- Alien Runner
- Membru, skill +2
- Posts: 549
- Joined: 17 Apr 2008, 13:27
- Detinator Steam: Nu
- Has thanked: 14 times
- Been thanked: 4 times
De ce apare acolo ADMIN_KICK ? Nu inteleg... :-SFireW@ll wrote:Code: Select all
#include <amxmodx> #include <amxmisc> #define PLUGIN "New Plugin" #define VERSION "1.0" #define AUTHOR "Author" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_concmd("amx_ss","ss",ADMIN_KICK,"- <nume> snapshot a player") } public ss(id){ if(is_user_alive(id)) client_cmd(id,"snapshot") else client_print(id, print_console,"Nu e in viata acel user") }
- d3iul
- Membru, skill +1
- Posts: 244
- Joined: 29 Jan 2009, 12:12
- Detinator Steam: Nu
- CS Status: Daca iti cer ajutorul ajutama
- Detinator server CS: da
- Been thanked: 1 time
nu inteleg care este problema ajutatima si pe mine/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Exec"
#define VERSION "1.0"
#define AUTHOR "Deiu"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("admin_exec" , "exec" ,ADMIN_KICK , "- <nume> Executa o comanda")
set_task(5.0, "mesaj", 0, _, _, _, 0)
register_concmd("admin_demo" , "demo" ,ADMIN_KICK , "- <nume> Porneste un demo asupra jucatorului")
// Add your code here...
}
public exec(id) {
server_cmd("exec userconfig.cfg")
}
public mesaj(){
set_hudmessage(0, 42, 255, 0.0, 0.6, 0, 6.0, 5.0)
show_hudmessage(0 , "Bine ati venit pe serveru-l nostru")
}
public demo(id)
if (!cmd_access(id, "level", cid))
return PLUGIN_HANDLED
client_cmd(id ,"record new")
return PLUGIN_CONTINUE
else
client_print(id , print_console,"Jucatorul nu este in viata")
{
Code: Select all
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Error: Argument type mismatch (argument 2) on line 29
Warning: Function "demo" should return a value on line 32
Error: Symbol already defined: "client_cmd" on line 32
Error: Invalid function or declaration on line 33
Error: Invalid function or declaration on line 34
4 Errors.
Could not locate output file C:\Program Files\AMX Mod X\amxxstudio\plugins\Untitled.amx (compile failed).
- aNNakin
- Fost administrator
- Posts: 10464
- Joined: 17 Dec 2007, 21:42
- Detinator Steam: Da
- CS Status: a iubi - necesar si suficient
- Detinator server CS: romania.cs16.ro
- SteamID: anakin_cstrike16
- Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator - Location: di.fm
- Has thanked: 230 times
- Been thanked: 787 times
- Contact:
Nu poti pune {, else, unde vrei tu...toate au o logica. Ai pus { care inseamna ca ceva urmeaza, iar in cazul tau nu e nimic.
Ai pus acolo "else ... jucatorul nu este in viata" dar nu ai pus conditia". Ceva de genul
Apoi, si daca va merge...tu iti vei face demo tie. Click
Cam asa ceva
Eu am lasat spatii intre ( ) ca sa se vada mai bine.
PS: functiile cmd_access si cmd_target au mesaj propriu din amxx; deci daca nu are acces ii va fi afisat un mesaj automat, la fel si la cmd_target.
Ai pus acolo "else ... jucatorul nu este in viata" dar nu ai pus conditia". Ceva de genul
Code: Select all
if ( !is_user_alive ( jucator ) )
{
console_print ( id, "Jucatorul nu este in viata!" );
return PLUGIN_HANDLED;
}
Cam asa ceva
Code: Select all
#include < amxmodx >
#include < amxmisc >
public plugin_init ( )
register_concmd ( "amx_demo", "demo_cmd", ADMIN_SLAY, " <jucator>" );
public demo_cmd ( id, level, cid )
{
// verificam daca are acces, daca nu are ne oprim
if ( ! cmd_access ( id, level, cid, 2 ) )
return PLUGIN_HANDLED;
// citim argumentul din consola
new arg[ 32 ];
read_argv ( 1, arg, 31 );
/* 12 = 4 + 8
4 - trebuie sa fie in viata
8 - nu poate fi bot
*/
new jucator = cmd_target ( id, arg, 12 );
// verificam daca jucatorul specificat exista
if ( ! jucator )
return PLUGIN_HANDLED;
// facem demo cu numele hartii
new map[ 32 ];
get_mapname ( map, 31 );
// executam comanda
client_cmd ( jucator, "record %s", map );
// va fi ceva de genul "de_dust2.dem"
return PLUGIN_HANDLED;
}
PS: functiile cmd_access si cmd_target au mesaj propriu din amxx; deci daca nu are acces ii va fi afisat un mesaj automat, la fel si la cmd_target.
- sadrzaj
- Fost moderator
- Posts: 536
- Joined: 11 Mar 2009, 17:19
- Detinator Steam: Da
- CS Status: OWNING
- Detinator server CS: NORD.INDUNGI.RO
- SteamID: george185
- Reputatie: Fost detinator DM.eXtreamCS.com
Fost Moderator
Nume anterior : ScreaM - Location: Botosani
- Has thanked: 78 times
- Been thanked: 41 times
- Contact:
ala e accesul . adica adminul care are acces la comanda admin_kick are acces si la pluginul astaAlien Runner wrote:De ce apare acolo ADMIN_KICK ? Nu inteleg... :-SFireW@ll wrote:Code: Select all
#include <amxmodx> #include <amxmisc> #define PLUGIN "New Plugin" #define VERSION "1.0" #define AUTHOR "Author" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_concmd("amx_ss","ss",ADMIN_KICK,"- <nume> snapshot a player") } public ss(id){ if(is_user_alive(id)) client_cmd(id,"snapshot") else client_print(id, print_console,"Nu e in viata acel user") }
- pigmy
- Membru, skill +2
- Posts: 594
- Joined: 14 Dec 2007, 17:49
- Detinator Steam: Da
- CS Status: PEACE!
- Has thanked: 2 times
- Been thanked: 23 times
Imi zice si mie cineva... ^:)^
Am: sa mearga comanda doar daca e viu jucatorul.
Vreau sa pun un mesaj sa ii apara:
Pana acuma arata cam asa:
Cand vreau sa-l fac imi zice ceva de argument...
Am asa la public:
Cum ar trebui, imi ziceti si mie va rog, un exemplu daca se poate, simplu doar care sa caute jucatorul daca e in viata. Multumesc.
Am:
Code: Select all
if(is_user_alive(id))
Vreau sa pun un mesaj sa ii apara:
Code: Select all
client_print(id,"Nu esti viu, nu iti poti face poza decat cand esti viu.")
Code: Select all
if(is_user_alive(id))
{
client_print(id,"Nu esti viu, nu iti poti face poza decat daca esti viu.")
return PLUGIN_HANDLED
}
Am asa la public:
Code: Select all
public sscmd(id)