Hey, ich wollte mal Fragen wie ich ein Objekt mit den SAMP Map Editor drehen kann.
Also es steht Normal:
und so soll es gedreht werden
Mit freundlichen Grüßen,
KnoLe
Hey, ich wollte mal Fragen wie ich ein Objekt mit den SAMP Map Editor drehen kann.
Also es steht Normal:
und so soll es gedreht werden
Mit freundlichen Grüßen,
KnoLe
Hey, ich sitze gerade an mein erstes Haus System.
Bis jetzt geht eigentlich alles, bis auf das /enter.
Es passiert folgendes:
Ich gebe /enter ein, und alles ist so, als wenn ich die Interior ID falsch eingesetzt hätte.
Der Teil von /enter der Probleme Macht:
if(dini_Int("/Häuser/Haus1.ini","Offen")==1)
{
new interior = dini_Int("/Häuser/Haus1.ini","InteriorID");
SetPlayerInterior(playerid,interior);
new Float:x, Float:y, Float:z;
x = dini_Float("/Häuser/Haus1.ini", "X2");
y = dini_Float("/Häuser/Haus1.ini", "Y2");
z = dini_Float("/Häuser/Haus1.ini", "Z2");
SetPlayerPos(playerid,x,y,z);
}
else
{
SendClientMessage(playerid,GRAU,"Das Haust ist abgeschlossen.");
}
Und die Haus1.ini
Besitzer=******
Kosten=300000
X=1783.9071
Y=-1907.9650
Z=13.3922
Offen=1
InteriorID=10
X2=-375.962463
Y2=-65.816848
Z2=1001.507812
Das ist der BSN Interior, zum Testen.
//edit
Erledigt, hatte bei X2, ein Minus Zeichen
new Text3D:LabelName = Create3DTextLabel("Report-Modus", 0x008080FF, 9999.0, 9999.0,9999.0,5.0,0,0);
Attach3DTextLabelToPlayer(LabelName, playerid, 0.0, 0.0, 0.7);
Attach3DTextLabelToPlayer(LabelName, giveplayerid, 0.0, 0.0, 0.7);
so müsste es eigtl. gehen, probier einfach rum
Create3DTextLabelund Attach3DTextLabelToPlayer
Beispiel:
new Text3D:LabelName = Create3DTextLabel("Report-Modus", 0x008080FF, 9999.0, 9999.0,9999.0,5.0,0,0);
Attach3DTextLabelToPlayer(LabelName, playerid, 0.0, 0.0, 0.7);
new Hitmantor;
forward HitmanTorTimer();
OnGameModeInit()
{
Hitmantor = CreateDynamicObject(980, 1882.4000244141, 703.20001220703, 12.5, 0, 0, 90);
return 1;
}
OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd,"/auf",true)==0)
{
if(IsPlayerInRangeOfPoint(playerid,15.0,1882.7959,702.8695,10.8203))
{
if(GetPVarInt(playerid,"Fraktion")==4)
{
MoveDynamicObject(Hitmantor,1882.4000244141, 703.20001220703, 6.3000001907349,7.5);
SetTimer("HitmanTorTimer",5000,false);
SendClientMessage(playerid,ORANGE,"Das Tor schließt sich Automatisch in 5 Sekunden.");
}
}
return 1;
}
}
public HitmanTorTimer()
{
MoveDynamicObject(Hitmantor,1882.4000244141, 703.20001220703, 12.5,7.5);
return 1;
}
Alles anzeigen
Der Name kommt mir sehr nachgemacht von GTA-City/RPG-City rüber.
Ansonsten Top Vorstellung.
Hey, ich wollte mal fragen wie man das machen kann, wenn ich z.b id 1 Orte, das dort steht: "Der Spieler befindet sich in Vinewood."
Mein Aktueller Code vom /orten
ocmd:orten(playerid,params[])
{
if(IsPlayerMember(playerid,1) || IsPlayerMember(playerid,4))
{
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,GRAU,"Benutze: /orten <Spielername/ID>");
if(IsPlayerConnected(pID))
{
if(pID == playerid)
{
SendClientMessage(playerid,GRAU,"Du kannst dich nicht selbst Orten.");
}
else
{
if(GetPVarInt(playerid,"OrtenSperre")==0)
{
DisablePlayerCheckpoint(playerid);
new Float:x, Float:y, Float:z;
GetPlayerPos(pID, x, y, z);
SetPlayerCheckpoint(playerid, x, y, z, 3.0);
SetPVarInt(playerid,"OrtenSperre",1);
SetTimerEx("OrtenSperre",6000,0,"i",playerid);
GameTextForPlayer(playerid,"6",1000,3);
SetTimerEx("CD5",1000,0,"i",playerid);
}
else
{
SendClientMessage(playerid,GRAU,"Du kannst einen Spieler nur jede 6 Sekunden Orten.");
}
}
}
else
{
SendClientMessage(playerid,GRAU,"Der Spieler wurde nicht gefunden.");
}
}
else
{
SendClientMessage(playerid,GRAU,"Du bist kein Hitman oder kein Polizist.");
}
return 1;
}
Also mein /contracts sieht so aus:
if(strcmp(cmd,"/contracts",true)==0)
{
if(GetPVarInt(playerid,"Fraktion")==4)
{
SendClientMessage(playerid,LILA,"Folgende Spieler haben einen Contract:");
new string[128];
for(new i = 0;i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i,"Contract")>0)
{
format(string,sizeof(string),"%s[%i], Höhe: %i$",SpielerName(i),i,GetPVarInt(i,"Contract"));
SendClientMessage(playerid,GRAU,string);
}
}
}
}
else
{
SendClientMessage(playerid,GRAU,"Du darfst diesen Befehl nicht ausführen.");
}
return 1;
}
Wenn du willst, kann ich dir auch noch den /contract Befehl schicken.
Verstehst du denn wie man es nutzt?
Die erste Variable ist für den Spieler gedacht der es sehen soll.
MfG
GASDigital
Ja ich weiß.
Habe es mit einem Timer gemacht damals hat aber nicht geklappt.
Würde es denn so gehen?
forward WantedShow();
public OnGameModeInit()
{
SetTimer("WantedShow",5000,1);
return 1;
}
public WantedShow()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerMember(i,1))//Abfrage ob "i" SAPD Member ist.
{
for(new j=0; j<MAX_PLAYERS; j++)
{
new string[128];
new Float:x, Float:y, Float:z;
if(LabelCreated[j] == 0 && GetPlayerWantedLevel(j) >= 1)
{
format(string,sizeof(string),"[%i] %s\nWantedlevel: %i",j,SpielerName(j),GetPlayerWantedLevel(j));
GetPlayerPos(j,x,y,z);
WantedLabel[j] = CreatePlayer3DTextLabel(i,string,ROT,x,y,z,10.0,j);
LabelCreated[j] = 1;
}
if(LabelCreated[j] == 1 && GetPlayerWantedLevel(j) >= 1)
{
format(string,sizeof(string),"[%i] %s\nWantedlevel: %i",j,SpielerName(j),GetPlayerWantedLevel(j));
UpdatePlayer3DTextLabelText(i, WantedLabel[j], ROT,string);
}
if(LabelCreated[j] == 1 && GetPlayerWantedLevel(j) == 0)
{
DeletePlayer3DTextLabel(j, WantedLabel[j]);
LabelCreated[j] = 0;
}
}
}
}
return 1;
}
ocmd:eject(playerid,params[])
{
new pID,string[128];
if(sscanf(params,"u",pID))return SendClientMessage(playerid, GRAU, "Benutze: /eject <ID/Spielername>");
if(IsPlayerConnected(pID))
{
if(pID == playerid)
{
SendClientMessage(playerid,GRAU,"Du kannst dich nicht selbst rausschmeißen.");
}
else
{
RemovePlayerFromVehicle(pID);
format(string,sizeof(string),"Du hast %s aus deim Auto geschmissen.",SpielerName(pID));
SendClientMessage(playerid,ORANGE,string);
format(string,sizeof(string),"Du wurdest von %s aus dem Auto geschmissen.",SpielerName(playerid));
SendClientMessage(pID,ORANGE,string);
}
}
else
{
SendClientMessage(playerid,GRAU,"Der Spieler wurde nicht gefunden.");
}
return 1;
}
Tipp: Es ist ein 3D Text nur für 1 Spieler.
wiki.sa-mp.com/wiki/CreatePlayer3DTextLabel
und dann entsprechend an den Spieler mit den Wanteds Attachen
MfG
GASDigital
Habe ich schon versucht, geht aber leider irgendwie nicht.
Hey, ich habe schon gesucht, habe es ausprobiert doch es hat nicht geklappt.
Entweder konnten es alle Spieler Sehen, wenn ein Cop in der nähe ist, oder halt nicht.
Hoffe einer kann mir sowas sagen wie sowas geht und auch klappt.
forward Restart();
public Restart()
{
SendRconCommand("gmx");
return 1;
}
if(strcmp(cmd,"/restart",true)==0)
{
if(IsPlayerAdmin(playerid))
{
SetTimer("Restart",5000,0);
for(new i=0;i <MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SpielerSpeichern(i);
SendClientMessage(i,GRAU,"Es werden alle Accounts vom Server gespeichert. Dies kann zu Lags führen.");
}
}
}
return 1;
}
ocmd:usedrugs(playerid,params[])
{
if(GetPVarInt(playerid,"Drogen")>=2)
{
new Float:leben;
GetPlayerHealth(playerid,leben);
SetPlayerHealth(playerid,leben +30);
SetPVarInt(playerid,"Drogen",GetPVarInt(playerid,"Drogen")-2);
new string[128];
format(string,sizeof(string),"** %s nimmt 2g Drogen zu sich.",SpielerName(playerid));
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i = 0;i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i,30.0,x,y,z))
{
SendClientMessage(i,ME_COLOR,string);
}
}
}
}
else
{
SendClientMessage(playerid,GRAU,"Du hast keine 2g Drogen bei dir.");
}
return 1;
}
ocmd:a(playerid,params[])
{
new text[128];
new adminname[64];
switch(GetPVarInt(playerid,"Adminlevel"))
{
case 0:{adminname="Spieler";}
case 1:{adminname="Supporter";}
case 2:{adminname="Trial Admin";}
case 3:{adminname="Admin";}
case 4:{adminname="Head Admin";}
}
if(sscanf(params,"s",text))return SendClientMessage(playerid,GRAU,"Benutze : /a <Nachricht>");
format(text,sizeof(text),"** %s %s (%d): %s **",adminname,SpielerName(playerid),playerid,text);
if(GetPVarInt(playerid,"Adminlevel")== 0){SendClientMessage(playerid,HIMMELSBLAU,text);}
for(new i=0; i<MAX_PLAYERS; i++)
{
if(GetPVarInt(i,"loggedin") == 0)continue;
if(GetPVarInt(i,"Adminlevel") >= 1)
SendClientMessage(i,HIMMELSBLAU,text);
}
return 1;
}
if(strcmp(cmd,"/auf",true)==0)
{
if(IsPlayerInRangeOfPoint(playerid,4.0,246.4254,72.8439,1003.6406))
{
if(GetPVarInt(playerid,"Fraktion")==1)
{
MoveDynamicObject(InteriorTuer,247.19999694824, 72.400001525879, 1002.5,7.5);
SendClientMessage(playerid,ORANGE,"Das Tor Nummer 1 hat sich geöffnet.");
}
}
if(IsPlayerInRangeOfPoint(playerid,15.0,1588.4547,-1637.9052,13.4319))
{
if(GetPVarInt(playerid,"Fraktion")==1)
{
MoveDynamicObject(GeragenTuer,1590.0999755859, -1638.1999511719, 9.1999998092651,7.5);
SendClientMessage(playerid,ORANGE,"Das Tor Nummer 2 hat sich geöffnet.");
}
}
if(IsPlayerInRangeOfPoint(playerid,15.0,1546.8237,-1627.6074,13.3828))
{
if(GetPVarInt(playerid,"Fraktion")==1)
{
MoveDynamicObject(HofTuer,1546.4000244141, -1627.5999755859, 9.1000003814697,7.5);
SendClientMessage(playerid,ORANGE,"Das Tor Nummer 3 hat sich geöffnet.");
}
}
return 1;
}
Ich habe das jetzt so gemacht:
public WantedShow()
{
for(new j=0; j<MAX_PLAYERS; j++)
{
if(GetPVarInt(j,"Fraktion")==1)//Fragt ab ob "j" Cop ist.
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(GetPlayerWantedLevel(i) > 0)//Wenn "i" mehr Wanteds als 0 hat.
{
DeletePlayer3DTextLabel(j,Wantedtext[i]);
new string[128];
format(string,sizeof(string),"[%i] %s\nWantedlevel: %i",i,SpielerName(i),GetPlayerWantedLevel(i));
new Float:x, Float:y, Float:z;
GetPlayerPos(i, x, y, z);
Wantedtext[i] = CreatePlayer3DTextLabel(j,string,ROT,x,y,z,10.0,i);
}
}
}
}
return 1;
}
Geht immernoch nicht.. was ist daran falsch?