-
sziasztok, van 2 parancsom a módban benne van..
az egyik /giverank, a másik /uninvite és ezekhez hozzászeretnék tenni, olyat hogy kelljen okot is írni hozzá , és egyértelmûen ha adnak rangot neki, kiírja hogy miért kapta, és ha kirúgják, azt is kiírja hogy miért.. (egyértelmûen Frakcióleaderek tudják használni)
tehát itt van ez a két parancs, le írtam ide, és mit tegyek hozzá hogy kelljen okot írni és kimutassa? nem nagyon értek az ilyen dolgokhoz de elõre is köszönöm szépen.
if(strcmp(cmd, \"/uninvite\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /uninvite [playerid/PartOfName]\");
return 1;
}
new para1;
para1 = ReturnUser(tmp);
if(PlayerInfo[playerid][pLeader] >= 1)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[para1][pMember] > 0)
{
if (PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pMember])
{
if(PlayerInfo[para1][pLeader] == PlayerInfo[playerid][pLeader])
return Msg(playerid, \"Õ is leader, nem rúghatod ki!\");
if(FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] > (gettime() - 300))
{ SendFormatMessage(playerid, COLOR_LIGHTRED, \"NextRPG: Csak 5percenként lehet tagot felvenni / kirúgni! A következõhöz kell még %dmp\", FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] - (gettime() - 300)); return 1; }
FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] = gettime();
FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fTagokSzama]--;
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
printf(\"AdmCmd: %s has uninvited %s.\", sendername, giveplayer);
SendClientMessage(para1, COLOR_LIGHTBLUE, \"* Fõnök kirúgott! Ismét civil vagy.\");
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pRank] = 0;
PlayerInfo[para1][pChar] = 0;
PlayerInfo[para1][pSwattag] = 0;
PlayerInfo[para1][pSwatRang] = 0;
new rand = random(sizeof(CIV));
SetSpawnInfo(para1, SPAWNID, PlayerInfo[para1][pModel],0.0,0.0,0.0,0,0,0,0,0,0,0);
PlayerInfo[para1][pModel] = CIV[rand];
MedicBill[para1] = 0;
SpawnPlayer(para1);
format(string, sizeof(string), \"Kirúgtad: %s\", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
new queryx[128];
format(queryx, 128, \"UPDATE %s SET Member=\'%d\' WHERE ID=\'%d\'\", SQL_DB_Player, PlayerInfo[playerid][pLeader], SQLID(para1));
mysql_query(queryx);
}
else
SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Nem azonos szervezethez tartoztok! Ezért nem rúghatod ki...\");
}
}
}//not connected
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" Leadernek csak!\");
}
}
return 1;
}
if(strcmp(cmd, \"/giverank\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /giverank [playerid/PartOfName] [0-7] (Nem minden helyen van 7es!)\");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /giverank [playerid/PartOfName] [0-7] (Nem minden helyen van 7es!)\");
return 1;
}
level = strval(tmp);
if(level < 0 || level > OsszRang[PlayerInfo[playerid][pLeader]])
{
SendFormatMessage(playerid, COLOR_LIGHTRED, \"NextRPG: 0-%d\", OsszRang[PlayerInfo[playerid][pLeader]]);
return 1;
}
if (PlayerInfo[playerid][pLeader] >= 1)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pMember])
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pRank] = level;
format(string, sizeof(string), \" Új rangot (%d) adtál neki: %s\", level, giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), \"A fõnöködtõl új rangot kaptál!\");
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, \"Nem te vagy a fõnöke, így nem tudsz neki rangot adni\");
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" Nem használahatod ezt a parancsot(Leadereknek csak)!\");
}
}
return 1;
}
-
sscanf-al nem jó? ::|
-
végülis úgy is jólenne nekem.
Dupla hozzászólás automatikusan összefûzve. ( 2012. május 23. - 12:45:02 )
Tudna valaki segiteni pls?
-
#include <a_samp>
#include <zcmd>
#include <sscanf2>
CMD:uninvite(playerid, params)
{
new ID, indok;
if(sscanf(params, \"us\", ID, indok)) return SendClientMessage(playerid, -1, \"Használat: /uninvite ID/Név indok\");
if(PlayerInfo[playerid][pLeader] >= 1)
{
if(IsPlayerConnected(para1))
{
if(ID != INVALID_PLAYER_ID)
{
if (PlayerInfo[iD][pMember] > 0)
{
if (PlayerInfo[playerid][pLeader] == PlayerInfo[iD][pMember])
{
if(PlayerInfo[iD][pLeader] == PlayerInfo[playerid][pLeader])
return SendClientMessage(playerid, -1, \"Õ is leader, nem rúghatod ki!\");
if(FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] > (gettime() - 300))
{ SendFormatMessage(playerid, COLOR_LIGHTRED, \"NextRPG: Csak 5percenként lehet tagot felvenni / kirúgni! A következõhöz kell még %dmp\", FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] - (gettime() - 300)); return 1; }
FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] = gettime();
FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fTagokSzama]--;
GetPlayerName(ID, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
printf(\"AdmCmd: %s has uninvited %s.\", sendername, giveplayer);
SendClientMessage(para1, COLOR_LIGHTBLUE, \"* Fõnök kirúgott! Indok: %s Ismét civil vagy.\", indok);
PlayerInfo[iD][pMember] = 0;
PlayerInfo[iD][pRank] = 0;
PlayerInfo[iD][pChar] = 0;
PlayerInfo[iD][pSwattag] = 0;
PlayerInfo[iD][pSwatRang] = 0;
new rand = random(sizeof(CIV));
SetSpawnInfo(para1, SPAWNID, PlayerInfo[para1][pModel],0.0,0.0,0.0,0,0,0,0,0,0,0);
PlayerInfo[para1][pModel] = CIV[rand];
MedicBill[para1] = 0;
SpawnPlayer(ID);
format(string, sizeof(string), \"Kirúgtad: %s\", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
new queryx[128];
format(queryx, 128, \"UPDATE %s SET Member=\'%d\' WHERE ID=\'%d\'\", SQL_DB_Player, PlayerInfo[playerid][pLeader], SQLID(para1));
mysql_query(queryx);
}
else
SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Nem azonos szervezethez tartoztok! Ezért nem rúghatod ki...\");
}
}
}//not connected
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" Leadernek csak!\");
}
}
return 1;
}
CMD:giverank(playerid, params[])
{
new para1;
new level;
new indok1;
if(sscanf(params, \"usi\", para1, indok, level)) return SendClientMessage(playerid, -1, \"Használat: /giverank ID/Név Indok Szint\");
if(level < 0 || level > OsszRang[PlayerInfo[playerid][pLeader]])
{
SendFormatMessage(playerid, COLOR_LIGHTRED, \"NextRPG: 0-%d\", OsszRang[PlayerInfo[playerid][pLeader]]);
return 1;
}
if (PlayerInfo[playerid][pLeader] >= 1)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pMember])
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pRank] = level;
format(string, sizeof(string), \" Új rangot (%d) adtál neki: %s . Indok: %s\", level, giveplayer, indok);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), \"A fõnöködtõl új rangot kaptál! Szint: %s\", level);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, \"Nem te vagy a fõnöke, így nem tudsz neki rangot adni\");
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" Nem használahatod ezt a parancsot(Leadereknek csak)!\");
}
}
return 1;
}
Remélem jó
-
sziasztok, van 2 parancsom a módban benne van..
az egyik /giverank, a másik /uninvite és ezekhez hozzászeretnék tenni, olyat hogy kelljen okot is írni hozzá , és egyértelmûen ha adnak rangot neki, kiírja hogy miért kapta, és ha kirúgják, azt is kiírja hogy miért.. (egyértelmûen Frakcióleaderek tudják használni)
tehát itt van ez a két parancs, le írtam ide, és mit tegyek hozzá hogy kelljen okot írni és kimutassa? nem nagyon értek az ilyen dolgokhoz de elõre is köszönöm szépen.
if(strcmp(cmd, \"/uninvite\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /uninvite [playerid/PartOfName]\");
return 1;
}
new para1;
para1 = ReturnUser(tmp);
if(PlayerInfo[playerid][pLeader] >= 1)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[para1][pMember] > 0)
{
if (PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pMember])
{
if(PlayerInfo[para1][pLeader] == PlayerInfo[playerid][pLeader])
return Msg(playerid, \"Õ is leader, nem rúghatod ki!\");
if(FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] > (gettime() - 300))
{ SendFormatMessage(playerid, COLOR_LIGHTRED, \"NextRPG: Csak 5percenként lehet tagot felvenni / kirúgni! A következõhöz kell még %dmp\", FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] - (gettime() - 300)); return 1; }
FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] = gettime();
FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fTagokSzama]--;
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
printf(\"AdmCmd: %s has uninvited %s.\", sendername, giveplayer);
SendClientMessage(para1, COLOR_LIGHTBLUE, \"* Fõnök kirúgott! Ismét civil vagy.\");
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pRank] = 0;
PlayerInfo[para1][pChar] = 0;
PlayerInfo[para1][pSwattag] = 0;
PlayerInfo[para1][pSwatRang] = 0;
new rand = random(sizeof(CIV));
SetSpawnInfo(para1, SPAWNID, PlayerInfo[para1][pModel],0.0,0.0,0.0,0,0,0,0,0,0,0);
PlayerInfo[para1][pModel] = CIV[rand];
MedicBill[para1] = 0;
SpawnPlayer(para1);
format(string, sizeof(string), \"Kirúgtad: %s\", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
new queryx[128];
format(queryx, 128, \"UPDATE %s SET Member=\'%d\' WHERE ID=\'%d\'\", SQL_DB_Player, PlayerInfo[playerid][pLeader], SQLID(para1));
mysql_query(queryx);
}
else
SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Nem azonos szervezethez tartoztok! Ezért nem rúghatod ki...\");
}
}
}//not connected
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" Leadernek csak!\");
}
}
return 1;
}
if(strcmp(cmd, \"/giverank\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /giverank [playerid/PartOfName] [0-7] (Nem minden helyen van 7es!)\");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /giverank [playerid/PartOfName] [0-7] (Nem minden helyen van 7es!)\");
return 1;
}
level = strval(tmp);
if(level < 0 || level > OsszRang[PlayerInfo[playerid][pLeader]])
{
SendFormatMessage(playerid, COLOR_LIGHTRED, \"NextRPG: 0-%d\", OsszRang[PlayerInfo[playerid][pLeader]]);
return 1;
}
if (PlayerInfo[playerid][pLeader] >= 1)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pMember])
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pRank] = level;
format(string, sizeof(string), \" Új rangot (%d) adtál neki: %s\", level, giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), \"A fõnöködtõl új rangot kaptál!\");
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, \"Nem te vagy a fõnöke, így nem tudsz neki rangot adni\");
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" Nem használahatod ezt a parancsot(Leadereknek csak)!\");
}
}
return 1;
}
-
sscanf-al nem jó? ::|
-
végülis úgy is jólenne nekem.
Dupla hozzászólás automatikusan összefûzve. ( 2012. május 23. - 12:45:02 )
Tudna valaki segiteni pls?
-
#include <a_samp>
#include <zcmd>
#include <sscanf2>
CMD:uninvite(playerid, params)
{
new ID, indok;
if(sscanf(params, \"us\", ID, indok)) return SendClientMessage(playerid, -1, \"Használat: /uninvite ID/Név indok\");
if(PlayerInfo[playerid][pLeader] >= 1)
{
if(IsPlayerConnected(para1))
{
if(ID != INVALID_PLAYER_ID)
{
if (PlayerInfo[iD][pMember] > 0)
{
if (PlayerInfo[playerid][pLeader] == PlayerInfo[iD][pMember])
{
if(PlayerInfo[iD][pLeader] == PlayerInfo[playerid][pLeader])
return SendClientMessage(playerid, -1, \"Õ is leader, nem rúghatod ki!\");
if(FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] > (gettime() - 300))
{ SendFormatMessage(playerid, COLOR_LIGHTRED, \"NextRPG: Csak 5percenként lehet tagot felvenni / kirúgni! A következõhöz kell még %dmp\", FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] - (gettime() - 300)); return 1; }
FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fUtolsoTagFelvetel] = gettime();
FrakcioInfo[ PlayerInfo[playerid][pLeader] ][fTagokSzama]--;
GetPlayerName(ID, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
printf(\"AdmCmd: %s has uninvited %s.\", sendername, giveplayer);
SendClientMessage(para1, COLOR_LIGHTBLUE, \"* Fõnök kirúgott! Indok: %s Ismét civil vagy.\", indok);
PlayerInfo[iD][pMember] = 0;
PlayerInfo[iD][pRank] = 0;
PlayerInfo[iD][pChar] = 0;
PlayerInfo[iD][pSwattag] = 0;
PlayerInfo[iD][pSwatRang] = 0;
new rand = random(sizeof(CIV));
SetSpawnInfo(para1, SPAWNID, PlayerInfo[para1][pModel],0.0,0.0,0.0,0,0,0,0,0,0,0);
PlayerInfo[para1][pModel] = CIV[rand];
MedicBill[para1] = 0;
SpawnPlayer(ID);
format(string, sizeof(string), \"Kirúgtad: %s\", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
new queryx[128];
format(queryx, 128, \"UPDATE %s SET Member=\'%d\' WHERE ID=\'%d\'\", SQL_DB_Player, PlayerInfo[playerid][pLeader], SQLID(para1));
mysql_query(queryx);
}
else
SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Nem azonos szervezethez tartoztok! Ezért nem rúghatod ki...\");
}
}
}//not connected
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" Leadernek csak!\");
}
}
return 1;
}
CMD:giverank(playerid, params[])
{
new para1;
new level;
new indok1;
if(sscanf(params, \"usi\", para1, indok, level)) return SendClientMessage(playerid, -1, \"Használat: /giverank ID/Név Indok Szint\");
if(level < 0 || level > OsszRang[PlayerInfo[playerid][pLeader]])
{
SendFormatMessage(playerid, COLOR_LIGHTRED, \"NextRPG: 0-%d\", OsszRang[PlayerInfo[playerid][pLeader]]);
return 1;
}
if (PlayerInfo[playerid][pLeader] >= 1)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pMember])
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pRank] = level;
format(string, sizeof(string), \" Új rangot (%d) adtál neki: %s . Indok: %s\", level, giveplayer, indok);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), \"A fõnöködtõl új rangot kaptál! Szint: %s\", level);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, \"Nem te vagy a fõnöke, így nem tudsz neki rangot adni\");
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" Nem használahatod ezt a parancsot(Leadereknek csak)!\");
}
}
return 1;
}
Remélem jó
-
zeteni,én teszteltem,és mûködik.
Köszi szépen!
-
Igazán nincs mit! :)