hallo ist es möglich das ich zb ein befehl machen kann das der im game mir dann zb ein haus hinstehlt oder eine Baustelle wenn ja wie
CreateObject
- davidlg01
- 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
-
-
Ja ist es.
public ObjektVar = 0; //objektid - zwischenspeicher
if(!strcmp(cmdtext. "/objekt", true)){
ObjektVar = CreateObject(...); //erstellen
}DestroyObject(ObjektVar); // zum entfernen
#Handy
mfg
-
davidlg01 ich weiss nicht mit was du deine Befehel machen willst.
Es gibt einmal das Standard vom Pwn her schon mit den Befehle.
Es gibt auch ocmd womit du deine befehle machen kannst.
Beispiel:
ocmd:reparieren(playerid,params[])
{
if(!IsPlayerInAnyVehicle(playerid))
return 1;
new istimpunkt=false;
for(new i=0; i<sizeof(repair); i++)
{
if(!IsPlayerInRangeOfPoint(playerid,2,repair[i][r_x],repair[i][r_y],repair[i][r_z]))
continue;istimpunkt=true;
}if(istimpunkt)
{
new vID= GetPlayerVehicleID(playerid);
SetVehicleHealth(vID,1000);
RepairVehicle(vID);
GivePlayerMoney(playerid,-60);
SendClientMessage(playerid,hellgrün,"Du hast dein Fahrzeug für 60$Repariert!");
}
else
{
SendClientMessage(playerid,hellgrün,"Du bist nicht im Reparier-Punkt.");
}return 1;
}Das war zu deiner ersten Fragen die Antwort.
Hier nun zu deiner 2Frage: Wie man Objekte wo hinsetzet:
Erstell dir ein Enum für die Objekte und die Koordinaten und dann machst du ein Befehl.
Befehl Beispiel:
ocmd:Baustelleerstellen(playerid,params[])
{
new oID,ooID;
return SendClientMessage(playerid,farbe,"INFO:Baustellebauen objektid benutzen");
if(oID1||oID|>6525)return SendClientMessage(playerid,farbe,"Unglültiges Objektid!");
CreateObject(oID,x,y,z,x_r,y_r,z_r);
SendClientMessage(playerid,farbe,"Sie haben eine Baustelle erstellt");
return 1;
}Falls ich mich verschrieben haben sollte so wie falsche Information gegeben haben sollte entschuldige ich mich schon mal.
Ich hoffe Jeffry schaut in verlauf des Wochenendes mal hier rein. -
Blackshadowscript:
Du redest viel zu viel um den Brei herum, er hat nicht gefragt wie man einen Befehl erstellt ob welche möglichkeiten es an Includes gibt. Er hat gefragt ob es möglich ist mit einem Befehl ein Objekt zu spawnen.
Dazu ist dein Befehl unbrauchbar, da der Quellcode fehlerhaft ist. Möchte dich auch gar nicht anfeinden aber wie ich sehe verbreitest du sehr viel Halbwissen in Threads, deswegen weise ich dich mal drauf hin dass du fixiert darauf achtest, weil irgendeinen Quatsch dort hinschreiben und dann Jeffry zur Korrektur holen geht echt nicht, das grenzt schon an Spam.Korrektur des Commands (Beispielcode)
ocmd:obj(playerid, params[])
{
new val;
if(sscanf(params,"i",val))return SendClientMessage(playerid, -1, "benutze: /obj [id]");
new Float:pPos[3];
GetPlayerPos(playerid, oPos[0], oPos[1], oPos[2]),
SerPVarInt(playerid, "obj.create.id", CreateObject(...));
return 1;
}#Handy
mfg
-
Meine Art geht auch da man es mit enum machen kann. Es ist zwar nicht so eine optimale variante da man über 1.000 Objekte laden muss und somit der Server läggen würden.
-
Deine Art wird nicht Funktionieren.
1. Welches Enum?
2. Du hast vergessen sscanf o.ä zu verwenden.
3. Benutzt du da Variablen die du nicht mal erstellt hast, dein Quellcode würde nur Errors ausgeben.mfg
-
breadfish.de
Hat das Thema geschlossen.