Zeig mal dein OnPlayerDeath, der Teil der die Position speichert.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
public OnPlayerDeath(playerid, killerid, reason)
{
sInfo[playerid][PTot] = 1;
new Float:ptx,Float:pty,Float:ptz,string[80];
sInfo[playerid][dx] = ptx;
sInfo[playerid][dy] = pty;
sInfo[playerid][dz] = ptz;
GetPlayerPos(playerid, ptx,pty,ptz);
TotenKopf[playerid] = CreatePickup(1254,1,ptx,pty,ptz);
format(string,sizeof(string),"Leichen Name\nvon %s",getPlayerName(playerid));
TotenName[playerid] = Create3DTextLabel(string,GRAU,ptx,pty,ptz,10,GetPlayerVirtualWorld(playerid),0);
format(string, sizeof(string),"Der Spieler %s ID %i ist soeben gestorben!",getPlayerName(playerid),playerid);
SendOndutyMedicMessage(GELB,string);
if(sInfo[playerid][kGeld] > 0)
{
if(isPlayerInFrakt(killerid,15))
{
GivePlayerMoney(killerid, sInfo[playerid][kGeld]);
GameTextForPlayer(playerid,"~r~Du warst ein auftrag der Hitmans",2000,0);
GameTextForPlayer(killerid,"~r~Auftrag Erledigt",2000,0);
format(string,sizeof(string),"Der Spieler %s hat den auftrag erledigt und %s gekillt.",getPlayerName(killerid),getPlayerName(playerid));
SendHitmanMessage(BRAUN,string);
format(string,sizeof(string),"Er erhät nun das ausgesetzte Kopfgeld in Höhe von %i$.",sInfo[playerid][kGeld]);
SendHitmanMessage(BRAUN,string);
sInfo[playerid][kGeld] = 0;
}
}
return 1;
} -
new Float:ptx,Float:pty,Float:ptz,string[80];
sInfo[playerid][dx] = ptx;
sInfo[playerid][dy] = pty;
sInfo[playerid][dz] = ptz;
GetPlayerPos(playerid, ptx,pty,ptz);zu:
new Float:ptx,Float:pty,Float:ptz,string[80];
GetPlayerPos(playerid, ptx,pty,ptz);
sInfo[playerid][dx] = ptx;
sInfo[playerid][dy] = pty;
sInfo[playerid][dz] = ptz; -
Jeffry: Ich habe jetzt deinen Code benutzt, und der Spielt noch mehr verrückt O.o http://i.epvpimg.com/mDq6h.jpg
Ich habe diesen Dialog:
Spoiler anzeigen case Dialog_Geburtsdatum:
{
new second = gettime();
new tag,monat,jahr,stunde,minute;
getdate(jahr,monat,tag);
gettime(stunde,minute,second);
new DateInfo[3][20],string[200];
split(inputtext,DateInfo,'.');
if(response == 0) return 1;
else
{
if(strlen(inputtext) > 10)
{
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
new tmp[16];
format(tmp, sizeof(tmp), "d.d.%d", strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]));
printf("Datum: %s", tmp);
if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
{
printf("jahr: %d | eingabe: %d", jahr, strval(DateInfo[2]));
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
new check = jahr - strval(DateInfo[2]);
if(strval(DateInfo[1]) > monat)
{
check -= 1;
}
else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
{
check -= 1;
}
if(check < 14 || check > 50)
{
printf("check = %d", check);
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
Spieler[playerid][pAlter] = check;
format(Spieler[playerid][pGeburtsdatum],11,inputtext);
format(string,sizeof(string),"Ok du bist also %i Jahre alt.",Spieler[playerid][pAlter]);
ShowPlayerDialog(playerid,Dialog_Geschlecht,DIALOG_STYLE_LIST,"{FFFFFF}SmR: {308EAD}Geschlecht","{FFFFFF}Männlich\nWeiblich","Weiter","Abbrechen");
return 1;
}
}Und so Speichert er alles:
Spoiler anzeigen stock SavePlayerData(playerid)
{
new query[950 + MAX_PLAYER_NAME],Tag,Monat,Jahr,Stunde,Minute,Sekunde;
getdate(Tag,Monat,Jahr);
gettime(Stunde,Minute,Sekunde);
format(query,sizeof(query),"d.d.%d - d:d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);
mysql_format(DBHandle, query, sizeof(query),"UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBargeld` = '%d', `pKontoguthaben` = '%d', `pLastLogin` = '%s', `pLeben` = '%.1f' WHERE `pName` = '%e'",
Spieler[playerid][pAlter],Spieler[playerid][pAdminlevel],Spieler[playerid][pGeburtsdatum],Spieler[playerid][pGeschlecht],Spieler[playerid][pBanned],Spieler[playerid][pBargeld],Spieler[playerid][pKontoguthaben],query,Spieler[playerid][pLeben],Spieler[playerid][pName]);
mysql_tquery(DBHandle, query, "","");
printf(query,"%d");
return 1;
}Hier einmal die server_log:
Spoiler anzeigen
----------
Loaded log file: "server_log.txt".
----------Spoiler anzeigen SA-MP Dedicated Server
----------------------
v0.3z, (C)2005-2014 SA-MP TeamSpoiler anzeigen [18:34:19] filterscripts = "" (string)
[18:34:19]
[18:34:19] Server Plugins
[18:34:19] --------------
[18:34:19] Loading plugin: mysql
[18:34:19] >> plugin.mysql: R39-2 successfully loaded.
[18:34:19] Loaded.
[18:34:19] Loading plugin: sscanf
[18:34:19]Spoiler anzeigen [18:34:19] ===============================Spoiler anzeigen [18:34:19] sscanf plugin loaded.Spoiler anzeigen [18:34:19] Version: 2.8.1Spoiler anzeigen [18:34:19] (c) 2012 Alex "Y_Less" ColeSpoiler anzeigen [18:34:19] ===============================Spoiler anzeigen [18:34:19] Loaded.
[18:34:19] Loaded 2 plugins.Spoiler anzeigen [18:34:19]
[18:34:19] Filterscripts
[18:34:19] ---------------
[18:34:19] Loaded 0 filterscripts.Spoiler anzeigen [18:34:19] San Miami Roleplay It's Possible. German RoleplaySpoiler anzeigen [18:34:19] --------------------------------
[18:34:19] Dieses Script [Version: It's Possible. German Roleplay] steht unter Datenschutz und darf
[18:34:19] nur von dem jenigen Besitzer benutzt/verwendet werden.
[18:34:19] Falls diese Richtlinien nicht eingehalten werden,werden
[18:34:19] Rechtlicheschritte gegen sie eingeleitet. Script von Eddy.
[18:34:19] Copyright by sMR
[18:34:19] --------------------------------
[18:34:19] San Miami Roleplay It's Possible. German RoleplaySpoiler anzeigen [18:34:19] Number of vehicle models: 0
[18:34:37] Incoming connection: 127.0.0.1:52800
[18:34:38] [join] Eddy_Mind has joined the server (0:127.0.0.1)
[18:34:38] SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy_Mind'
[18:34:41] INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`) VALUES ('Eddy_Mind','test','0','0','0','0','0','0','0','2014.12.23 - 18:34:41','2014.12.23 - 18:34:41','0','100.0')
[18:34:43] Datum: 18.11.1994
[18:34:44] UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '46', `pGeburtsdatum` ='49',`pGeschlecht` ='1', `pBanned` = '49', `pBargeld` = '49', `pKontoguthaben` = '46', `pLastLogin` = '2014.12.23 - 18:34:44', `pLeben` = '0.0' WHERE `pName` = 'Eddy_Mind'
[18:36:18] UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '5', `pGeburtsdatum` ='49',`pGeschlecht` ='1', `pBanned` = '49', `pBargeld` = '49', `pKontoguthaben` = '46', `pLastLogin` = '2014.12.23 - 18:36:18', `pLeben` = '0.0' WHERE `pName` = 'Eddy_Mind'
[18:36:28] [part] Eddy_Mind has left the server (0:1)
Und die mysql_log:
Spoiler anzeigen [18:34:19] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:34:19] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:34:19] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 7.413 milliseconds
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:34:38] [DEBUG] mysql_format - connection: 1, len: 184, format: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'"
[18:34:38] [DEBUG] mysql_tquery - connection: 1, query: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy", callback: "LoadPlayerDataSequence", format: "dd"
[18:34:38] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - starting query execution
[18:34:38] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - query was successfully executed within 2.172 milliseconds
[18:34:38] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:34:38] [DEBUG] Calling callback "LoadPlayerDataSequence"..
[18:34:38] [DEBUG] cache_get_field_content_int - row: 0, field_name: "count", connection: 1
[18:34:38] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "count", data: "0"
[18:34:38] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[18:34:41] [DEBUG] mysql_format - connection: 1, len: 974, format: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `p..."
[18:34:41] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburt", callback: "(null)", format: "(null)"
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.552 milliseconds
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:34:44] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:34:44] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '46', `pG", callback: "(null)", format: "(null)"
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.665 milliseconds
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:36:18] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:36:18] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '5', `pGe", callback: "(null)", format: "(null)"
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 1.40 milliseconds
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
-
Danke euch , es geht jetzt perfekt!
Aber jetzt komme ich mit den /VEH befehl nicht weiter? Also es soll dann, wenn schon ein Auto erstellt wurde, das alte gelöscht werden. Aber das auto wird nicht gelöscht? Und warum wird kein 3D Text erstellt?
Spoiler anzeigen
ocmd:veh(playerid,params[])
{
if(SpielerInfo[playerid][pAlevel] >= 2)
{
//if(IsPlayerInAnyVehicle(playerid) == 1)return SendClientMessage(playerid, 0xFF0000FF, "Du bist bereits in einem Fahrzeug!");
new Float:vehx,Float:vehy,Float:vehz, vehid,cc1,cc2,string[128], astring[128], aname[MAX_PLAYERS],VVW,Float:facing, veh;
GetPlayerName(playerid,aname,sizeof(aname));
if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid, 0xFF0000FF,"[FEHLER]{FFFFFF} /Veh [FahrzeugID] [Farbe 1] [Farbe 2]");
if(vehid < 400 ||vehid > 611)return SendClientMessage(playerid,0xFF0000FF,"[FEHLER] {FFFFFF}Falsche Veh-ID! | ~ | 400 - 611 | ~ |");
if(SpielerInfo[playerid][pVehErstellt] == 0)
{
GetPlayerPos(playerid,vehx,vehy,vehz);
GetPlayerFacingAngle(playerid, facing);
VVW = GetPlayerVirtualWorld(playerid);
veh = AddStaticVehicleEx(vehid,vehx,vehy,vehz,facing,cc1,cc2,-1);
PutPlayerInVehicle(playerid, veh, 0);
AddVehicleComponent(veh, 1010);
SetVehicleVirtualWorld(veh, VVW);
vehicle3Dtext[vehicle_id]= Create3DTextLabel( "** Administrator Fahrzeug **", 0x00FFBEFF, 0.0, 0.0, 0.0, 0.0, 0, 1 );
Attach3DTextLabelToVehicle(vehicle3Dtext[vehicle_id],veh,0.0, 0.0, 2.0);
format(astring,sizeof(astring),"[A-INFO] [%d]%s(LvL: %s) hat '{FFFFFF}/VEH{FF0000}' ausgeführt!",playerid,aname,GetAlevel(playerid));
SendAdminMessage(0xFF0000FF,astring);
format(string,sizeof(string),"[INFO]{FFFFFF} Du hast das Fahrzeug mit der ModelID [{FF9100}%d{FFFFFF}] und der VehicleID [{FF9100}%d{FFFFFF}] erstellt!",veh,vehid);
SendClientMessage(playerid,0xFF0000FF,string);
SpielerInfo[playerid][pVehErstellt] = 1;
}
else if(SpielerInfo[playerid][pVehErstellt] == 1)
{
format(string,sizeof(string),"[INFO]{FFFFFF} ModelID[%d] wurde gelöscht! Geben Sie bitte erneurt /VEH ein um einen Auto zu spawnen!",veh);
SendClientMessage(playerid,0xFF0000FF,string);
DestroyVehicle(veh);
SpielerInfo[playerid][pVehErstellt] = 0;
}
}
return 1;
}
-
Jeffry: Ich habe jetzt deinen Code benutzt, und der Spielt noch mehr verrückt O.o http://i.epvpimg.com/mDq6h.jpg
Du kannst auch kein string einfach so als integer abspeichern , ich hoffe du nutz auch für das Geburtsdatum den Datentyp varchar und nicht integer.
Ein tipp von mir , man kann auch mit mysql super das Datum ermitteln dazu als Datentyp Date nutzen mit NOW() bekommst du das aktuelle Datum und die Zeit.
mit Date_Format müsste man das Datum wie gewünscht formatieren -
Ich brauch immer noch hilfe
-
Ich brauch immer noch hilfe
Mach doch bitte einen Thread auf, wenn es keine kleine kurze Frage ist. Diese ewig langen Codes hier geben keinen Sinn, das ist ein riesiges Durcheinander.Schreibe es erst mal so, dann klappt das mit dem Löschen, und das Label sollte auch dran sein.
Spoiler anzeigen ocmd:veh(playerid,params[])
{
if(SpielerInfo[playerid][pAlevel] >= 2)
{
//if(IsPlayerInAnyVehicle(playerid) == 1)return SendClientMessage(playerid, 0xFF0000FF, "Du bist bereits in einem Fahrzeug!");
new Float:vehx,Float:vehy,Float:vehz, vehid,cc1,cc2,string[128], astring[128], aname[MAX_PLAYERS],VVW,Float:facing, veh;
GetPlayerName(playerid,aname,sizeof(aname));
if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid, 0xFF0000FF,"[FEHLER]{FFFFFF} /Veh [FahrzeugID] [Farbe 1] [Farbe 2]");
if(vehid < 400 ||vehid > 611)return SendClientMessage(playerid,0xFF0000FF,"[FEHLER] {FFFFFF}Falsche Veh-ID! | ~ | 400 - 611 | ~ |");
if(SpielerInfo[playerid][pVehErstellt] == 0)
{
GetPlayerPos(playerid,vehx,vehy,vehz);
GetPlayerFacingAngle(playerid, facing);
VVW = GetPlayerVirtualWorld(playerid);
veh = AddStaticVehicleEx(vehid,vehx,vehy,vehz,facing,cc1,cc2,-1);
PutPlayerInVehicle(playerid, veh, 0);
AddVehicleComponent(veh, 1010);
SetVehicleVirtualWorld(veh, VVW);
vehicle3Dtext[vehicle_id]= Create3DTextLabel( "** Administrator Fahrzeug **", 0x00FFBEFF, 0.0, 0.0, 0.0, 100.0, 0, 1 );
Attach3DTextLabelToVehicle(vehicle3Dtext[vehicle_id],veh,0.0, 0.0, 2.0);
format(astring,sizeof(astring),"[A-INFO] [%d]%s(LvL: %s) hat '{FFFFFF}/VEH{FF0000}' ausgeführt!",playerid,aname,GetAlevel(playerid));
SendAdminMessage(0xFF0000FF,astring);
format(string,sizeof(string),"[INFO]{FFFFFF} Du hast das Fahrzeug mit der ModelID [{FF9100}%d{FFFFFF}] und der VehicleID [{FF9100}%d{FFFFFF}] erstellt!",veh,vehid);
SendClientMessage(playerid,0xFF0000FF,string);
SpielerInfo[playerid][pVehErstellt] = veh;
}
else if(SpielerInfo[playerid][pVehErstellt] != 0)
{
format(string,sizeof(string),"[INFO]{FFFFFF} ModelID[%d] wurde gelöscht! Geben Sie bitte erneurt /VEH ein um einen Auto zu spawnen!",veh);
SendClientMessage(playerid,0xFF0000FF,string);
DestroyVehicle(SpielerInfo[playerid][pVehErstellt]);
SpielerInfo[playerid][pVehErstellt] = 0;
}
}
return 1;
}
Eddy: Mache bitte einen Thread auf, das hat hier so keinen Sinn, wenn man erst mal drei Meter kurbeln muss, bis man hat was man braucht, und der vorherige Post ist zwei Seiten weiter hinten und dann übersieht man einen. Und beschreibe bitte was denn genau falsch ist, sag am besten, was eigentlich in den Spalten stehen soll. Danke!
@FerienFreak: Das trifft auch für dich zu, sowas ist keine kleine Frage mehr. Zudem: Welches Plugin verwendest du, wie sieht deine Datenbank-/Tabellenstruktur aus?
EDIT:
@FerienFreak: ^ -
-
http://wiki.sa-mp.com/wiki/AttachTrailerToVehicle_DE
Schau dir das mal an. -
-
Ja genau. Versuch es einfach mal, bei Fragen oder Problemen kannst du dich ja melden.
-
-
hallo vom ich wollte mir ein /giveschein befehl machen aber weiß nicht wie
also ich will das man /givescheine [ID] [schein]
das man bei scheine z.b PKW oder LKW einträgt aber weiß nicht wie
also
/givescheine 1 PKW ( gibt id 1 pkw schein )
/givescheine 2 lkw( gibt id 2 lkwschein )
aber wie mach ich das ?
könnte mir jemand ein beispiel machen ? ich arbeite mit ocmd -
Hier haste einen Beispiel.
ocmd:givescheine(playerid,params[])
{
new pID,scheinname[10];
if(sscanf(params,"us[10]",pID,scheinname))return SendClientMessage(playerid,-1,"/givescheine [id][schein]");//beim plugin
//if(sscanf(params,"us",pID,scheinname))return SendClientMessage(playerid,-1,"/givescheine [id][schein]");//Beim stock
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,-1,"Nicht online!");
if(!strcmp(scheinname,"auto",true))
{
//Autoschein vergeben
return 1;
}
else if(!strcmp(scheinname,"bike",true))
{
//Bikeschein vergeben
return 1;
}
return 1;
} -
Beitrag von Fernando_Jizuya ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Hab's schon hinbekommen aber kannst du mirbdort helfen
ICy.:
/tow befehl -
Wie kann ich die SetObjectMaterialText löschen?
Ich habe ein Supmobil, auf diesem habe ich 2 Texte stehen. Wenn ich das Supmobil lösche, bleiben die
Texte trotzdem stehen. Wie kann ich diese nun löschen?[pwn]
ocmd:supmobil(playerid,params[])
{
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die nötigen Rechte um diesen Befehl zu nutzen!");
if(HatSupmobil[playerid] == 1) return SendClientMessage(playerid,0x00D2D2FF,"Du hast bereits ein Supporter Fahrzeug erstellt! Lösche es bevor du dir ein neues erstellst.");
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SupMobil[playerid] = CreateVehicle(560,X,Y,Z,3,166,166,-1);
new fahrer = CreateObject(19483,X,Y,Z,0,0,0,300.0);
new beifahrer = CreateObject(19483,X,Y,Z,0,0,0,300.0);
AttachObjectToVehicle(fahrer,SupMobil[playerid],-1.06, 0.0, 0.0, 0.0, 0.0, 180.0);
SetObjectMaterialText(fahrer,"Supporter",0,90,"Arial", 28, 0, 0xFFFF8200, 0,1);
AttachObjectToVehicle(beifahrer,SupMobil[playerid],1.06, 0.0, 0.0, 0.0, 0.0, 0.0);
SetObjectMaterialText(beifahrer,"Supporter",0,90,"Arial", 28, 0, 0xFFFF8200, 0,1);
SetVehicleNumberPlate(SupMobil[playerid],"Supporter");
PutPlayerInVehicle(playerid, SupMobil[playerid], 0);
Support3DText[playerid] = Create3DTextLabel("Supporter im Dienst",0xEE8613FF,0.0,0.0,0.0,50.0,0,0);
Attach3DTextLabelToVehicle(Support3DText[playerid],SupMobil[playerid],0.0,0.0,1.0);
HatSupmobil[playerid] = 1;
SendClientMessage(playerid,0xFFFFFF,"{DB4447}Info: {F0F0F0}Du hast ein Supporter Fahrzeug erstellt! Benutze {2A98D4}/delscar{F0F0F0} um das Fahrzeug zu Entfernen.");
return 1;
}ocmd:delscar(playerid,params[])
{
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die nötigen Rechte um diesen Befehl zu nutzen!");
if(HatSupmobil[playerid] == 0) return SendClientMessage(playerid,0x00D2D2FF,"Du bist nicht im Besitz eines Supporter Fahrzeugs!");
RemovePlayerFromVehicle(playerid);
DestroyVehicle(HatSupmobil[playerid]);
Delete3DTextLabel(Support3DText[playerid]);
HatSupmobil[playerid] = 0;
SendClientMessage(playerid,0x00D2D2FF,"Du hast dein Supporter Fahrzeug erfolgreich gelöscht!");
return 1;
}[/pwn]
-
Du brauchst ein globales Array.
new objFahrer[MAX_PLAYERS];
new objBeifahrer[MAX_PLAYERS];ocmd:supmobil(playerid,params[])
{
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die nötigen Rechte um diesen Befehl zu nutzen!");
if(HatSupmobil[playerid] == 1) return SendClientMessage(playerid,0x00D2D2FF,"Du hast bereits ein Supporter Fahrzeug erstellt! Lösche es bevor du dir ein neues erstellst.");
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SupMobil[playerid] = CreateVehicle(560,X,Y,Z,3,166,166,-1);
objFahrer[playerid] = CreateObject(19483,X,Y,Z,0,0,0,300.0);
objBeifahrer[playerid] = CreateObject(19483,X,Y,Z,0,0,0,300.0);
AttachObjectToVehicle(objFahrer[playerid],SupMobil[playerid],-1.06, 0.0, 0.0, 0.0, 0.0, 180.0);
SetObjectMaterialText(objFahrer[playerid],"Supporter",0,90,"Arial", 28, 0, 0xFFFF8200, 0,1);
AttachObjectToVehicle(objBeifahrer[playerid],SupMobil[playerid],1.06, 0.0, 0.0, 0.0, 0.0, 0.0);
SetObjectMaterialText(objBeifahrer[playerid],"Supporter",0,90,"Arial", 28, 0, 0xFFFF8200, 0,1);
SetVehicleNumberPlate(SupMobil[playerid],"Supporter");
PutPlayerInVehicle(playerid, SupMobil[playerid], 0);
Support3DText[playerid] = Create3DTextLabel("Supporter im Dienst",0xEE8613FF,0.0,0.0,0.0,50.0,0,0);
Attach3DTextLabelToVehicle(Support3DText[playerid],SupMobil[playerid],0.0,0.0,1.0);
HatSupmobil[playerid] = 1;
SendClientMessage(playerid,0xFFFFFF,"{DB4447}Info: {F0F0F0}Du hast ein Supporter Fahrzeug erstellt! Benutze {2A98D4}/delscar{F0F0F0} um das Fahrzeug zu Entfernen.");
return 1;
}ocmd:delscar(playerid,params[])
{
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die nötigen Rechte um diesen Befehl zu nutzen!");
if(HatSupmobil[playerid] == 0) return SendClientMessage(playerid,0x00D2D2FF,"Du bist nicht im Besitz eines Supporter Fahrzeugs!");
RemovePlayerFromVehicle(playerid);
DestroyVehicle(HatSupmobil[playerid]);
Delete3DTextLabel(Support3DText[playerid]);
HatSupmobil[playerid] = 0;
DestroyObject(objFahrer[playerid]);
DestroyObject(objBeifahrer[playerid]);
SendClientMessage(playerid,0x00D2D2FF,"Du hast dein Supporter Fahrzeug erfolgreich gelöscht!");
return 1;
} -
Wie mache ich diese Textdraws so das sie 2 Stellen haben?
format(string,sizeof(string),"~r~%s",VehNames[GetVehicleModel(VID)-400]);
format(string1,sizeof(string1),"~r~KM/H:~g~ %d %f",value);
format(string2,sizeof(string2),"~r~Tank:~g~ %s %f", Tank, Gas[VID]);
format(string4,sizeof(string4),"~r~Zustand:~g~ %.1f",leben/10);
format(string3,sizeof(string3),"~r~Kilometer:~g~ %d %f Km",floatround(Kilometer[veh])); -