Hi Leute ich möchte das wenn man /zelt eingiebt und dann wird vor einem das objekt mit der id 3626 gespawnt,
das soll aber nur mit dem auto mit der id 433 gehen,
könnt ihr mir helfen,
danke
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
-
-
Hi,
so sollte es funktionieren:
if (strcmp("/zelt", cmdtext, true, 10) == 0)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==433)
{
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
CreateObject(3626,Pos[0]+8,Pos[1]+8,Pos[2],0,0,0);}
return 1;
}
MfG leonid4s -
Ein Command womitman das auch Löschen kann, wäre auch nett. :s
-
if (strcmp("/zeltkaputt", cmdtext, true, 10) == 0)
{
DestroyObjectblabla .... //deine Funktion :o
return 1;
} -
Da fehltt doch noch was.
Sry kenne mich mit Scripting nicht mehr aus -
ACH?! DA FEHLT NOCH WAS?! :-O
Nein, ich werde sicher nicht das denken für dich übernehmen. Und hier ein C&P Code für dich schreiben
//edit:
BugScripter hats gemacht <.< -
Hi
Am besten oben ins script:
new Zelt;
if (strcmp("/zelt", cmdtext, true, 10) == 0)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==433)
{
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
Zelt = CreateObject(3626,Pos[0]+8,Pos[1]+8,Pos[2],0,0,0);
}
return 1;
}if (strcmp("/zeltkaputt", cmdtext, true, 10) == 0)
{
DestroyObject(Zelt);
return 1;
}CreateObject gibt die ID des Objectes Zurück. Nur mit dieser ID kann man dann das Zelt wieder Löschen. Die ID wird in die Variable "Zelt" gelegt.
MFG, Robdeflop®
-
Dankeschöhn, Bist der Beste!
-
*hust* wird nicht funktionieren, dam an soviele obejcte spawnen kann wie man will aber nur 1 wird gelöscht, tada, versuch mal ne spielervariable einzubaun
-
kann man dass nicht so machen das der befehl erst wieder funktioniert wenn vorher das zelt gelöscht wurde?
ich hoffe ihr könnt mir helfen
danke an alle -
-
Klar geht das xD Einfach nach löschen auf 0 setzen. Dann vom Erstellen des Objects abfragen ob ID 0 is. Wenn nicht, gehts halt nit Oder halt wie Multi schon gesagt hat mit Playervariablen. Oder wenn ein player auch mehrere machen können soll, dann mit schleife^^
MFG, Robdeflop®
-
Doch. Erstell einfach eine Variable und frage stelle sie dann wenn er das Zelt created auf 1 und wenn dann jemand /zelt macht frage die Variable ab und wenn sie 1 ist mach einfach SendClientMessage....
und beim Löschen die Variable auf 0 stellen -
Ganz oben bei den andern "new"s:
new Zelt[MAX_PLAYERS];Unter OnPlayerCommandText:
if(!strcmp("/zelt aufstellen",cmdtext,true))
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 433)
{
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
Zelt[playerid] = CreateObject(3626,Pos[0]+8,Pos[1]+8,Pos[2],0,0,0);
}
else
{
return SendClientMessage(playerid,FARBE,"Du bist nicht in einem 'Fahrzeugname'");
}
}
else
{
return SendClientMessage(playerid,FARBE,"Du bist in keinem Fahrzeug!");
}
return 1;
}if(!strcmp("/zelt abbauen",cmdtext,true))
{
DestroyObject(Zelt[playerid]);
SendClientMessage(playerid,FARBE,"Dein Zelt wurde erfolgreich abgebaut.");
return 1;
}MFG
luckyguy -
Leute euer gequassel da wird bei ihm nicht ankommen
was der InCredible meint ist
sowas wie
statuszelt = 0;
statuszelt = 1;
ja aber er checkt es net man veruscht duch ausführliche rzu erklären
-
Hab jetzt das von luckyguy mal eingebaut,
jetzt meine frage,
wie mach ich das dass man pro spieler nur 1 zelt aufbauen kann ?
Bis /zelt abbauen gemacht wird,
sonst funktioniert alles//Edit:
Es währe auch cool wenn es sich nach 500 sek. von selbst löscht.
Aber das muss nicht sein.Ihr seit
-
SetTimer("Zeltweg",300000,0);
forward Zeltweg1();
public Zeltweg1()
{
DestroyObject(Zelt[playerid]);
return 1;
}so
UNGETESTET -
wenn ich es so einbaue:
if(!strcmp("/zelt aufstellen",cmdtext,true))
{SetTimer("Zeltweg",300000,0);
forward Zeltweg1();
public Zeltweg1()
{
DestroyObject(Zelt[playerid]);
return 1;
}if(IsPlayerInAnyVehicle(playerid))
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 433)
{
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
Zelt[playerid] = CreateObject(3626,Pos[0]+8,Pos[1]+8,Pos[2],0,0,0);
return 1;
}
else
{
return SendClientMessage(playerid,0xFFFF00FF,"Du bist nicht in einem 'Fahrzeugname'");
}
}
else
{
return SendClientMessage(playerid,0xFFFF00FF,"Du bist in keinem Fahrzeug!");
}
return 1;
}return 0;
}und bekomme lauter errors und warnings
ZitatC:\Program Files (x86)\Rockstar Games\gamemodes\army.pwn(393) : error 029: invalid expression, assumed zero
C:\Program Files (x86)\Rockstar Games\gamemodes\army.pwn(393) : error 017: undefined symbol "Zeltweg1"
C:\Program Files (x86)\Rockstar Games\gamemodes\army.pwn(395) : error 029: invalid expression, assumed zero
C:\Program Files (x86)\Rockstar Games\gamemodes\army.pwn(395) : error 017: undefined symbol "Zeltweg1"
C:\Program Files (x86)\Rockstar Games\gamemodes\army.pwn(396) : warning 217: loose indentation
C:\Program Files (x86)\Rockstar Games\gamemodes\army.pwn(401) : warning 225: unreachable code
C:\Program Files (x86)\Rockstar Games\gamemodes\army.pwn(409) : warning 217: loose indentation
C:\Program Files (x86)\Rockstar Games\gamemodes\army.pwn(420) : warning 225: unreachable code
C:\Program Files (x86)\Rockstar Games\gamemodes\army.pwn(448) : warning 203: symbol is never used: "heilen"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase4 Errors.
-
Hi
Du kannst den Public nicht in dem CMD einbauen Un den Forward auch oben definieren. Den Public am besten ganz unten im script, aber local
MFG, Robdeflop®
-
ich versteh nur bahnhof,
kann mir das bitte wer einbauen,
pleashier der downloadlink zur .pwn
-
new Zelt;
new Zeltvar;
if(strcmp(cmd, "/zelt", true) == 0)
{
if(Zeltvar == 0)
{
if(GetPlayerVehicleID(playerid) != 433)
{
return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im dafür vorgesehenen Fahrzeug!");
}
else
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
Zelt = CreateObject(3626,pX+8,pY+8,pZ,0,0,0);
Zeltvar = 1;
}
if(Zeltvar == 1)
{
DestroyObject(Zelt);
Zeltvar = 0;
}
}
return 1;
}Ich denke mal das es so funktioniert!
Hoffe ich konnte helfen.//Edit: Habe es erneuert und getestet!Ohne Errors etc.!
Lg
Hardcore -
-
breadfish.de
Hat das Thema geschlossen.