Hallo Community,
Seit ich in meinem script sscanf.inc verwendet gehen einige befehle nicht mehr. bei manchen musste ich schon die schreibe weise ändern. manchmal hilft es manchmal nicht
hat einer ne Idee wie ich das behebe.
mfg
Daniel
Problem mit sscanf
- x.X-Daniel-X.x
- 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
-
-
Inwiefern gehen diese Befehle nicht mehr? Schick uns bitte den Code
-
Guten Abend,
vielleicht ist deine .inc Datei beschädigt oder nicht die Richtige?
Ich habe dir mal meine Datei hochgeladen. -
Thx also er zeigt mir nur an was ich in OnPlayerComand habe also Diesen Befehl giebt es auf RrL nicht
hier mein need befehl:
ocmd:need(playerid,params[])
{
new string1[111], needg[123];
new string2[111], needf[123];
if(sscanf(params,"u",needf,needg))return SendClientMessage(playerid,rot,"/need [SAPD/Medic] [grund]");
{
if(strcmp(needf,"SAPD",true) == 0)
{
if(nf[playerid][nfFrakt] == 1)return SCM(sid,rot,"Du hast schon Angerufen gebe /cancelneed [SAPD] ein");
format(string1,sizeof(string1),"[-Zentralle-]Notruf: %s Braucht Hilfe - Grund: %s - Benutze /accept [playerid] [SAPD] um anzunehmen!",SpielerName(playerid),needg);
new Float:a, Float:b, Float:c;
GetPlayerPos(playerid,a,b,c);
nf[playerid][nfX] = a;
nf[playerid][nfY] = b;
nf[playerid][nfZ] = c;
nf[playerid][nfFrakt] = 1;
nf[playerid][nfGrund] = needg;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(isPlayerInFrakt(i,1))
{
if(GPI(playerid,"Duty")==1)
{
SendClientMessage(i,drot,string1);
}
}
}
}
}
if(strcmp(needf,"Medic",true) == 0)
{
if(nf[playerid][nfFrakt] == 3)return SCM(sid,rot,"Du hast schon Angerufen gebe /cancelneed [Medic] ein");
format(string2,sizeof(string2),"[-Zentralle-]Notruf: %s Braucht Hilfe - Grund: %s - Benutze /accept [playerid] [Medic] um anzunehmen!",SpielerName(playerid),needg);
new Float:a, Float:b, Float:c;
GetPlayerPos(playerid,a,b,c);
nf[playerid][nfX] = a;
nf[playerid][nfY] = b;
nf[playerid][nfZ] = c;
nf[playerid][nfFrakt] = 3;
nf[playerid][nfGrund] = needg;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(isPlayerInFrakt(i,3))
{
if(GPI(playerid,"Duty")==1)
{
SendClientMessage(i,drot,string2);
}
}
}
}
}
}
return 1;
}
mfg
Daniel -
Probier den Befehl für einen Test mal auf dcmd umschreiben.
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) +
dcmd(need,4,cmdtext)
dcmd_need(playerid,params[])
{
new string1[111], needg[123];
new string2[111], needf[123];
if(sscanf(params,"u",needf,needg))return SendClientMessage(playerid,rot,"/need [SAPD/Medic] [grund]");
{
if(strcmp(needf,"SAPD",true) == 0)
{
if(nf[playerid][nfFrakt] == 1)return SCM(sid,rot,"Du hast schon Angerufen gebe /cancelneed [SAPD] ein");
format(string1,sizeof(string1),"[-Zentralle-]Notruf: %s Braucht Hilfe - Grund: %s - Benutze /accept [playerid] [SAPD] um anzunehmen!",SpielerName(playerid),needg);
new Float:a, Float:b, Float:c;
GetPlayerPos(playerid,a,b,c);
nf[playerid][nfX] = a;
nf[playerid][nfY] = b;
nf[playerid][nfZ] = c;
nf[playerid][nfFrakt] = 1;
nf[playerid][nfGrund] = needg;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(isPlayerInFrakt(i,1))
{
if(GPI(playerid,"Duty")==1)
{
SendClientMessage(i,drot,string1);
}
}
}
}
}
if(strcmp(needf,"Medic",true) == 0)
{
if(nf[playerid][nfFrakt] == 3)return SCM(sid,rot,"Du hast schon Angerufen gebe /cancelneed [Medic] ein");
format(string2,sizeof(string2),"[-Zentralle-]Notruf: %s Braucht Hilfe - Grund: %s - Benutze /accept [playerid] [Medic] um anzunehmen!",SpielerName(playerid),needg);
new Float:a, Float:b, Float:c;
GetPlayerPos(playerid,a,b,c);
nf[playerid][nfX] = a;
nf[playerid][nfY] = b;
nf[playerid][nfZ] = c;
nf[playerid][nfFrakt] = 3;
nf[playerid][nfGrund] = needg;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(isPlayerInFrakt(i,3))
{
if(GPI(playerid,"Duty")==1)
{
SendClientMessage(i,drot,string2);
}
}
}
}
}
}
return 1;
} -
geht auch net
liegt des evt an den Parametern "u" -
erstmal benutzt du u dieses integer benutzt du für User , also solltest du eher s benutzen s = string
-
if(sscanf(params,"u",needf,needg))return SendClientMessage(playerid,rot,"/need [SAPD/Medic] [grund]");
richtig:
if(sscanf(params,"ss",needf,needg))return SendClientMessage(playerid,rot,"/need [SAPD/Medic] [grund]");
s weil du 2 mal einen string hast, würde ich sagen. -
breadfish.de
Hat das Thema geschlossen.