if(strcmp(cmdtext,"/changeskin",true)==0)
{
if(IsPlayerInRangeOfPoint(playerid,3,-18.2402,-55.5312,1003.5469))
{
SpielerInfo[playerid][Skinshop]=1;
return 1;
}
}
Des war ein Fehle da
Beiträge von DarkShadow.
-
-
Schau dir ein paar Tutorials an, lies dir die Scriptingbasen durch und lerne, macht doch
dann viel mehr Spaß -
Jooo sieht nicht so schlecht aus.
7/10 ! -
if(SpielerInfo[playerid][Skinshop]==1)
{
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(1, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(2, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(3, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(4, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
}
else
{
Spawn(playerid);
}Ich habe mal gehört, dass es so irgendwie geht.
-
Ich weiß nichtmal wo du deinen Fehler hast. Post mal alles
was mit dem Fehler zu tun hat. Dann kann man dir auch besser
helfen. -
Kannste mir das nochmal mir und schreiben
-
So wie du das willst ist es sehr aufwendig aber es geht. Du musst ihm den Skin geben und die Camera von vorne auf ihn richten wenn er
abbricht gibst du ihm den Skin den er vorher hatte. -
Ich vertehe dein Problem nicht, kannste
das mal ein bisschen genauer schildern -
Oder einfach einen Befehl? /Stoppen?
-
public OnPlayerCommandText(playerid, cmdtext[])
if (strcmp("/buyskin", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,1.0,0,0,0)) // den punkt ersetzen wo er kaufen soll.
{
ShowPlayerDialog(playerid,DIALOG_STYLE_LIST,1,"Skin kaufen","Skin1\nSkin2\nSkin3","Weiter","Abbrechen");
TogglePlayerControlable(playerid,0);
SetCameraPos(playerid,0,0,0);
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==1)
{
switch(listitem)
{
case 0: // Wenn er Skin 1 wählt
{
SetPlayerSkin(playerid,123); // SKin geben.
TogglePlayerControllable(playerid,0); // Kann sich wieder bewegen
SendClientMessage(playerid,DEINEFARBE,"Du hast deinen Skin gekauft");
Spieler[playerid][Skin] = 123; // an dein Register System anpassen.
}
case 1:
{
SetPlayerSkin(playerid,13);
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,DEINEFARBE,"Du hast deinen Skin gekauft");
Spieler[playerid][Skin] = 123;
}return 1;
}Wenn du es genauer willst einfach antworten, dann schreibe ich dir ein schönes System :I
-
Guten Abend,
Variablen sind einfach Platzhalter und sie können Sachen
definieren. Pickups sind zum die Eingänge in GTA vor einem Haus.
Und in jedem Pickup kannst was bestimmtes machen. -
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. -
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;
} -
So kann man wenig anfangen.
Kopiere mal deine Stelle füge sie ein und mach dann erst die
1.
asda
sd
as
da
sd
a
sd
as
da
s
2.
asda
sd
as
da
sd
a
sd
as
da
s
dann müsstest du nicht in einer Zeile haben. -
Guten Abend,
vielleicht ist deine .inc Datei beschädigt oder nicht die Richtige?
Ich habe dir mal meine Datei hochgeladen. -
-
Dann muss man das halt so machen:
if(Spieler[playerid][Fraktion] == 0) return 1; // wenn ihr Penner ist ;) -
Ich glaube du meinst so:
OnPlayerRequestClass:
if(Spieler[playerid][Fraktion] == 1) return 1;
dann wird des Request übersprungen, musst aber auf dein Login System anpassen. -
Habe schon selber Fehler gefunden. Du hast ein paar mal den str2 oder str3 ned definiert Danke für alles.
-
Habe genau deinen Code eingefügt und eingerückt.