Den Type bei CreatePickup(... von 0 bzw 1 auf 14 umändern.
Beiträge von malE
-
-
Sollte nun funktionieren - hab dein Code bisschen Optimiert.
Spoiler anzeigen if(pickupid == fbirep)
{
if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
{
if(IsPlayerInAnyVehicle(playerid))
{
RepairVehicle(GetPlayerVehicleID(playerid));
SendClientMessage(playerid, BLAU, "Fahrzeug repariert.");
}
}else {
return SendClientMessage(playerid, ROT, "Du bist Kein Beamter.");
}
}Spoiler anzeigen if(pickupid == sapdrep)
{
if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
{
if(IsPlayerInAnyVehicle(playerid))
{
RepairVehicle(GetPlayerVehicleID(playerid));
SendClientMessage(playerid, BLAU, "Fahrzeug repariert.");
}
}else {
return SendClientMessage(playerid, ROT, "Du bist Kein Beamter.");
}
} -
Vielleicht funktioniert es einfach wenn du den Fahrer freezt?
-
Ach so Simple? HAbe ich mir gerade schwerer Vorstellt. Naja ich hätte es ja auch selbst probieren können.
Trotzdem danke Jeffry -
Und wie müsste der Code aussehen wenn ich möchte, dass der nur der Leader / Admin diese Möglichkeit hat diese Funktion zu nutzen.?
-
Genau die meine ich.
-
Wie müsste der Code aussehen wenn man möchte das ein Leader einer Fraktion in seinem Fraktions Chat mit Farbcodes agieren kann?
Mit normalen Farbcodes einfach funktion im formatierten Chat gehts es ja nicht -
Hab ich schon parallel gemacht als ich die Dini.inc geändert hab.
-
Ok danke Jeffry für die Info.
Am stock dini_BoolSet muss man nichts ändern in der dini.inc.
-
So erstmal danke Jeffry und Mencent.
Aber jetzt bei LoadPlayerAccount bekomme ich ein tag mismatch
Weiß nicht wo der Fehler ist.
pInfo[playerid][pLeader] = dini_Bool(spName,"Leader");Lösung:
pInfo[playerid][pLeader] = bool:dini_Bool(spName,"Leader"); -
Unter meinem PlayerInfo Enum.
bool:pLeaderUnter meinem stock SavePlayerAccount. ( Davor )
dini_IntSet(spName,"Leader",pInfo[playerid][pLeader]);Jetzt habe ich es so gemacht. ( Danach )
dini_IntSet(spName,"Leader",_:pInfo[playerid][pLeader]);
Dies funktioniert nicht.Und diese Variante auch nicht, habe die ja zuvor benutzt.
dini_IntSet(pfad, "BoolWert", bVar);Die Error Message
C:\Users\----\----\-----\gamemodes\denamed.pwn(2420) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
-
Wie kann man Booleans abspeichern ( Dini )?
-
Da bitte OriginalFiona:! Hab dir mal eben zwei Befehle gescripted.
Viel Spaß damit.Cuff & Uncuff Befehle
Der Spieler wird nicht gefreezt, er bekommt nur die Animation und das Objekt!Cuff & Uncuff Befehle ocmd:cuff(playerid, params[])
{
if(!IsACop(playerid))return SendClientMessage(playerid, C_GREY, "Du bist kein Polizist."); // Abfrage bei bedarf ändern
new pID, Float:x, Float:y, Float:z, str[145];
if(sscanf(params, "u", pID))return SendClientMessage(playerid, C_SSCANF, "Benutze: {FFFFFF}/cuff [Spieler-ID]");
if(GetPVarInt(pID, "Cuffed") == 1)return SendClientMessage(playerid, C_GREY, "Der Verdächtige hat bereits Handschellen um.");
if(pID == playerid) return SendClientMessage(playerid, C_GREY, "Fehlerhafte Spieler-ID");
GetPlayerPos(pID, x,y,z);
if(IsPlayerInRangeOfPoint(playerid, 2, x, y, z))
{
format(str, sizeof(str), "Polizist %s hat dir Handschellen angelegt.", GetName[playerid]); // Abfrage bei defarf ändern
SendClientMessage(pID, 0x01D8C2FF,str);
format(str, sizeof(str), "Du hast dem Verdächtigen %s Handschellen angelegt.", GetName[pID]); // Abfrage bei defarf ändern
SendClientMessage(playerid, 0x01D8C2FF,str);
SetPVarInt(pID, "Cuffed", 1);Cuff & Uncuff Befehle SetPlayerSpecialAction(pID, SPECIAL_ACTION_CUFFED);
SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
} else {
SendClientMessage(playerid, C_GREY, "Du bist nicht in der Nähe von Spieler-ID");
}
return 1;
}
Cuff & Uncuff Befehle ocmd:uncuff(playerid, params[])
{
if(!IsACop(playerid))return SendClientMessage(playerid, C_GREY, "Du bist kein Polizist."); // Abfrage bei bedarf ändern
new pID, Float:x, Float:y, Float:z, str[145];
if(sscanf(params, "u", pID))return SendClientMessage(playerid, C_SSCANF, "Benutze: {FFFFFF}/cuff [Spieler-ID]");
if(GetPVarInt(pID, "Cuffed") == 0)return SendClientMessage(playerid, C_GREY, "Der Verdächtige hat keine Handschellen um.");
if(pID == playerid) return SendClientMessage(playerid, C_GREY, "Fehlerhafte Spieler-ID");
GetPlayerPos(pID, x,y,z);
if(IsPlayerInRangeOfPoint(playerid, 2, x, y, z))
{
format(str, sizeof(str), "Polizist %s hat dir Handschellen abgelegt.", GetName[playerid]); // Abfrage bei defarf ändern
SendClientMessage(pID, 0x01D8C2FF,str);
format(str, sizeof(str), "Du hast dem Verdächtigen %s Handschellen abgelegt.", GetName[pID]); // Abfrage bei defarf ändern
SendClientMessage(playerid, 0x01D8C2FF,str);
DeletePVar(pID, "Cuffed");Cuff & Uncuff Befehle RemovePlayerAttachedObject(pID, 0);
SetPlayerSpecialAction(pID, SPECIAL_ACTION_NONE);
} else {
SendClientMessage(playerid, C_GREY, "Du bist nicht in der Nähe von Spieler-ID");
}
return 1;
}/e Abfrage hinzugefügt ob Spieler schon Handschellen um hat
-
Ist jetzt nur das Objekt ( Handcuffs ) und die Animation.
Cuff
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
SetPlayerAttachedObject(playerid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
Uncuff
RemovePlayerAttachedObject(playerid, 0);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
-
Funktioniert es denn jetzt?
-
Wenn du es haargenau von Red_Romeo kopierst funktioniert es!
Hab es selbst getestet.Die Tür wird ja auch erst nach 3 Minuten ( wieder ) erstellt.
-
Du hast doch eine Lösung von Red_Romeo: erhalten, in deinem anderem Thread.
Ansonsten ( von Red_Romeo ) von Red_RomeoAnsonsten ( von Red_Romeo ) new sprenung;
new trsodoor ;Ansonsten ( von Red_Romeo ) public OnGameModeInit(){
trsodoor = CreateObject(2634, 1551.63159, -1801.69556, 26.47590, 0.00000, 0.00000, 0.00000);//tresortür
return 1;
}Ansonsten ( von Red_Romeo ) forward Explosion();
public Explosion()
{
CreateExplosion(1551.63159, -1801.69556, 26.47590, 0, 3);
DestroyObject(sprenung);//tnt
DestroyObject(trsodoor);//tresortür
sprenung=-1;//tnt
trsodoor = -1;
SetTimer("TresorTuer", 1000*60*3, false);
return 1;
}Ansonsten ( von Red_Romeo ) forward TresorTuer();
public TresorTuer(){
if(IsValidObject(trsodoor))return 1;
trsodoor = CreateObject(2634, 1551.63159, -1801.69556, 26.47590, 0.00000, 0.00000, 0.00000);//tresortür
return 1;
}Ansonsten ( von Red_Romeo ) ocmd:transporttresorsprengen(playerid,params[])
{
if(IsValidObject(sprenung))return SendClientMessage(playerid, -1, "Die Tür wird bereits gesprengt.");
if(!IsValidObject(trsodoor))return SendClientMessage(playerid, -1, "Die Tür steht offen.");
sprenung=CreateObject(1654, 1550.78955, -1801.41882, 26.45240, 0.00000, 0.00000, -180.00000);//tnt
SendClientMessage(playerid,-1,"Achtung geht in Deckung das TNT geht in 2 sekunden hoch!");
SetTimer("Explosion", 2000, false);
return 1;
}
Quelle
-
Gib dem Object welches du erstellst im public eine Variable via new ExplosiveObject = CreateObject(...
Und dann DestroyObject(ExplosiveObject);So wird dann auch sicher nur dieses Object gelöscht.
-
Variante 1 ocmd:autobordcomputer(playerid,params[])
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 1;
ShowPlayerDialog(playerid,DIALOG_Autosystem,DIALOG_STYLE_TABLIST, "Autobordcomputer","Motor\tstarten\tauschalten\nlicht\tanschalten\tausschalten\ntüren\töffnen\tschliessen\nAutoparken\tparken","benutzen","abbrechen");
SendClientMessage(playerid,Gruen,"Sie haben den Bordcomputer Ihres Fahrzeuges aufgerufen!");
return 1;
}
Variante 2 ocmd:autobordcomputer(playerid,params[])
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {Variante 2 ShowPlayerDialog(playerid,DIALOG_Autosystem,DIALOG_STYLE_TABLIST, "Autobordcomputer","Motor\tstarten\tauschalten\nlicht\tanschalten\tausschalten\ntüren\töffnen\tschliessen\nAutoparken\tparken","benutzen","abbrechen");
SendClientMessage(playerid,Gruen,"Sie haben den Bordcomputer Ihres Fahrzeuges aufgerufen!");
}
return 1;
}/E Denkfehler von mir behoben
-
@xMichael:
Wie siehts aus, bringst du noch eine verbesserte / veränderte Version raus?