-
Üdv mindenkinek!Van nekem egy ilyenem:(az asad és az asel forumrol)
#include <a_samp>
#include <zcmd>
#include <sscanf>
#include <dudb>
new file[128];
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_RED 0xAA3333AA
#pragma unused ret_memcpy
#pragma unused strtok
enum aInfo
{
as,
};
new info[MAX_PLAYERS][aInfo];
CMD:asad(playerid, params[])
{
new jatekos, name[MAX_PLAYER_NAME];
GetPlayerName(jatekos, name, sizeof(name));
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy fõadmin!\");
if(sscanf(params, \"u\", jatekos)) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /asad [Jétákos/ID]!\");
format(file, sizeof(file), \"/adminseged/%s.ini\", name);
if(dini_Exists(file)) return SendClientMessage(playerid, COLOR_RED, \"A játékos már Adminsegéd!\");
SendClientMessage(playerid, -1, \"Felveted Örökös adminsegédnek!\");
SendClientMessage(jatekos, -1, \"Egy adminisztrátor kinevezett ÖrökösAdminsegédnek!\");
dini_Create(file);
info[jatekos][as]=1;
return 1;
}
CMD:asel(playerid, params[])
{
new jatekos, name[MAX_PLAYER_NAME];
GetPlayerName(jatekos, name, sizeof(name));
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy fõadmin!\");
if(sscanf(params, \"u\", jatekos)) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /asel [Játékos/ID]!\");
format(file, sizeof(file), \"/adminseged/%s.ini\", name);
if(!dini_Exists(file)) return SendClientMessage(playerid, COLOR_RED, \"A játékos eddig sem volt Adminsegéd!\");
SendClientMessage(playerid, -1, \"Kirúgtad a játékost az Örökös Adminsegédbõl!\");
SendClientMessage(jatekos, -1, \"Egy Adminisztrátor elvette az Örökös Adminsegédedet!\");
dini_Remove(file);
info[jatekos][as]=0;
return 1;
}
CMD:setarmour(playerid, params[])
{
if(info[playerid][as] != 1) return SendClientMessage(playerid,COLOR_RED,\"Nem használhatod a parancsot!\");
new target, armour,name[MAX_PLAYER_NAME], str[200];
if(sscanf(params,\"dd\",target, armour)) return SendClientMessage(playerid,0x0000FFAA,\"Használat:/setarmour [iD] [Armour]\");
format(str,sizeof(str),\"Megváltoztattad az Armour-ját neki: %d ennyire: %d\",target,armour);
SendClientMessage(playerid,0x0000FFAA,str);
format(str,sizeof(str),\"Admin (%s) megváltoztatta az armourodat, ennyire: %d\",name[playerid],armour);
SendClientMessage(target,0x0000FFAA,str);
SetPlayerArmour(target,armour);
return 1;
}
A problémám az, hogy lementi az AS-t, rendesen, de ha leállítom, majd újra indítítom a szerót és beírom, hogy /setarmour és ahoz újra elkell vennem, majd adnom kell AS-t, mert ha nem akkor ez az üzenet fogad:\"Nem használhatod a parancsot!\" Azt szeretném, hogy ha leállítom, majd újra indítom a szervert, akkor is tudjam használni rendesen a parancsokat amit az AS-nek adok! A segítségeket köszönöm elõre is!
-
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <Dini>
new file[128];
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_RED 0xAA3333AA
enum aInfo
{
as,
};
new info[MAX_PLAYERS][aInfo];
public OnPlayerConnect(playerid) {
if(dini_Exists(file))
{
// ide írd a töltést!
}
return 1;
}
public
OnPlayerDisconnect(playerid, reason) {
new name[MAX_PLAYER_NAME];
format(file, sizeof(file), \"/adminseged/%s.ini\", name);
if(!dini_Exists(file)) {
}
else
{
dini_IntSet(file, \"ASAD\", info[playerid][as]);
}
return 1;
}
CMD:asad(playerid, params[])
{
new jatekos, name[MAX_PLAYER_NAME];
GetPlayerName(jatekos, name, sizeof(name));
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy fõadmin!\");
if(sscanf(params, \"u\", jatekos)) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /asad [Jétákos/ID]!\");
if(dini_Exists(file)) return SendClientMessage(playerid, COLOR_RED, \"A játékos már Adminsegéd!\");
SendClientMessage(playerid, -1, \"Felveted Örökös adminsegédnek!\");
SendClientMessage(jatekos, -1, \"Egy adminisztrátor kinevezett ÖrökösAdminsegédnek!\");
info[jatekos][as]=1;
format(file, sizeof(file), \"/adminseged/%s.ini\", name);
if(dini_Exists(file))
{
dini_IntSet(file, \"ASAD\", info[jatekos][as]);
}
return 1;
}
CMD:asel(playerid, params[])
{
new jatekos, name[MAX_PLAYER_NAME];
GetPlayerName(jatekos, name, sizeof(name));
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy fõadmin!\");
if(sscanf(params, \"u\", jatekos)) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /asel [Játékos/ID]!\");
if(!dini_Exists(file)) return SendClientMessage(playerid, COLOR_RED, \"A játékos eddig sem volt Adminsegéd!\");
SendClientMessage(playerid, -1, \"Kirúgtad a játékost az Örökös Adminsegédbõl!\");
SendClientMessage(jatekos, -1, \"Egy Adminisztrátor elvette az Örökös Adminsegédedet!\");
info[jatekos][as]=0;
format(file, sizeof(file), \"/adminseged/%s.ini\", name);
if(dini_Exists(file))
{
dini_IntSet(file, \"ASAD\", info[jatekos][as]);
}
return 1;
}
CMD:setarmour(playerid, params[])
{
if(info[playerid][as] >= 1) return SendClientMessage(playerid,COLOR_RED,\"Nem használhatod a parancsot!\");
new target, armour,name[MAX_PLAYER_NAME], str[200];
if(sscanf(params,\"dd\",target, armour)) return SendClientMessage(playerid,0x0000FFAA,\"Használat:/setarmour [iD] [Armour]\");
format(str,sizeof(str),\"Megváltoztattad az Armour-ját neki: %d ennyire: %d\",target,armour);
SendClientMessage(playerid,0x0000FFAA,str);
format(str,sizeof(str),\"Admin (%s) megváltoztatta az armourodat, ennyire: %d\",name[playerid],armour);
SendClientMessage(target,0x0000FFAA,str);
SetPlayerArmour(target,armour);
return 1;
}
-
A töltést hogy kell? Írd bele pls...Kezdõ vagyok
Dupla hozzászólás automatikusan összefûzve. ( 2012. június 22. - 21:04:03 )
A mostanit amit írtál bemásoltam, de az a BAJ, hogy mindenki tufja használni a /setarmourt..
-
Így
CMD:setarmour(playerid, params[])
{
if(info[playerid][as] < 1) return SendClientMessage(playerid,COLOR_RED,\"Nem használhatod a parancsot!\");
new target, armour,name[MAX_PLAYER_NAME], str[200];
if(sscanf(params,\"dd\",target, armour)) return SendClientMessage(playerid,0x0000FFAA,\"Használat:/setarmour [iD] [Armour]\");
format(str,sizeof(str),\"Megváltoztattad az Armour-ját neki: %d ennyire: %d\",target,armour);
SendClientMessage(playerid,0x0000FFAA,str);
format(str,sizeof(str),\"Admin (%s) megváltoztatta az armourodat, ennyire: %d\",name[playerid],armour);
SendClientMessage(target,0x0000FFAA,str);
SetPlayerArmour(target,armour);
return 1;
}
-
Így
CMD:setarmour(playerid, params[])
{
if(info[playerid][as] < 1) return SendClientMessage(playerid,COLOR_RED,\"Nem használhatod a parancsot!\");
new target, armour,name[MAX_PLAYER_NAME], str[200];
if(sscanf(params,\"dd\",target, armour)) return SendClientMessage(playerid,0x0000FFAA,\"Használat:/setarmour [iD] [Armour]\");
format(str,sizeof(str),\"Megváltoztattad az Armour-ját neki: %d ennyire: %d\",target,armour);
SendClientMessage(playerid,0x0000FFAA,str);
format(str,sizeof(str),\"Admin (%s) megváltoztatta az armourodat, ennyire: %d\",name[playerid],armour);
SendClientMessage(target,0x0000FFAA,str);
SetPlayerArmour(target,armour);
return 1;
}
Legalább hülyeséget ne mondj neki..
Töltés:
OnPlayerSpawn alá:
format(file, sizeof(file), \"/adminseged/%s.ini\", name);
if(dini_Exists(file))
{
SetPlayerScore(playerid, dini_Int(file, info[playerid][as]);
}
-
Így néz ki:
public OnPlayerSpawn(playerid)
{
new name[MAX_PLAYER_NAME];
format(file, sizeof(file), \"/adminseged/%s.ini\",name);
if(dini_Exists(file))
{
SetPlayerScore(playerid, dini_Int(file, info[playerid][as]);
}
return 1;
}
és ebben van a hiba:
SetPlayerScore(playerid, dini_Int(file, info[playerid][as]);
és a hiba a :
C:\\Users\\Pál Család\\Desktop\\samp03e_svr_win32 (2)\\filterscripts\\teszter1.pwn(49) : error 001: expected token: \",\", but found \";\"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
-
SetPlayerScore(playerid, dini_Int(file, info[playerid][as]));
-
Mostmár a bajok a következõek: Ha úgy írom akkor ha AS, akkor sem használhatja a parancsot, ha if(info[playerid][as] !=1) et írok akkor meg használhatja, de ígyse, úgyse menti le.
-
Mivel gondolom a scriptfiles mappába nem hoztad létre az adminseged mappát!
-
De a mappa ott van pedig...
-
Istenem, aki hülye hozzá ne \'segítsen\'.
info[playerid][as] = dini_Int( file,\"ASAD\" );
SetPlayerScore( playerid, info[playerid][as] );