HI
ich habe mal eine Frage
ich habe jetzt in adm sys von mir /knast und /unknast gemacht alles schön und gut nur wenn man drine ist kann man sich weg porten kann mir einer sagen wie man das so macht
das man sich nicht mehr porten kann ?
HI
ich habe mal eine Frage
ich habe jetzt in adm sys von mir /knast und /unknast gemacht alles schön und gut nur wenn man drine ist kann man sich weg porten kann mir einer sagen wie man das so macht
das man sich nicht mehr porten kann ?
// Variablen: Du definierst zB new bool:InKnast[MAX_PLAYERS];
// Im Command auf 1 / true setzen
InKnast[playerid] = true;
// Bei den Anderen Ports eine Abfrage ( zB )
if(!Knast[playerid])
{ }
else { }
// Natürlich bei OnPlayerDisconect wieder auf "fasle" / 0 setzen
Hmm ... wie jetzt ??
Was gabs daran jez nicht zu verstehen?
//oben
new IstKnast[MAX_PLAYERS];
//onplayerconnect und disconnect sowie bei unknast
IstKnast[playerid] = 0;
//in den knast cmd
IstKnast[playerid] = 1;
//in teleport cmd
if(CMD "/dm")
{
if(IstKnast[playerid] == 1)
{
SendClientMessage(playerid,COLOR,"Du kannst dich jetzt nicht weg teleportieren!");
return 1;
}
//rest des cmd
Ty jetzt weis ich es danke
//Edit
Hmm naja es geht jetzt aber man kann sich auch so nicht Porten auch wenn man nicht in knast ist warum das ?
//onplayerconnect und disconnect sowie bei unknast
IstKnast[playerid] = 0;
habe ich drine
Hast bei /unknast das playerid nicht ersetzt oder?
Du machst ja schließlich /unknast ID also nimmst du deine ID definierung z.B giveplayerid oder wie du das definiert hast...
ne da ist das nicht drine und hier ist mal das /knast und /unknast (nur der command)
if(strcmp(cmd, "/knast", true) == 0)
{
if (AccountInfo[playerid][AdminLevel] >= 2)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, grün, "Nutze: /knast [playername/id] [Grund]");
SendClientMessage(playerid, grün, "Damit geht der User in knast !!");
return 1;
}
new targetid = ReturnUser(tmp);
if(IsPlayerConnected(targetid))
{
if(targetid != INVALID_PLAYER_ID)
{
if(AccountInfo[giveplayerid][Jail] == 0)
{
GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
GetPlayerName(playerid, sendername, sizeof(sendername));
new reason[128];
reason = strtok(cmdtext, idx);
if(!strlen(reason)) return SendClientMessage(playerid, rot, "Nutze: /knast [playername/id] [Grund]");
format(string, sizeof(string), "Du bist jetzt in knast ! by Admin %s. Grund: %s", sendername, reason);
SendClientMessage(targetid, ADMIN_rot, string);
format(string, sizeof(string), "-| Administrator %s Bring in knast %s. [ Grund: %s ] |-",sendername,giveplayername, reason);
SendClientMessageToAll(ADMIN_rot,string);
AccountInfo[targetid][Jail] = 1;
OnPlayerJailed(targetid);
return 1;
}
else SendClientMessage(playerid, rot, "Der Player ist schon in knast!");
}
else
{
format(string, sizeof(string), "%d ist nicht on .", targetid);
SendClientMessage(playerid, rot, string);
}
}
else
{
format(string, sizeof(string), "%d ist nicht on.", targetid);
SendClientMessage(playerid, rot, string);
}
}
else SendClientMessage(playerid, rot, "Du bist kein admin/oder dein admin level ist zu klein.");
return 1;
}
if(strcmp(cmd, "/unknast", true) == 0)
{
if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, blau, "Nutze: /unknast [playername/id]");
return 1;
}
new targetid = ReturnUser(tmp);
if(targetid != INVALID_PLAYER_ID)
{
if(AccountInfo[giveplayerid][Jail] == 1)
{
GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Administrator %s macht Unknast bei %s ",sendername, giveplayername);
SendClientMessageToAll(ADMIN_rot,string);
AccountInfo[targetid][Jail] = 0;
OnPlayerUnjailed(targetid);
}
else SendClientMessage(playerid, rot, "Der Player/user ist nicht in Knast!");
}
else
{
format(string, sizeof(string), "%d ist nicht on.", targetid);
SendClientMessage(playerid, rot, string);
}
}
else SendClientMessage(playerid, rot, "Du bist kein admin !/oder dein admin level ist zu klein.");
return 1;
}
Mach in die teleports
if(AccountInfo[playerid][Jail] == 1)
{
SendClientMessage(playerid,COLOR,"Du kannst dich jetzt nicht weg teleportieren!");
return 1;
}
ok kann das andere wider raus ?
Jo
ok danke ich schau mal ob es geht
//Edit
Hmm man kann jetzt immer noch in knast porten
Wie haste das den in den Teleport cmd eingefügt ?
was du gesagt hast
Zitatif(AccountInfo[playerid][Jail] == 1)
{
SendClientMessage(playerid,COLOR,"Du kannst dich jetzt nicht weg teleportieren!");
return 1;
}
und wo in den cmd?
so...
if(strcmp(cmd, "/lv", true) == 0) {
SetPlayerPos(playerid, 1699.2, 1435.1, 10.7);
GameTextForPlayer(playerid, "~r~Willkommen", 5000, 5);
if(AccountInfo[playerid][Jail] == 1)
SendClientMessage(playerid,rot,"Du kannst dich jetzt nicht weg teleportieren!");
return 1;
}
ich wusste es -.-
Pawno arbeitet von oben nach unten! Wenn du die Abfrage unten reinmachst wird zuerst der code darüber ausgeführt...
Das return beendet den cmd sodas der rest nicht ausgeführt wird.
if(strcmp(cmd, "/lv", true) == 0)
{
if(AccountInfo[playerid][Jail] == 1)
{
SendClientMessage(playerid,rot,"Du kannst dich jetzt nicht weg teleportieren!");
return 1;
}
SetPlayerPos(playerid, 1699.2, 1435.1, 10.7);
GameTextForPlayer(playerid, "~r~Willkommen", 5000, 5);
return 1;
}
ok ty ich schau noch mal nach