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
Beiträge von malE
-
-
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?
-
Tschuldigung! Habe mit den Spalten die Spieler-Accounts gemeint die gespeichert werden sollen.
Tut mir jetzt echt leid das ich dich so verwirrt habe!@NOSKILL:
-
Datenbank Tabelle "accounts" bleibt leer trotz Registration im Spiel und nach einfügen dem neuem stock CreateTables()
Auch wenn das keinen Zusammenhang zum Speichern haben sollte.
/E Mir ist gerade aufgefallen das in den Logs unter "AccountCreation" Inhalt über die Erstellung des Accounts steht, aber halt nur nichts in den Tabellen. ** Ist aber ja auch nur eine formatierte Log-Message.
-
Also mein SQL Programm zeigt mir keine Spalten an in der Tabelle "accounts" und ich muss mich auch immer wieder im Spiel registrieren.
Du solltest dir doch vielleicht das ganze Skript noch einmal genauer ansehen und dann noch mal zum Download freischalten, natürlich nur wenn du möchtest.-
malE -
Gib dann bitte zur Kenntnis sobald du den Fehler behoben hast.
-
Genau. Es wird eine .db Datei erstellt, auch mit dem Tabellen aber diese Tabellen werden nicht befüllt wenn man sich jetzt z.B registiert.
-
Nein es werden keine Spalten erstellt. Selbst das Login System inGame kommt mir nicht ganz funktionstüchtig vor.