Wie kann ich in den Team Ballas einen Heiler machen? Das z.b SKINID 103 Heiler ist...
PASTBIN:
http://pastebin.com/q40aSXF1
Im Team ein Heiler
- Eichelking
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Hier als Ganzes Filterscript weil ich OCMD Benutzt habe
#define FILTERSCRIPT#include <a_samp>
#include <ocmd>
#define Color_White 0xFFFFFFAApublic OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
ocmd:Heilen(playerid,params[])
{
new pID;
new skin = GetPlayerSkin(playerid);
new name[MAX_PLAYER_NAME];
new string[128];
new string2[128];
GetPlayerName(playerid, name, sizeof(name));
new nama[MAX_PLAYER_NAME];
GetPlayerName(pID, nama, sizeof(nama));
if (sscanf(params, "u", pID)) SendClientMessage(playerid, Color_White, "Info: /heilen [SpielerID]");
else if (pID == INVALID_PLAYER_ID || IsPlayerNPC(pID)) SendClientMessage(playerid, Color_White, " Dieser Spieler kann nicht erreicht werden. ");
else if(skin != 103 ) SendClientMessage(playerid, Color_White, "Dieser Spieler ist kein Heiler");
else
{
SetPlayerHealth(pID, 100);
format(string, sizeof(string),"Du hast %s sein Leben aufgefüllt",nama);
format(string2, sizeof(string2),"Du wurdest vom %s Geheilt",name);
SendClientMessage(pID, Color_White, string2);
SendClientMessage(playerid, Color_White, string);
}
return 1;
}public OnFilterScriptExit()
{
return 1;
}main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}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;
} -
Ohje, wo steht den die SkinID? Die Heiler is? XD
Und wenn ich mehrere Teams mache? Team_Ballas, Team_Grove usw? -
else if(skin != 103 ) SendClientMessage(playerid, Color_White, "Dieser Spieler ist kein Heiler");
Das heisst jetzt wen er nicht Skin 103 hat wird eine Nachricht gesendet darin steht "Dieser Spieler ist kein Heiler");
Wen du jetzt mehrere machen willst musst du es so machen:
else if(skin != 103 || skin != 103 || skin != 103) SendClientMessage(playerid, Color_White, "Dieser Spieler ist kein Heiler");
Kannst du immer deine Skins eintragen
das != bedeutet wen es Negativ ist also ist ist Skin 103 nicht da ...^^ dann kommt .... -
Danke!
-
Kein Problem dafür ist das Forum doch da.
Freundliche grüße .Art.
-
Sorry, aber hab nochmals eine Frage,
ist das bei dem FS, das ich auch einen aus der anderen Gang heilen kann?
Und kann ich einen von LS auch in SF heilen?
Der Umkreis soll höhstens 1M sein, wenns geht... -
Du kannst jeden heilen, oke mit dem umkreis macht man am besten
new Float : Pos[3];
GetPlayerPos(pID, Pos[0],Pos[1],Pos[2]);
erm und dan
if(IsPlayerInRangeOfPoint(playerid, Pos[0],Pos[1],Pos[2] );so in der Ähnlichkeit mir fällts gerade nicht ein
-
breadfish.de
Hat das Thema geschlossen.