einfach die facingangle holen und die object rotation setzen
Das ist der letzte wert bei den Createobject
Sorry, wie nimmt man die Facing Angle
einfach die facingangle holen und die object rotation setzen
Das ist der letzte wert bei den Createobject
Sorry, wie nimmt man die Facing Angle
Wie kann ich es machen das auch die Rotation der PlayerID gezählt wird beim Setzen der Straßensperre. Also in die Richtung die PLAYERID schaut in die soll die Sperre gesetzt werden
Der Befehl:
if(listitem == 0)
{
SendClientMessage(playerid,GRAU,"Du hast eine kleine Straßensperre aufgestellt");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
CreateObject(1459,x,y+1,z-0.4,0,0,0);
return 1;
}
Wo bzw wie ist denn renthouse definiert?
if ( !strcmp ( cmdtext , "/renthouse" ) )
{
new HouseDataIndex = GetHouseDataIndex ( ActualHouse[ playerid ] ) , PlayerName[ MAX_PLAYER_NAME ] , string[ 128 ];
GetPlayerName ( playerid , PlayerName , MAX_PLAYER_NAME );
if ( ActualHouse[ playerid ] != -1 )
{
if ( GetPlayerHouse ( playerid ) != -1 )
return SendClientMessage ( playerid , GRAU , "Du wohnst schon in einem Haus!" );
if ( !strcmp ( HouseData[ HouseDataIndex ][ Tenant ] , UNALLOWED_NAME ) && HouseData[ HouseDataIndex ][ AllowRent ] && strcmp ( HouseData[ HouseDataIndex ][ Owner ] , PlayerName ) ) // Wenn das Haus einen Besitzer hat, und keinen Mieter hat
{
format ( HouseData[ HouseDataIndex ][ Tenant ] , MAX_PLAYER_NAME , PlayerName );
format ( string , 128 , "Du bist nun Untermieter dieses Haus für %d$!" , HouseData[ HouseDataIndex ][ Rent ] );
}
else
return SendClientMessage ( playerid , GRAU , "Du kannst hier nicht einmieten." );
}
else
return SendClientMessage ( playerid , GRAU , "Du befindest dich in keinem Haus!" );
}
Der Code:
public OnPlayerEnterInterior(playerid ,interior ,method)
{
new HouseIndex = GetHouseIndex ( interior ) , HouseDataIndex = GetHouseDataIndex ( interior ) , PlayerName[ MAX_PLAYER_NAME ];
GetPlayerName ( playerid , PlayerName , MAX_PLAYER_NAME );
if ( HouseIndex != -1 && HouseDataIndex != -1 )
if ( HouseData[ HouseDataIndex ][ Lockstate ] == 0 )
{
if ( strcmp ( PlayerName , HouseData[ HouseDataIndex ][ Owner ] ) && strcmp ( PlayerName , HouseData[ HouseDataIndex ][ Tenant ] ) )
{
new string[ 128 ];
if ( strcmp ( UNALLOWED_NAME , HouseData[ HouseDataIndex ][ Owner ] ) )
if ( !strcmp ( UNALLOWED_NAME , HouseData[ HouseDataIndex ][ Tenant ] ) )
if ( HouseData[ HouseDataIndex ][ AllowRent ] == 0 )
format ( string , 128 , "Dieses Haus gehört %s." , HouseData[ HouseDataIndex ][ Owner ] );
else
format ( string , 128 , "Dieses Haus gehört %s. Hier kannst du für %d$ einmieten! Benutze "renthouse"" , HouseData[ HouseDataIndex ][ Owner ] , HouseData[ HouseDataIndex ][ Rent ] ); //ERROR
else
format ( string , 128 , "Dieses Haus gehört %s. Mieter ist %s." , HouseData[ HouseDataIndex ][ Owner ] , HouseData[ HouseDataIndex ][ Tenant ] );
else
format ( string , 128 , "Dieses Haus ist für %d$ zu verkaufen. Zum Kaufen benutze "/buyhouse"" , HouseData[ HouseDataIndex ][ Prize ] );
SendClientMessage ( playerid , GRAU , string );
}
}
else
{
SendClientMessage ( playerid , GRAU , "Dieses Haus ist abgeschlossen!" );
return 0;
}
return 1;
}
Die Errors:
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1744) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1744) : warning 217: loose indentation
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1744) : error 017: undefined symbol "renthouse"
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1744) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1744) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1744) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1744) : error 001: expected token: ";", but found ")"
C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1744) : fatal error 107: too many error messages on one line
Danke
....das alles für ein Textdraw ohje das wird Arbeit
Wie kann ich das "TextDrawSetPreviewModel" mit einem Befehl verbinden wie zum Beispiel /skin
Danke im vorraus
OK ich versuch das mal und zu den Wanteds das geht nicht, weil ich ein eigenes Wantedsystem geschrieben hab.
Achso ja das Problem ist dann müssten wir das System sehen. Aber bitte zeig es hier nicht wenn es einzigartig ist sonst haben das morgen 100 Server
Aber jetzt hab ich die Antwort auf meine Frage noch nicht also es geht immernoch nicht.
Ich denke mal Error oder Warnings gibt es nicht oder?
//Edit nimm mal das Spieler speichern erstmal raus und mach:
SetPlayerWantedLevel(pID,0);
Alles anzeigenOutPlayed, dann weiß ich nicht wie ihr das bei euch habt...
ich erklär dir mal wie es bei mir ist (eig immer :o)
if(SpielerInfo[playerid][pAdmin] == 1) return(WENN ES NICHT ZUTRIFFT) SendClient.....
// Wenn es zutrifft.
Das '!' verneint das ganze, sofern ich weis.
Nein es verneint garnicht also:
Das return dahinter besagt das nichts passieren sollte und direkt eine Nachricht gesendet werden soll. Das ist einfach Zeilen sparender und geht schneller
Also if (ist spieler nicht (!) In Fraktion 1 soll nichts passieren (return) und eine Nachricht gesendet werden
//Edit
Deine Abfrage ist ja genauso richtig wie seine nur das geht finde ich persönlich schneller und einfacher
@Fabulous-Life
ehhh nein das ist schon richtig so mit der Fraktions abfrage habe es genauso...
Beachte das return dahinter
Was du da vor dir her Schwafelst ist totaler mist. Die Abfrage der Fraktion ist komplett richtig und warum sollte nicht im Script savePlayer stehen...
Alles anzeigenocmd:arrest(playerid,params[])
{
new Float:x,Float:y,Float:z;
new pID, Zeit;
new s[128];
if(!IsPlayerInRangeOfPoint(playerid,10,226.7997,112.3471,999.0156)return SendClientMessage(playerid,HELLBLAU,"Du bist nicht in der näher der Zellen");
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist kein angestellter der Polizei");
if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
GetPlayerPos(playerid,x,y,z);
if(!IsPlayerInRangeOfPoint(pID,10,x,y,z))return SendClientMessage(playerid,HELLBLAU,"Du kannst den Spieler nicht ins Gefängnis stecken da er nicht in deiner Nähe ist");
if(sscanf(params,"us",pID,Zeit))return SendClientMessage(playerid,HELLBLAU,"Benutze: /Arrest [PLAYERID] [ZEIT]");
format(s,sizeof(s),"Du hast %s in das Gefängnis für %d Sekunden gesteckt.",sName(pID),Zeit);
SendClientMessage(playerid,HELLBLAU,s);
format(s,sizeof(s),"Du wurdest von %s in das Gefängnis für %d Sekunden gesteckt.",sName(playerid),Zeit);
SendClientMessage(pID,GRAU,s);
SetPlayerPos(pID,226.7997,112.3471,999.0156);
return 1;
}
Du hast die Zeit in einem String gepackt was mir nicht sehr Sinnvoll erscheint, Nutze lieber einen Integer der Befehl sollte so nun Klappen wie Oben.
Mit freundlichen Grüßen
SLaYz
So funktioniert der Befehl garnicht mehr. Ich werde nicht in Gefägnis gesteckt und bekomme auch falsche Nachrichten
Derjenige der Arrest bekommen hat bekommt die Nachricht so:
"Du wurdest von OutPlayed ins das Gefängnis für Du hast Outplayed... usw
Woran liegt das?
Hier der Befehl:
ocmd:arrest(playerid,params[])
{
new Float:x,Float:y,Float:z;
new pID;
new s[128];
if(!IsPlayerInRangeOfPoint(playerid,10,226.7997,112.3471,999.0156)return SendClientMessage(playerid,HELLBLAU,"Du bist nicht in der näher der Zellen");
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist kein angestellter der Polizei");
if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
GetPlayerPos(playerid,x,y,z);
if(!IsPlayerInRangeOfPoint(pID,10,x,y,z))return SendClientMessage(playerid,HELLBLAU,"Du kannst den Spieler nicht ins Gefängnis stecken da er nicht in deiner Nähe ist");
if(sscanf(params,"us",pID,s))return SendClientMessage(playerid,HELLBLAU,"Benutze: /Arrest [PLAYERID] [ZEIT]");
format(s,sizeof(s),"Du hast %s in das Gefängnis für %s Sekunden gesteckt.",sName(pID),s);
SendClientMessage(playerid,HELLBLAU,s);
format(s,sizeof(s),"Du wurdest von %s in das Gefängnis für %s Sekunden gesteckt.",sName(playerid),s);
SendClientMessage(pID,GRAU,s);
SetPlayerPos(pID,226.7997,112.3471,999.0156);
return 1;
}
Es wird dir niemals jemand im ganzen Leben ein Script für 14 Euro geben
Hab zwar gerade kein Bild, habe aber eine Mercedes A-Klasse.
Google Bilder hilft
Das kann ja jeder sagen
Also ich hab einen Lamborghini Aventador
Spaß
Beavis darf man damit auf die Autobahn?
Ihr vergesst alle die Quelle eurer Bilder
Ich mache gerade meinen Führerschein
Alles anzeigenIch kenne das Problem ...
Kenne auch keine richtige Lösung.
Ich glaube das ist vollkommen normal,
da der Streamer halt "anders" funktioniert als das normale CreateObject ... Der Streamer braucht halt seine Zeit.
Dazu gibt es einen kleinen "Trick".
Freeze
Port
Nach wenigen 100ms Unfreeze
Oder du schreibst wichtige Untergründe um ins normale CreateObject!
MfG Kevin
Danke
Also nach einem wichtigen Teleport freeze ich ihn am besten kurz ?
Ich suche das Lied was in diesem Video ab Minute 4:30 Läuft. Es ist mir echt wichtig ich habe alles probiert doch ich finde das Lied eindach nicht.
Vielleicht kennt es jemand von euch
Zeig mal die Server Log
if(!response) return SendClientMessage(playerid,WEIß,"Du hast dein Ticket weggeschmissen und Flüchtest"),SetPlayerWantedLevel(playerid,1);
Danke Funktioniert einwandfrei
Und verstanden habe ich es auch
Ich habe das Problem das ich im Dialog die Abfrage machen möchte wie viel Geld er zahlen soll. Wenn ich dabei die normale Abfrage nutze die im oberen befehl steht also bei dem Ticket befehl kommt dort nur eine komische Zahl heraus :
if(dialogid == DIALOG_TICKET)
{
if(response == 0)
{
SendClientMessage(playerid,WEIß,"Du hast dein Ticket weggeschmissen und Flüchtest");
SetPlayerWantedLevel(playerid,1);
return 1;
}
if(response == 1)
{
SendClientMessage(playerid,WEIß,"Du hast den Betrag %d gezahlt!");
return 1;
}
}
ocmd:ticket(playerid,params[])
{
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist kein agestellter bei der Polizei");
if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
new pID, grund[265], betrag[265];
if(sscanf(params,"usd",pID,grund,betrag)) return SendClientMessage(playerid,HELLBLAU,"Benutze: /Ticket [PLAYERID] [GRUND] [STRAFE]");
format(grund,sizeof(grund),"Du hast ein Ticket bekommen GRUND: %s \nDu musst eine Betrag von %d zahlen", grund, betrag);
ShowPlayerDialog(pID, DIALOG_TICKET, DIALOG_STYLE_MSGBOX, "TICKET", grund, "Bezahlen", "Flüchten");
return 1;
}