-
Üdv mindenkinek! Megpróbálom minél érthetõbben leírni azt amit szeretnék.... Azt szeretném tudni, hogy olyan scriptet, hogy tudok írni amiben pl /addminigun parancsal ha RCON admin vagyok akkor adhatok a playernek fegyvert....Nem tudom mi az \"függvénye\" annak, hogy ne magadnak add a fegyvert, hanem a másik playernek...Most gondolom sok scripter hülyének néz, de nem tudom ezt :S Aki segít annak köszönöm!
-
COMMAND:giveweapon(playerid,params[])
{
new pid, wid, amt;
if(sscanf(params,\"udd\",pid,wid,amt))return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat / if(wid < 0 || wid >40)return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\"); if(pid != INVALID_PLAYER_ID && IsPlayerConnected(pid))
{
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(pid,wid,amt);
}
else SendClientMessage(playerid,0xff0000FF,\"Nem haszalhatod ezt a parancsot!);
}
else SendClientMessage(playerid,0xff0000FF,\"Játékos nincsen fent!\");
return 1;
}
Tessék minden fegyvert lehet adni :)
-
Köszönöm, de megmagyaráznád légyszi? Nem sokat értek belõle, hogy ez miért és hogyan? Elõre is kösz.
Dupla hozzászólás automatikusan összefûzve. ( 2012. június 18. - 12:58:17 )
Most nézem...Nem mûködik...
#include <a_samp>
#include <zcmd>
#include <sscanf>
COMMAND:giveweapon(playerid,paams[])
{
new pid, wid, amt;
if(sscanf(params,\"udd\",pid,wid,amt))return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat / if(wid < 0 || wid >40)return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\"); if(pid != INVALID_PLAYER_ID && IsPlayerConnected(pid))
{
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(pid,wid,amt);
}
else SendClientMessage(playerid,0xff0000FF,\"Nem haszalhatod ezt a parancsot!);
}
else SendClientMessage(playerid,0xff0000FF,\"Játékos nincsen fent!\");
return 1;
}
Hiba:
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : error 017: undefined symbol \"params\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : error 001: expected token: \"-string end-\", but found \"-identifier-\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : error 017: undefined symbol \"Rossz\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
-
COMMAND:giveweapon(playerid,params[])
{
new pid, wid, amt;
if(sscanf(params,\"udd\",pid,wid,amt))return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat / if(wid < 0 || wid >40)return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\"); if(pid != INVALID_PLAYER_ID && IsPlayerConnected(pid))
{
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(pid,wid,amt);
}
else SendClientMessage(playerid,0xff0000FF,\"Nem haszalhatod ezt a parancsot!);
}
else SendClientMessage(playerid,0xff0000FF,\"Játékos nincsen fent!\");
return 1;
}
Tessék minden fegyvert lehet adni :)
Tessék elhagyan egy r betût!
-
a parancs:
#include <a_samp>
#include <zcmd>
#include <sscanf>
COMMAND:giveweapon(playerid,params[])
{
new pid, wid, amt;
if(sscanf(params,\"udd\",pid,wid,amt))return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat / if(wid < 0 || wid >40)return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\"); if(pid != INVALID_PLAYER_ID && IsPlayerConnected(pid))
{
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(pid,wid,amt);
}
else SendClientMessage(playerid,0xff0000FF,\"Nem haszalhatod ezt a parancsot!);
}
else SendClientMessage(playerid,0xff0000FF,\"Játékos nincsen fent!\");
return 1;
}
Híbák:
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : error 001: expected token: \"-string end-\", but found \"-identifier-\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : error 017: undefined symbol \"Rossz\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : error 017: undefined symbol \"fegyver\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
-
Most jó
#include <a_samp>
#include <zcmd>
#include <sscanf>
COMMAND:giveweapon(playerid,params[])
{
new pid, wid, amt;
if(sscanf(params,\"udd\",pid,wid,amt))return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat / if(wid < 0 || wid >40)return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\");
if(pid != INVALID_PLAYER_ID && IsPlayerConnected(pid))
{
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(pid,wid,amt);
}
else SendClientMessage(playerid,0xff0000FF,\"Nem haszalhatod ezt a parancsot!);
}
else SendClientMessage(playerid,0xff0000FF,\"Játékos nincsen fent!\");
return 1;
}
-
Nálam így is:
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : error 001: expected token: \"-string end-\", but found \"-identifier-\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : error 017: undefined symbol \"Rossz\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(8) : error 017: undefined symbol \"fegyver\"
C:\\Users\\Dokumentumokl\\Desktop\\rconteszt1.pwn(8) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
-
#include <a_samp>
#include <zcmd>
#include <sscanf>
COMMAND:giveweapon(playerid,params[])
{
new pid, wid, amt;
if(sscanf(params,\"udd\",pid,wid,amt))return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat /givegun [Név/ID] [Fegyver ID] [Lõszer]\");
if(wid < 0 || wid >40)return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\");
if(pid != INVALID_PLAYER_ID && IsPlayerConnected(pid))
{
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(pid,wid,amt);
}
else SendClientMessage(playerid,0xff0000FF,\"Nem haszalhatod ezt a parancsot!);
}
else SendClientMessage(playerid,0xff0000FF,\"Játékos nincsen fent!\");
return 1;
}
-
Most jó
#include <a_samp>
#include <zcmd>
#include <sscanf>
COMMAND:giveweapon(playerid,params[])
{
new pid, wid, amt;
if(sscanf(params,\"udd\",pid,wid,amt)) return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat / if(wid < 0 || wid >40) return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\");
if(pid != INVALID_PLAYER_ID && IsPlayerConnected(pid))
{
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(pid,wid,amt);
}
else SendClientMessage(playerid,0xff0000FF,\"Nem haszalhatod ezt a parancsot!);
}
else SendClientMessage(playerid,0xff0000FF,\"Játékos nincsen fent!\");
return 1;
}
Javítottam a return össze értek.
-
Inkább ez a baja:
if(sscanf(params,\"udd\",pid,wid,amt)) return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat / if(wid < 0 || wid >40) return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\");
-
Ebben vannak a hibák:
if(sscanf(params,\"udd\",pid,wid,amt)) return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat / if(wid < 0 || wid >40) return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\");
-
CMD:giveweapon(playerid,params[])
{
if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,5,\"Nem vagy RCON ADMIN !\");
new target,weaponid,tolteny,str[200];
if(sscanf(params,\"ddd\",target,weaponid,tolteny)) return SendClientMessage(playerid,SARGA,\"Használat : /giveweapon [iD] [Fegyverid][Tolteny]\");
if(weaponid < 1 || weaponid > 46) return SendClientMessage(playerid,PIROS,\"Csak 1-46 közt lehetnek a fegyverek!\");
format(str,sizeof(str),\"Fegyvert adtál neki :%s , Fegyver ID:%d, Töltény:%d\",pName(playerid),weaponid,tolteny);
SendClientMessage(playerid,SARGA,str);
format(str,sizeof(str),\"Fegyvert kaptál tõle :%s\",pName(playerid));
SendClientMessage(target,SARGA,str);
GivePlayerWeapon(target,weaponid,tolteny);
return 1;
}
tessék,
ez jó ?
-
Nem ismeri fel a pName-et ebben az esetben:
#include <a_samp>
#include <zcmd>
#include <sscanf>
#define PIROS 0xAA3333AA
#define SARGA 0xFFFF00AA
CMD:giveweapon(playerid,params[])
{
if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,5,\"Nem vagy RCON ADMIN !\");
new target,weaponid,tolteny,str[200];
if(sscanf(params,\"ddd\",target,weaponid,tolteny)) return SendClientMessage(playerid,SARGA,\"Használat : /giveweapon [iD] [Fegyverid][Tolteny]\");
if(weaponid < 1 || weaponid > 46) return SendClientMessage(playerid,PIROS,\"Csak 1-46 közt lehetnek a fegyverek!\");
format(str,sizeof(str),\"Fegyvert adtál neki :%s , Fegyver ID:%d, Töltény:%d\",pName(playerid),weaponid,tolteny);
SendClientMessage(playerid,SARGA,str);
format(str,sizeof(str),\"Fegyvert kaptál tõle :%s\",pName(playerid));
SendClientMessage(target,SARGA,str);
GivePlayerWeapon(target,weaponid,tolteny);
return 1;
}
bizonyíték:
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(12) : error 017: undefined symbol \"pName\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(14) : error 017: undefined symbol \"pName\"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
ha hozzá írom a pName változót akkor így néz ki:
#include <a_samp>
#include <zcmd>
#include <sscanf>
#define PIROS 0xAA3333AA
#define SARGA 0xFFFF00AA
CMD:giveweapon(playerid,params[])
{
new pName[MAX_PLAYER_NAME];
if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,5,\"Nem vagy RCON ADMIN !\");
new target,weaponid,tolteny,str[200];
if(sscanf(params,\"ddd\",target,weaponid,tolteny)) return SendClientMessage(playerid,SARGA,\"Használat : /giveweapon [iD] [Fegyverid][Tolteny]\");
if(weaponid < 1 || weaponid > 46) return SendClientMessage(playerid,PIROS,\"Csak 1-46 közt lehetnek a fegyverek!\");
format(str,sizeof(str),\"Fegyvert adtál neki :%s , Fegyver ID:%d, Töltény:%d\",pName(playerid),weaponid,tolteny);
SendClientMessage(playerid,SARGA,str);
format(str,sizeof(str),\"Fegyvert kaptál tõle :%s\",pName(playerid));
SendClientMessage(target,SARGA,str);
GivePlayerWeapon(target,weaponid,tolteny);
return 1;
}
Hiba:
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(13) : error 012: invalid function call, not a valid address
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(13) : warning 215: expression has no effect
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(13) : error 001: expected token: \";\", but found \")\"
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(13) : error 029: invalid expression, assumed zero
C:\\Users\\Dokumentumok\\Desktop\\rconteszt1.pwn(13) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Szóval így sem jó :S
-
#include <a_samp>
#include <zcmd>
#include <sscanf>
#define PIROS 0xAA3333AA
#define SARGA 0xFFFF00AA
CMD:giveweapon(playerid,params[])
{
if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,5,\"Nem vagy RCON ADMIN !\");
new target,weaponid,tolteny,str[200];
if(sscanf(params,\"ddd\",target,weaponid,tolteny)) return SendClientMessage(playerid,SARGA,\"Használat : /giveweapon [iD] [Fegyverid][Tolteny]\");
if(weaponid < 1 || weaponid > 46) return SendClientMessage(playerid,PIROS,\"Csak 1-46 közt lehetnek a fegyverek!\");
format(str,sizeof(str),\"Fegyvert adtál neki :%s , Fegyver ID:%d, Töltény:%d\",pName(playerid),weaponid,tolteny);
SendClientMessage(playerid,SARGA,str);
format(str,sizeof(str),\"Fegyvert kaptál tõle :%s\",pName(playerid));
SendClientMessage(target,SARGA,str);
GivePlayerWeapon(target,weaponid,tolteny);
return 1;
}
stock pName( playerid )
{
new
s_szPlayerName[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, s_szPlayerName, MAX_PLAYER_NAME );
return s_szPlayerName;
}
-
#include <a_samp>
#include <zcmd>
#include <sscanf>
COMMAND:giveweapon(playerid,params[])
{
new pid, wid, amt;
if(sscanf(params,\"udd\",pid,wid,amt))return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat /givegun [Név/ID] [Fegyver ID] [Lõszer]\");
if(wid < 0 || wid >40)return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\");
if(pid != INVALID_PLAYER_ID && IsPlayerConnected(pid))
{
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(pid,wid,amt);
}
else SendClientMessage(playerid,0xff0000FF,\"Nem haszalhatod ezt a parancsot!);
}
else SendClientMessage(playerid,0xff0000FF,\"Játékos nincsen fent!\");
return 1;
}
-
#include <a_samp>
#include <zcmd>
#include <sscanf>
#define PIROS 0xAA3333AA
#define SARGA 0xFFFF00AA
CMD:giveweapon(playerid,params[])
{
if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,5,\"Nem vagy RCON ADMIN !\");
new target,weaponid,tolteny,str[200];
if(sscanf(params,\"ddd\",target,weaponid,tolteny)) return SendClientMessage(playerid,SARGA,\"Használat : /giveweapon [iD] [Fegyverid][Tolteny]\");
if(weaponid < 1 || weaponid > 46) return SendClientMessage(playerid,PIROS,\"Csak 1-46 közt lehetnek a fegyverek!\");
format(str,sizeof(str),\"Fegyvert adtál neki :%s , Fegyver ID:%d, Töltény:%d\",pName(playerid),weaponid,tolteny);
SendClientMessage(playerid,SARGA,str);
format(str,sizeof(str),\"Fegyvert kaptál tõle :%s\",pName(playerid));
SendClientMessage(target,SARGA,str);
GivePlayerWeapon(target,weaponid,tolteny);
return 1;
}
stock pName( playerid )
{
new
s_szPlayerName[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, s_szPlayerName, MAX_PLAYER_NAME );
return s_szPlayerName;
}
Ez mûködik, de nem csak admin tudja használni...Valaki segítene?
-
Ezt:
if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,5,\"Nem vagy RCON ADMIN !\");
Cseréld ki erre:
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,5,\"Nem vagy RCON ADMIN !\");
-
Ebben vannak a hibák:
if(sscanf(params,\"udd\",pid,wid,amt)) return SendClientMessage(playerid,0xff0000FF,\"ERROR: Használat / if(wid < 0 || wid >40) return SendClientMessage(playerid,0xff0000FF,\"ERROR: Rossz fegyver ID\");
Ezt javítsd ki erre:
if(sscanf(params,\"udd\",pid,wid,amt)) return SendClientMessage(playerid,0xff0000FF,\"Használat: /giveweapon (PlayerID / Név) (Fegyver ID) (Töltény));
-
Amúgy ha RCON parancsot akarsz:
VAN KÜLÖN EGY ILYEN public!
OnRconCommand azthiszem. Van rcon parancsfeldolgozó. Ha nem zcmd-vel csinálod, hanem ebbe az rconos publicba, akkor a konzolból is tudod írni!
-
Megoldódott köszönöm!