guck mein edit an
Beiträge von firestormZ
-
-
mach doch einfach bei deinem Restartcommand, SaveAccount(playerid); ?
//EDIT:
oder mach das bei ongamemodeexit:
for(new i = 0; i < MAX_PLAYERS; i++)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(i,X,Y,Z);
PlayerInfo[i][pPosX] = X;
PlayerInfo[i][pPosY] = Y;
PlayerInfo[i][pPosZ] = Z;
SaveAccount(i);
} -
wenn du so im internet guckst kostet es gebraucht um die 80€ und neu ca 140€, sprich, ich würds machen, aber nur wenn ich nen ersatzhandy hab und nicht nur 5€ bekomme, sondern mehr als 10€
mfg
-
Leute, das ist richtig, er hat nur ne Klammer zu viel reingemacht
stock IstSpielerInFraktion(playerid, fraktionsid)
{
if(sSpieler[playerid][Fraktion] == fraktionsid) /*FEHLER*/ || sSpieler[playerid][FMember] == fraktionsid) return 1;
return 0;
}
HIer das richtige:
stock IstSpielerInFraktion(playerid, fraktionsid)
{
if(sSpieler[playerid][Fraktion] == fraktionsid || sSpieler[playerid][FMember] == fraktionsid) return 1;
return 0;
} -
jz weis ich warum das nicht ging kannst KD wieder einbauen, wenn du die kills durch tode teilst, kommt eine Dezimalzahl raus also nen Float, und du hast den Parameter %d genommen, da muss %f rein :))
//edit: es wird ne lange kommazahl rauskommen, deswegen mach das hier :
"...~y~KD:~r~%.2f..." //wird auf zwei stellen nach dem komma gerundet
-
Keine Ahnung, ich weis nicht wie viel Textdraws du hast, ich empfehle dir, alles geordnet neu zu probieren und die Textdraws zu ordnen etc...
-
OnPlayerConnect:
DMT1[playerid] = TextDrawCreate(2.000000, 437.000000, "~y~www.~r~SR-Clan~y~.de ~y~Kills:~r~0 ~y~Tode:~r~0 ~y~Killserie:~r~0 ~y~DM Siege:~r~0");
TextDrawBackgroundColor(DMT1[playerid], 255);
TextDrawFont(DMT1[playerid], 2);
TextDrawLetterSize(DMT1[playerid], 0.500000, 1.000000);
TextDrawColor(DMT1[playerid], 255);
TextDrawSetOutline(DMT1[playerid], 0);
TextDrawSetProportional(DMT1[playerid], 1);
TextDrawSetShadow(DMT1[playerid], 1);
TextDrawUseBox(DMT1[playerid], 1);
TextDrawBoxColor(DMT1[playerid], -589505502);
TextDrawTextSize(DMT1[playerid], 711.000000, 0.000000);
TextDrawSetSelectable(DMT1[playerid], false);
dcmd_dm1(playerid, params[])
{
#pragma unused params
if(dma[playerid] == 1) return SendClientMessage(playerid,Rot,"Du bist bereits in einem Deathmatch!");
new String[200];
dm[0] ++;
dma[playerid] = 1;
DM1[playerid] = 1;
dmupdate();
TextDrawHideForPlayer(playerid, LA[playerid]);
TextDrawHideForPlayer(playerid, Leiste);
TextDrawShowForPlayer(playerid, DMT1[playerid]);
SetPlayerVirtualWorld(playerid, 1);
format(String,200,">> %s hat das dm1 betreten (/dm1)<<", SpielerName(playerid));
SendClientMessageToAll(Gelb,String);
DMRandom[0] = random(3);
switch(DMRandom[0])
{
case 0:
{
SetPlayerPos(playerid, 1387.9513,2190.0144,11.0234);
}
case 1:
{
SetPlayerPos(playerid, 1391.1406,2109.3345,11.0156);
}
case 2:
{
SetPlayerPos(playerid, 1306.1323,2108.0132,11.0156);
}
case 3:
{
SetPlayerPos(playerid, 1334.8402,2136.6853,11.0156);
}
}
SetTimerEx("dmt1update", 1000, true ,"i", playerid); //timer damit er die textdraw updated
SendClientMessage(playerid, 0xFFFFFFAA, "Tippe /exit um das DM zu verlassen!"); //Nachricht für Player wie man DM verlässt
GivePlayerWeapon(playerid, 26, 5000);
return 1;
}
forward dmt1update(playerid);
public dmt1update(playerid)
{
new string[100];
format(string, sizeof(string),"~y~f~r~x~y~L ~r~ll ~y~Kills:~r~%d ~y~Tode:~r~%d ~y~KD:~r~%d ~y~Killserie:~r~%d ~y~DMSiege:~r~%d",dm1kills[playerid], dm1tode[playerid], dm1kills[playerid]/dm1tode[playerid], ukills[playerid], Spieler[playerid][dm1siege]);
TextDrawSetString(DMT1[playerid],string);
} -
Einen mehrfarbigen Satz erstellst du so:
nehmen wir an du hast den FarbCode:
0xF97804FF, dort machst du dann die 2 Zeichen 0x weg und am Ende die 2 Zeichen FF.
Also packst du das dann in deiner Meldung: {F97804}mfg
-
1. Man erstellt die Textdraws die "playerid" enthalten unter OnPlayerConnect,
Textdraws die kein "playerid" enthalten unter OnGameModeInit
2. Das Textdraw zeigst du dann einfach unter deinem Command an -
Hast natürlich recht, mein Fehler
-
Probiers mal so:
Spieler[killerid][pMord] ++ 1;
Spieler[killerid][pVerbrechen] ++ 1;
Spieler[playerid][pGestorben] ++ 1;
if (strcmp("/stats", cmdtext, true) == 0)
{
if(IsPlayerConnected(playerid))
{
new string1[200],string2[200],string3[200],rest[1500];
format(string1, sizeof string1, "{FF9900}Stats von %s auf "#SERVERNAME"{FFFFFF}", SpielerName(playerid));
format(string2, sizeof string2, "{FF9900}|>Account<|");
format(string3, sizeof string3, "{FFFFFF}Gestorben [%d] | Verbrechen [%d] | Morde [%d]\n", Spieler[playerid][pGestorben],Spieler[playerid][pVerbrechen],Spieler[playerid][pMord]);
format(rest, sizeof rest, "%s\n\n\n%s\n%s", string1,string2,string3);
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Statstik",rest,"Beenden","");
}
return 1;
} -
new Float:vhealth, prozent;
GetVehicleHealth(vehicleid, vhealth);
prozent = (vhealth/1000)*100;
new Float:vhealth;
GetVehicleHealth(vehicleid, vhealth);
vhealth = (vhealth/1000)*100;
So wäre es einfacher -
reoarni:
So wie du es haben willst, würde es bei 25% Leben bzw. 75% Schaden brennen -
new chealth;
GetVehicleHealth(vehicleid, chealth);
chealth =(chealth-250)/750*100;
musst du umrechnen, da es jz so ist:
Leben. 100%
wenn er zb 100 Schaden hat dann:
Leben: 90%
usw. -
ganz unten bei OnPlayerCommandText steht:
return 0;
änder das einfach zu:
return SendClientMessage(playerid,0xFFFFFFFF,"Diesen Command gibt es nicht...."); //Errormessage eintragen//edit:
so kannst dus auch machen:
new errormeldung[128];
format(errormeldung,sizeof(errormeldung),"Den Command %s scheint es nicht zu geben.",cmdtext);
return SendClientMessage(playerid,0xFFFFFFFF,errormeldung);mfg
-
if(!strcmp("Fritz",Sname[playerid]))
-
Old
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
Eltern kommen aus Rumänien, hihiKindheitserinnerungen
-
new querystring[256],str[128];
format(querystring,256,"UPDATE `accounts` SET `Level` = '%d', `Geld` = '%d', `Kills` = '%d', `Tode` = '%d', `Fraktion` = '%d', `Adminlevel` = '%d', `Mute` = '%d', `Baned` = '%d','",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned],SpielerInfo[playerid][pName]);
format(str,128," `Fraktionsleader` = '%d', `Rang` = '%d', `Job` = '%d', `Skin` = '%d', `Warns` = '%d' WHERE `Name` = '%s'",SpielerInfo[playerid][pFraktionsleader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pJob],SpielerInfo[playerid][pSkin],SpielerInfo[playerid][pWarns],SpielerInfo[playerid][pName]);
strcat(querystring,str);
mysql_query(querystring);
new str[128];
format(str,128,"SELECT `Level`, `Geld`, `Kills`, `Tode`, `Fraktion`, `Adminlevel`, `Mute`, `Baned`, `Fraktionsleader`, `Rang`, `Job`, `Warns`, `Skin` FROM `accounts` WHERE `Name` = '%s'", SpielerInfo[playerid][pName]);
mysql_query(str);
mysql_store_result();
if(mysql_fetch_row_format(str))
{
sscanf(str,"p<|>ddddddddddddd",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld], SpielerInfo[playerid][pKills], SpielerInfo[playerid][pTode], SpielerInfo[playerid][pFraktion], SpielerInfo[playerid][pAdminlevel], SpielerInfo[playerid][pMute], SpielerInfo[playerid][pBaned], SpielerInfo[playerid][pFraktionsleader], SpielerInfo[playerid][pRang], SpielerInfo[playerid][pJob], SpielerInfo[playerid][pSkin], SpielerInfo[playerid][pWarns]);
}
mysql_free_result();So wäre es denk ich mal dann richtig
-
-
format(querystring,256,"UPDATE accounts SET Level = '%d', Geld = '%d', Kills = '%d', Tode = '%d', Fraktion = '%d', Adminlevel = '%d', Mute = '%d', Baned = '%d' WHERE Name = '%s'",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned],SpielerInfo[playerid][pName]);
zu
format(querystring,256,"UPDATE `accounts` SET `Level` = '%d', `Geld` = '%d', `Kills` = '%d', `Tode` = '%d', `Fraktion` = '%d', `Adminlevel` = '%d', `Mute` = '%d', `Baned` = '%d' WHERE `Name` = '%s'",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned],SpielerInfo[playerid][pName]);
und das machst du bei den anderen strings auch//edit: hab "accounts" vergessen "einzuklammern" mit den ``