-
Helló!
Kéne nekem egy /adminok parancs.
Dialogban kéne az online adminokat és, hogy hány szintesek. 1-5
Köszönöm :)
Sürgõs lenne :) :(
-
:attila:
Milyen admin rendszert használsz?
:smokin:
-
Ladmin4v2
-
Ezt nem igazán értem. Az ladmin4v2-ben alap van /admins parancs...
-
Hát én nem találtam benne...
De nekem olyan kéne, hogy /adminok -ra online adminok.
És dialogos...
-
Ha rákattintunk a nevekre, akkor mi történjen?
-
Hát mondjuk PM -et lehet irni neki.
-
new
pID[MAX_PLAYERS],
pName[MAX_PLAYER_NAME],
str[128],
count;
#define ADMINOK 5555
#define PM 5556
CMD:adminok(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerLAdmin(playerid))
{
GetPlayerName(i,pName,sizeof(pName));
format(str,sizeof(str),\"%s\",pName(i));
pID;
count++;
}
}
}
if(count == 0){
ShowPlayerDialog(playerid,ADMINOK,DIALOG_STYLE_MSGBOX,\"Online Adminok\",\"Nincs online adminisztrátor!\",\"PM\",\"Kilépés\");
}
ShowPlayerDialog(playerid,ADMINOK,DIALOG_STYLE_LIST,\"Online Adminok\",str,\"PM\",\"Kilépés\");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == ADMINOK)
{
if(response)
{
ShowPlayerDialog(playerid,PM,DIALOG_STYLE_INPUT,\"Privát üzenet\",\"Írd be a kívánt üzenetet és továbítsuk az adminnak\",\"Küld\",\"Kilépés\");
}
}
if(dialogid == PM)
{
if(response)
{
GetPlayerName(playerid,pName,sizeof(pName));
format(str,sizeof(str),\"%s Üzenete: %s\",pName,inputtext);
SendClientMessage(pID[listitem],-1,str);
}
}
return 1;
}
Nem teszteltem ha hibát találsz jelezd..
-
Köszönöm ! Megy a + , de egy hiba.
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\filterscripts\\OnAdmin.pwn(54) : warning 203: symbol is never used: \"adminok\"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Warning.
-
Köszönöm ! Megy a + , de egy hiba.
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\filterscripts\\OnAdmin.pwn(54) : warning 203: symbol is never used: \"adminok\"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Warning.
#include zcmd
-
öhm.
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\filterscripts\\OnAdmin.pwn(19) : error 017: undefined symbol \"IsPlayerLAdmin\"
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\filterscripts\\OnAdmin.pwn(22) : error 012: invalid function call, not a valid address
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\filterscripts\\OnAdmin.pwn(22) : warning 215: expression has no effect
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\filterscripts\\OnAdmin.pwn(22) : error 001: expected token: \";\", but found \")\"
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\filterscripts\\OnAdmin.pwn(22) : error 029: invalid expression, assumed zero
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\filterscripts\\OnAdmin.pwn(22) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
5 Errors.
-
Szia!
Mód elejére:
[pawn]#include IsPlayerLAdmin[/pawn]
És innen töltheted le:
http://solidfiles.com/d/5e48/
Remélem megoldódott a problémád! ;)
-
Szerintem amúgy ez csak egy sort fog megjeleníteni, mert a ciklusban mindig úgy formázod az str változót, hogy az elõzõ neveket nem adod hozzá, szóval szerintem így kéne:
new
pID[MAX_PLAYERS],
pName[MAX_PLAYER_NAME],
str[128],
count;
#define ADMINOK 5555
#define PM 5556
CMD:adminok(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerLAdmin(playerid))
{
GetPlayerName(i,pName,sizeof(pName));
format(str,sizeof(str),\"%s%s\\n\", str, pName);
pID;
count++;
}
}
}
if(count == 0){
ShowPlayerDialog(playerid,ADMINOK,DIALOG_STYLE_MSGBOX,\"Online Adminok\",\"Nincs online adminisztrátor!\",\"PM\",\"Kilépés\");
}
ShowPlayerDialog(playerid,ADMINOK,DIALOG_STYLE_LIST,\"Online Adminok\",str,\"PM\",\"Kilépés\");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == ADMINOK)
{
if(response)
{
ShowPlayerDialog(playerid,PM,DIALOG_STYLE_INPUT,\"Privát üzenet\",\"Írd be a kívánt üzenetet és továbítsuk az adminnak\",\"Küld\",\"Kilépés\");
}
}
if(dialogid == PM)
{
if(response)
{
GetPlayerName(playerid,pName,sizeof(pName));
format(str,sizeof(str),\"%s Üzenete: %s\",pName,inputtext);
SendClientMessage(pID[listitem],-1,str);
}
}
return 1;
}
-
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\pawno\\include\\dutils.inc(318) : warning 219: local variable \"count\" shadows a variable at a preceding level
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\pawno\\include\\dutils.inc(337) : warning 219: local variable \"count\" shadows a variable at a preceding level
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\pawno\\include\\dutils.inc(355) : warning 219: local variable \"count\" shadows a variable at a preceding level
D:\\Documents and Settings\\XP\\Asztal\\SAMP Szerver\\filterscripts\\OnAdmin.pwn(24) : warning 215: expression has no effect
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Warnings.
-
Esetleg így:
new pID[MAX_PLAYERS], pName[MAX_PLAYER_NAME], str[128], count[20];
Edit:Hibás!!
-
Na köszönöm mindenkinek!
Az elõbb hibát amit ki irt nem lényeges. Kiirta, hogy van admin és azt is h nincs.
Témát zárom.
Dupla hozzászólás automatikusan összefûzve. ( 2012. február 18. - 16:22:54 )
Nos van benne egy kis hiba :D
Beirom,hogy /adminok bejön a dialog... kilépek a dialogból és ujra beirom h /adminok már viszont kétszer van oda irva anevem,h online adminok :DDD
-
new
pID[MAX_PLAYERS],
pName[MAX_PLAYER_NAME],
str[128],
count;
#define ADMINOK 5555
#define PM 5556
CMD:adminok(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerLAdmin(playerid))
{
GetPlayerName(i,pName,sizeof(pName));
format(str,sizeof(str),\"%s%s\\n\", str, pName);
pID;
count++;
}
}
}
if(count == 0){
ShowPlayerDialog(playerid,ADMINOK,DIALOG_STYLE_MSGBOX,\"Online Adminok\",\"Nincs online adminisztrátor!\",\"PM\",\"Kilépés\");
}
ShowPlayerDialog(playerid,ADMINOK,DIALOG_STYLE_LIST,\"Online Adminok\",str,\"PM\",\"Kilépés\");
format(str, sizeof str, \"\");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == ADMINOK)
{
if(response)
{
ShowPlayerDialog(playerid,PM,DIALOG_STYLE_INPUT,\"Privát üzenet\",\"Írd be a kívánt üzenetet és továbítsuk az adminnak\",\"Küld\",\"Kilépés\");
}
}
if(dialogid == PM)
{
if(response)
{
GetPlayerName(playerid,pName,sizeof(pName));
format(str,sizeof(str),\"%s Üzenete: %s\",pName,inputtext);
SendClientMessage(pID[listitem],-1,str);
}
}
return 1;
}
-
a dutils.incben már van count változó!
a new count; írd át: new acount;
Szóval minden count ot írj át acount ra :)
-
http://forum.sa-mp.com/showthread.php?t=319196