Heyy danke es klappt
Beiträge von Haxler
-
-
Hi,
Wie kann ich mehrere Teams gleichzeitig abfragen?if(gTeam[playerid] == fbi) gTeam[playerid] == cop
geht nicht
-
Hey,
Danke an alle die mir geholfen haben Es tut -
Hallo,
Ich wollte mir ein eigenes Adminsystem scripten doch ich hab ein Problem.#define FILTERSCRIPT
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define green 0x33AA33AA
#define red 0xFF0000AA
#define yellow 0xFFFF00AA
#define blue 0x3A47DEFF
#include <a_samp>
#include <dini>
#if defined FILTERSCRIPT
new hadmin[MAX_PLAYERS];enum Info
{
admin,
};#else
main()
{}
#endif
public OnPlayerSpawn(playerid)
{
new save[128];
hadmin[playerid] = (dini_Int(save,"admin"));return 1;
}public OnPlayerDisconnect(playerid, reason)
{
new save[128];
dini_IntSet(save,"admin",hadmin[playerid]);
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(kick,4,cmdtext);
dcmd(makeadmin,9,cmdtext);
dcmd(ban,3,cmdtext);
return 0;
}dcmd_kick(playerid,params[])
{
if(hadmin[playerid] < 2 )return SendClientMessage(playerid,red,"Du bist kein Admin oder du hast nicht die nötigen Rechte.");
new
kGrund[128],
PlayerID;
if(sscanf(params, "ds",PlayerID,kGrund)) {
return SendClientMessage(playerid,red,"/kick [playerid] [grund]");
}
if(!IsPlayerConnected(PlayerID)) {
return SendClientMessage(playerid,red,"Die angegebene ID ist nicht vorhanden.");
}
new
ThePlayer[MAX_PLAYER_NAME],
string[128];
GetPlayerName(PlayerID,ThePlayer,sizeof(ThePlayer));
format(string,sizeof(string),"%s (ID %d) wurde vom Server gekickt,Grund: %s",ThePlayer,PlayerID,kGrund);
SendClientMessageToAll(red,string);
Kick(PlayerID);
return 1;
}dcmd_makeadmin(playerid,params[])
{
if(hadmin[playerid] < 4)return SendClientMessage(playerid,red,"Du bist kein Admin oder du hast nicht die nötigen Rechte.");
new id,level;
new string[256];
new string2[256];
new save[128];
if(sscanf(params,"ud",id,level))
{
SendClientMessage(playerid,red,"/makeadmin [playerid] [level]");
return 1;
}
new ThePlayer[MAX_PLAYER_NAME];
GetPlayerName(id,ThePlayer,sizeof(ThePlayer));
format(string,sizeof(string),"Du wurdest zum Admin level %d gemacht",level);
format(string2,sizeof(string2),"Du hast %s zum Admin gemacht.",ThePlayer);
hadmin[id] = level;
dini_IntSet(save,"admin",hadmin[playerid]);
SendClientMessage(id,red,string);
SendClientMessage(playerid,red,string2);return 1;
}dcmd_ban(playerid,params[])
{
if(hadmin[playerid] < 2)return SendClientMessage(playerid,red,"Du bist kein Admin oder du hast nicht die nötigen Rechte.");
new
kGrund[128],
PlayerID;
if(sscanf(params, "ds",PlayerID,kGrund)) {
return SendClientMessage(playerid,red,"/ban [playerid] [grund]");
}
if(!IsPlayerConnected(PlayerID)) {
return SendClientMessage(playerid,red,"Die angegebene ID ist nicht vorhanden.");
}
new
ThePlayer[MAX_PLAYER_NAME],
string[128];
GetPlayerName(PlayerID,ThePlayer,sizeof(ThePlayer));
format(string,sizeof(string),"%s (ID %d) wurde vom Server gebannt,Grund: %s",ThePlayer,PlayerID,kGrund);
SendClientMessageToAll(red,string);
Ban(PlayerID);
return 1;
}stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(string))
#else
if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
stringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (string[stringPos] && string[stringPos] <= ' ')
{
stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = string[stringPos];
if (ch == '-')
{
neg = -1;
ch = string[++stringPos];
}
do
{
stringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = string[stringPos];
do
{
stringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, string[stringPos++]);
}
case 'f':
{new changestr[16], changepos = 0, strpos = stringPos;
while(changepos < 16 && string[strpos] && string[strpos] != delim)
{
changestr[changepos++] = string[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
stringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = stringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = string[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
string[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - stringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, string[stringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
string[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
stringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = string[stringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = string[stringPos++]))
{
setarg(paramPos, i++, ch);
}
}
stringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
{
stringPos++;
}
while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
{
stringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
}Problem:
In meiner ini Datei steht admin=10 trotzdem kommt immer die Meldung: "Du bist kein Admin oder hast nicht die nötigen Rechte."Was ist der Fehler in meinem Script?
mfg
-
Hi,
ich habe auch ein Problem mit Bots. Ich habe erst einen Bot erstellt. Der lief einwandfrei. Dann wollte ich einen zweiten dazu machen. Hab genau das gleiche wie beim ersten Bot gemacht aber der zweite Bot verlässt den Server immer...mfg