Nein bis 24 Maximal aber die packst ja noch Text drumherum, hab meinen Beitrag mal bearbeitet.
Beiträge von InternetInk aka Benjamin
-
-
Sicher, dauert einen moment ich editiere dann den Beitrag hier.
//Edit
======================================================================
Okay du willst also dem "Killer" eine Nachricht zukommen lassen wen er grade getötet hat.Im richtigen public bist du schonmal, OnPlayerDeath.
OnPlayerDeath gibt dir einige Parameter an die Hand, die du bei unsicherheit immer in der Wiki nachlesen kannst:
http://wiki.sa-mp.com/wiki/OnPlayerDeath
Folgende sind gegeben:
playerid - Die ID des Spielers der gestorben ist (Der Grund dafür das dieses public aufgerufen wird)
killerid - Die ID des Spielers der playerid getötet hat
reason - Ein vordefinierter Grund der mitgeliefert wird, enthält z.B. die Mordwaffe bzw. Todesart, spielt hier aber erstmal keine Rolle
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid,playerid,reason);// Zeigt die Todesnachricht rechts im Label an..
//Die Death Message ist so in Ordnung und die folgende if-Abfrage auch
if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
//Sie fragt ob die killerid ungleich der Standard ID für Ungültig ist, wenn ja , wenn also ein Connecteter Spieler playerid gekillt hat, bekommt der killer Score plus
//Es kann ja auch sein das playerid durch einen Sturz stirbt, dann ist killerid gleich der Ungültigen ID und die if-Abfrage wird nicht ausgeführt.
GivePlayerMoney(killerid,1000);
//Auch in Ordnung//nun kommt es
SendClientMessage(killerid,ROT,"Glückwunsch, du hast %s gekillt.");
//und Dafür spring ich mal aus dem pwn bereich raus
Wenn du einen Namen in einen String (String = Zeichenkette/Zeichenfolge) einbauen willst musst du diese formatieren.
Dazu gibt es die format Funktion.
Dort musst du nun Parameter angeben,
output[] - Der String, welcher ausgegeben werden soll
len - Die maximale Länge, welche ausgegeben werden soll
format[] - Der formatierte String
{Float,_}:... - Argumente jeder Art
Anhand der [] weiß man das es sich bei dem Parameter um strings handelt und anhand des eingeklammerten Floats um eine Aufzählung.
Wir brauchen also einen neuen string, da es in Pawn streng genommen keinen Datentyp string gibt bauen wir uns selbst einen indem wir einer Variable einfach ein Array geben.new playername[MAX_PLAYER_NAME];
In dem string der 24 Zeichen groß ist (weil MAX_PLAYER_NAME mit 24 definiert ist) können wir nun den Namen speichern.Dazu brauchen wir die GetPlayerName Funktion
GetPlayerName(playerid,playername,sizeof(playername));
Wir speichern den namen von playerid in den playername string.Jetzt haben wir schonmal den namen, nun brauchen wir noch einen string indem wir die Nachricht packen.
new dstring[128];
diesen formatieren wir jetzt, dazu geben wir format folgende dinge an:
ersteinmal worein er speichern soll,wie lang das maximal sein soll, dann unser Text mit den %'ten als Platzhalter für die einzusetzenden Variabeln und schließlich unsere Variabeln.format(dstring,sizeof(dstring),"Glückwunsch, du hast %s gekillt.",playername);
Das wars, den dstring können wir nun versenden:
SendClientMessage(killerid,ROT,dstring);Fertig sieht das dann so aus:
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid,playerid,reason);// Zeigt die Todesnachricht rechts im Label an..if(killerid != INVALID_PLAYER_ID)
{
new playername[MAX_PLAYER_NAME];
new dstring[128];
GetPlayerName(playerid,playername,sizeof(playername));
format(dstring,sizeof(dstring),"Glückwunsch, du hast %s gekillt.",playername);
SendClientMessage(killerid,ROT,dstring);
SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
GivePlayerMoney(killerid,1000);
}
return 1;
} -
Der gestorbene ist playerid, also musst du dir den namen von playerid mit GetPlayerName in einen string speichern lassen.
Den string musst du dann zusammen mit dem restlichen Text den du haben willst in einen weiteren string formatieren.
Den kannst du dann ausgeben. -
Also ich würde dir vorschlagen, dir einen bekannten zusuchen, der sich damit auskennt..
Wenn du keine Ahnung davon hast, solltest du es besser lassen..
Lass es dir von einem Bekannten machen und erklären oder so
Mfg
Absolutes /sign//Closed
-
-
Da du das nichteinmal weißt rate ich dir von der Verwendung eines mehreren zehntausend-Zeilen großen Scriptes schlicht ab.
Du kennst dich dafür zu wenig aus.//Closed
Du hast ja nun die Include (Die kommt übrigends in den Pawno/Includes Ordner)
-
Der Regeneffekt ist ganz nett, aber die Schrifteffekte sehen echt nicht gut aus.
Mal daran gedacht bei der Schrift Effekte wie z.B. ein leichtes Verwischen/Verzerrung/Verschwommenheit etc. einzuarbeiten?
Außerdem würde ich (Auch wenn es mit der Polizeisirene recht gut aussieht) bei Regen eher zu insgesamt dunkleren Farben mit wenigen Lichtquellen tendieren.
Alles in allem aber durchaus Potential.
-
Scripting Fragen kommen in den Scripting Bereich //Verschoben
@ Blu3scReeN
Nein, 32@ Thread
Du musst wenn du eine Variable in eine Zeichenkette einbinden willst, diese formatieren mit der format funktion
Außerdem musst du dir den Spielernamen ersteinmal besorgen, mit GetPlayerName und einem weiteren string.
//
if(strcmp(cmdtext,"/Kennzeichen",true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new vehicleid,kstring[30],pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,sizeof(pName));
vehicleid = GetPlayerVehicleID(playerid);
format(kstring,sizeof(kstring),"%s Auto",pName);
SetVehicleNumberPlate(vehicleid,kstring);
SetVehicleToRespawn(vehicleid);
PutPlayerInVehicle(playerid,vehicleid,0);
}
return 1;
}//Edit
ode rso das man das selber auswählen kann !?!?Q
Dazu müsstest du mit Parametern arbeiten, ich glaube dazu wärst du noch nicht in der Lage
-
-
WTF Das ist ein dummer Titel...
Nächstemal Aussagekräfitg!
dutils wird von dini genutzt, schau mal in die dutils include ob die mktime funktion vorhanden ist -
Nein, denn mit dem Normalen Mofa-Schein darfst du nur unter folgenden Bedingungen fahren:
- maximal 25 km/h,
- einsitzig,
- Verbrennungsmotor bis 50 ccm Hubraum oder ElektromotorKannst sie ja Umbauen lassen aber ich glaube das ist etwas teuer...
-
Soll wahrscheinlich eine PlayerInfo Variable sein.
Kopiere nicht aus anderen Scripten dann passiert dir sowas nicht
-
Ich weiß nicht warum aber es liegt an der sscanf Zeile, die Funktion (zumindest die mit der sscanf2 Include) scheint buggy zu sein.
Mit der sscanf Funktion (http://wiki.sa-mp.com/wiki/Sscanf) funktioniert es... -
-
Jo muss zu einer 0, außerdem würde ich dir raten es einfach ins Script einzubauen...
-
Im FilterScript muss bei OnPlayerCommandText das letzte return 0 sein und nicht return 1
//Edit Andersherum, 0 und nicht 1 im FS -
OnPlayerStateChange wenn newstate auf PLAYER_STATE_DRIVER geändert wird.
-
-
Du nutzt ja auch immer die iconid 54, du musst pro Haus eine andere id verwenden.
Nimm statt 54 die hausicons Variable, beachte aber das diese bei 0 Anfängt und du somit bisherige Marker überschreibst die die Selbe ID haben.
Also würde ich alle anderen von 0 bis gebraucht von hand bennen und die hausicons Variable folgendermaßen eintragen:
SetPlayerMapIcon(playerid,30+hausicons,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],32,0,0);
Die 30 wäre dann dein Puffer -
Man sollte sich aufjedenfall das durchlesen:
Pawn Einstieg 2.0