Ich schätze mal er meint einfach nur eine Schrift auf weißem Hintergrund.
Datei -> Neu
Größe eingeben
Text-Werkzeug nehmen.
Schrift machen.
Datei -> Speichern.
Fertig
Ich schätze mal er meint einfach nur eine Schrift auf weißem Hintergrund.
Datei -> Neu
Größe eingeben
Text-Werkzeug nehmen.
Schrift machen.
Datei -> Speichern.
Fertig
Er zeigt mir ingame immer 0 an:
public UpdateSpeed()
{
new Float:x, Float:y, Float:z;
new string[256], string2[256], string3[256], namestring[256];
for(new i = 0; i<SLOTS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new const vehicleid = GetPlayerVehicleID(i);
new vehiclee = GetPlayerVehicleID(i);
new Float:speed = GetVehicleSpeed_P(i);
new Float:memory[3]={0.00,0.00,0.00 };
GetVehicleVelocity(vehicleid,memory[0],memory[1],memory[2]);
LastSpeed[i] = speed;
new Float:damage;
damage = GetVehicleHealth(i, damage);
//damage = damage / 10;
if(!IsAFahrrad(vehiclee))
{
format(string, sizeof(string), "%d", floatround(speed));
TextDrawSetString(Speedo11[i], string);
format(string2, sizeof(string2), "%d",Gas[GetPlayerVehicleID(i)]);
TextDrawSetString(Speedo12[i], string2);
format(string3, sizeof(string3), "%d", damage);
TextDrawSetString(Speedo13[i], string3);
format(namestring, sizeof(namestring), "%s", FahrzeugName[GetVehicleModel(GetPlayerVehicleID(i))-400]);
TextDrawSetString(Speedo1[i], namestring);
}
}
SavePlayerPos[i][LastX] = x;
SavePlayerPos[i][LastY] = y;
SavePlayerPos[i][LastZ] = z;
}
}
HAb schon mit floatround versucht, mit dem / 10 machen.
Nichts funktioniert. Immer nur Schaden: 0
damage = GetVehicleHealth(i, damage)\10;
So hab ichs jetzt.
Fehler:
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(55819) : error 001: expected token: ";", but found "\"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(55819) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(55819) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "BadWords"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "M_OnPlayerCommandText"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "M_OnPlayerDeath"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "M_OnPlayerStateChange"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "M_OnPlayerUpdate"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
Alles anzeigen
Wie teilt man denn die Variable (damage) durch 10?
So hab mal versucht es einzufügen aber kriege immer Probleme:
public UpdateSpeed()
{
new Float:x, Float:y, Float:z;
new string[256], string2[256], string3[256], namestring[256];
for(new i = 0; i<SLOTS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new const vehicleid = GetPlayerVehicleID(i);
new vehiclee = GetPlayerVehicleID(i);
new Float:speed = GetVehicleSpeed_P(i);
new Float:memory[3]={0.00,0.00,0.00 };
GetVehicleVelocity(vehicleid,memory[0],memory[1],memory[2]);
LastSpeed[i] = speed;
new Float:damage;
damage = GetVehicleHealth(i)\10;
if(!IsAFahrrad(vehiclee))
{
format(string, sizeof(string), "%d", floatround(speed));
TextDrawSetString(Speedo11[i], string);
format(string2, sizeof(string2), "%d",Gas[GetPlayerVehicleID(i)]);
TextDrawSetString(Speedo12[i], string2);
format(string3, sizeof(string3), "%d%", damage);
TextDrawSetString(Speedo13[i], string3);
format(namestring, sizeof(namestring), "%s", FahrzeugName[GetVehicleModel(GetPlayerVehicleID(i))-400]);
TextDrawSetString(Speedo1[i], namestring);
}
}
SavePlayerPos[i][LastX] = x;
SavePlayerPos[i][LastY] = y;
SavePlayerPos[i][LastZ] = z;
}
}
Hier meine Fehler & Warnungen:
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(55819) : warning 202: number of arguments does not match definition
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(55819) : error 001: expected token: ";", but found "\"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(55819) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(55819) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "BadWords"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "M_OnPlayerCommandText"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "M_OnPlayerDeath"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "M_OnPlayerStateChange"
C:\Dokumente und Einstellungen\Mirko\Desktop\RSSARGR\gamemodes\Real-Roleplay.pwn(59675) : warning 203: symbol is never used: "M_OnPlayerUpdate"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
Alles anzeigen
Aha, das FBI kommt und heilt mich?
Und das FBI hat eine Base am Krankenhaus? Wuut! xD
Nein, ich schätze mal da muss Sanitäter o.ä hin.
Achso, wusste ich nicht.
Sorry!
Irgendwie fühl ich mich von Rockstar verarscht.
Ich steh auf, denk Juchu, neuer Trailer.
Guck auf Rockstargames.com
8 Stunden.. -.-
Jetzt noch bis 17 Uhr warten?
Die halten uns doch für Blöd!
Dann kannst du mir sicherlich sagen wie ich eine Variable die "100048275572" o.ä beträgt auf 100 bringen soll.
Hallo Breadfish,
Ich habe derzeit ein kleines Problem.
Ich brauche eine Berechnung für den Schaden der durch GetVehicleHealth abgefragt wird.
Als ich letztens einen neuen Float erstellt habe, und dort den Schaden abgespeichert habe, wollte ich ihn durch einen TextDraw ausgeben für einen Tacho.
Im Godfather habe ich bis jetzt keine Schadensberechnung gefunden, und das Internet bin ich auch schon seit mehreren Tagen am durchforsten nach Sachen wie
"Schadens Berechnung" / "Vehicle Damage SAMP" oder ähnliches.
Finde leider nichts.
Ich hoffe ihr könnt mir helfen, damit ich endlich nichtmehr im Tacho "Schaden: In Arbeit" stehen habe.
Ich wollte es auch noch in % umwandeln. Das heißt 1000 Schaden = 100%, 750 Schaden = 75% usw.
Kann mir da jemand helfen?
Nach den Sommerferien kamen bei uns die 3 Praktikumswochen + Herbstferien, wo ich sehr sehr viel verlernt habe.
Vor den Sommerferien stand ich noch 2 auf dem Zeugnis in Mathe, und jetzt hab ich echt sehr sehr viel verlernt. ( Da wird mein Mathe Lehrer staunen da ich sonst nie was vergesse. )
Vielen Dank im Vorraus!
Ich würde dir zu OCMD + SSCANF raten.
Ist einfach einzufügen.
OCMD Include suchen. ( Klick )
SSCANF Code suchen. ( Klick )
Dann einfach so ca.:
ocmd:heal(playerid, params[])
{
new money, pID;
if(sscanf(params,"ii", pID, money))return SendClientMessage(playerid, farbe, "Benutze: /heal ID Preis");
if(GetPlayerSkin(playerid) != 124 || GetPlayerSkin(playerid) != 274)return SendClientMessage(playerid, farbe, "Du brauchst den Medic-Skin.");
if(money < 0 || money > 1000)return SendClientMessage(playerid, farbe, "Preis nicht unter 0 oder über 1000!");
if(GetPlayerMoney(pID) < money)return SendClientMessage(playerid, farbe, "Der Spieler hat nicht genug Geld.");
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
GetPlayerName(pID, sendername ,sizeof(sendername));
format(string, sizeof(string), "Du wurdest von Medic %s geheilt für $%d.", giveplayer, money);
SendClientMessage(pID, farbe, string);
format(string ,sizeof(string), "Du hast %s für $%d geheilt.", sendername, money);
SendClientMessage(playerid, farbe, string);
SetPlayerHealth(pID, 100);
return 1;
}
Sollte so gehn.
//edit
Pwn-code vergessen.
Kann man das irgendwo testen?
Kannst du mal ein Video o.ä machen?
Denn 1 Screen ist nicht viel.
Ich kann mich auch in einen Infernus setzen, paar Texte anzeigen und das wars.
"Hiermit ernenne ich dich, Goldkiller, zum Wunderknaben."
Hat an der zweiten Abfrage gelegen.
Aber jetzt hab ich noch 1 Problem.
Ich habe ein Tank-System im Script drin.
Wenn man bei tEntranceX, tEntranceY, tEntranceZ ist soll man /fill machen können.
Nur das geht nicht, ich bekomme immer angezeigt bei einer Tankstelle "Du bist an keiner Tankstelle."
Keine Ahnung was das ist. -.-
Habe mal
//GivePlayerMoney(playerid, -HouseInfo[key][hRent]);
print("Debug 3.8.4");
//HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+HouseInfo[key][hRent];
print("Debug 3.8.5");
Ausgeklammert.
Nun geht alles.
Aber ich will trotzdem noch die beiden Sachen drin haben, sonst gibts ja garkeine Miete und so.
Was soll denn sonst dahin, anstatt 0.%d?
//Edit
Ab Debug 3.8.3 hängt er sich auf.
Ich hab mal die GivePlayerMoney Zeile ausgeklammert und schaue jetzt nach.
Der Debug kommt nur bis Debug 3 und weiter nicht:
print("Debug3");
format(string, sizeof(string), " Kontostand: $%d", PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), " Zinssrate: 0.%d Prozent",tmpintrate);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), " Zinsen erhalten: $%d", interest);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pAccount] += interest;
if(PlayerInfo[playerid][pPhousekey] != 255 || PlayerInfo[playerid][pPbiskey] != 255)
{
format(string, sizeof(string), " Miete: -$%d", rent);
SendClientMessage(playerid, COLOR_WHITE, string);
GivePlayerMoney(playerid, -HouseInfo[key][hRent]);
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+HouseInfo[key][hRent];
}
print("Debug4");
hmm ,ich verstehs nicht.
Man kanns auch kürzer machen und Zeilen sparen:
if(!IsPlayerInRangeOfPoint(playerid, RADI, X,Y,Z)return SendClientMessage(playerid, COLOR_WHITE, "Nicht am AD Punkt");
else if(!IsPlayerInRangeOfPoint(playerid, RADI, X,Y,Z)return SendClientMessage(playerid, COLOR_WHITE, "Nicht am AD Punkt");
//Edit
Kein " gemacht am ende vom ersten SendClientMessage
//Edit
Beim zweiten SendClientMessage ebenso..
Die Timer werden ab folgenden Stellen entfernt und hinzugefügt:
OnPlayerDisconnect
KillTimer(paydaycount[playerid]);
SetPlayerSpawn
if(PlayerInfo[playerid][pJailed] == 2)// PRISON INTERRIOR NACH EINLOGGEN
{
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,2144.3718,1617.5007,993.6882);
KillTimer(paydaycount[playerid]);
return 1;
}
/prison Befehl
KillTimer(paydaycount[giveplayerid]);
Das mit Debug probier ich jetzt aus.
//Edit
Debug-Ergebnisse:
Hier noch PayDay public.
public PayDay(playerid)
{
new string[128];
new interest;
new playername2[MAX_PLAYER_NAME];
new key = PlayerInfo[playerid][pPhousekey];
if(IsPlayerConnected(playerid))
{
PlayerInfo[playerid][pAccount] -= TaxValue;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
new bonus = PlayerInfo[playerid][pPayCheck] / 2;
PlayerInfo[playerid][pPayCheck] += bonus;
}
new checks = PlayerInfo[playerid][pPayCheck];
new ebill = (PlayerInfo[playerid][pAccount]/1000000)*(PlayerInfo[playerid][pLevel]);
new rent = (PlayerInfo[playerid][pAccount]/1000000) *(PlayerInfo[playerid][pLevel]);
ConsumingMoney[playerid] = 1;
PlayerMoney[playerid] = PlayerMoney[playerid] += checks;
if(PlayerInfo[playerid][pAccount] > 0)
{
PlayerInfo[playerid][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
ExtortionSBiz(4, ebill);
}
else
{
ebill = 0;
rent = 0;
}
new tmpintrate;
if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = intrate+4; }
else { tmpintrate = intrate+1; }//HouseInfo[key][hLevel]
}
else
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = 3; }
else { tmpintrate = 1; }
}
interest = (PlayerInfo[playerid][pAccount]/1000)*(tmpintrate);
PlayerInfo[playerid][pExp]++;
PlayerPlayMusic(playerid);
GivePlayerMoney(playerid, 15000);
SendClientMessage(playerid, COLOR_GREEN, "|___ PAYDAY/ZAHLTAG ___|");
format(string, sizeof(string), " Gehalt: $15000 Steuern: -$%d", Tax);
SendClientMessage(playerid, COLOR_WHITE, string);
if(PlayerInfo[playerid][pPhousekey] != 255 || PlayerInfo[playerid][pPbiskey] != 255)
{
format(string, sizeof(string), " Stromkosten: -$%d", ebill);
SendClientMessage(playerid, COLOR_WHITE, string);
}
format(string, sizeof(string), " Kontostand: $%d", PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), " Zinssrate: 0.%d Prozent",tmpintrate);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), " Zinsen erhalten: $%d", interest);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pAccount] += interest;
if(PlayerInfo[playerid][pPhousekey] != 255 || PlayerInfo[playerid][pPbiskey] != 255)
{
format(string, sizeof(string), " Miete: -$%d", rent);
SendClientMessage(playerid, COLOR_WHITE, string);
GivePlayerMoney(playerid, -HouseInfo[key][hRent]);
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+HouseInfo[key][hRent];
}
if(PlayerInfo[playerid][pDonateRank] >= 2)
{
SendClientMessage(playerid,COLOR_GOLD," Respektpunkte erhalten: 2");
PlayerInfo[playerid][pExp] += 2;
}
else
{
SendClientMessage(playerid,COLOR_WHITE," Respektpunkte erhalten: 1");
PlayerInfo[playerid][pExp] ++;
}
SendClientMessage(playerid, COLOR_WHITE, "|--------------------------------------|");
format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_WHITE, string);
if(PlayerInfo[playerid][pZollPass] == 1)
{
PlayerInfo[playerid][pZollPassTime] += 1;
format(string, sizeof(string), "* Du nutzt deinen Zollpass nun schon seit %d PayDays.", PlayerInfo[playerid][pZollPassTime]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
if(PlayerInfo[playerid][pZollPassTime] >= 25)
{
PlayerInfo[playerid][pZollPass] = 0;
PlayerInfo[playerid][pZollPassTime] = 0;
format(string, sizeof(string), "* Dein Zollpass ist nun nicht mehr gültig und vom Staat als ungültig anerkannt.");
SendClientMessage(playerid, COLOR_LIGHTRED, string);
}
if(PlayerInfo[playerid][pKrankenkasse] == 1)
{
PlayerInfo[playerid][pKrankenkasseTime] += 1;
format(string, sizeof(string), "* Du besitzt nun schon seit %d PayDays eine Krankenversicherung.", PlayerInfo[playerid][pKrankenkasse]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
if(PlayerInfo[playerid][pKrankenkasseTime] >= 20)
{
PlayerInfo[playerid][pKrankenkasse] = 0;
PlayerInfo[playerid][pKrankenkasseTime] = 0;
format(string, sizeof(string), "* Deine Krankenversicherung ist abgelaufen. Du kannst dir am Krankenhaus jederzeit eine neue besorgen.");
SendClientMessage(playerid, COLOR_LIGHTRED, string);
}
if(PlayerInfo[playerid][pWarns] >= 1)
{
PlayerInfo[playerid][pWarnTime] += 1;
}
if(PlayerInfo[playerid][pWarnTime] == 150)
{
PlayerInfo[playerid][pWarns] = -1;
}
if(PlayerInfo[playerid][pPunkte] >= 10)
{
SendClientMessage(playerid,COLOR_WHITE,"");
SendClientMessage(playerid,RED,":::::::::::: STRAFE ::::::::::::");
SendClientMessage(playerid,COLOR_WHITE,"");
SendClientMessage(playerid,RED,"Du hast 10 Strafpunkte, somit wurde dir dein Führerschein + Bikeschein entzogen!");
SendClientMessage(playerid,RED,"Nun musst du als Strafe eine Geldsumme von 50.000$ bezahlen!");
PlayerInfo[playerid][pPunkte] = 0;
PlayerInfo[playerid][pMotoLic] = 0; // Bikeschein
PlayerInfo[playerid][pCarLic] = 0; // Autoschein
GivePlayerMoney(playerid,-50000);
}
format(string, sizeof(string), "~y~Zahltag");
GameTextForPlayer(playerid, string, 5000, 1);
PlayerInfo[playerid][pJobzeit] += 1;
// rent = 0;
PlayerInfo[playerid][pPayCheck] = 0;
PlayerInfo[playerid][pConnectTime] += 1;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
PlayerInfo[playerid][pPayDayHad] += 1;
if(PlayerInfo[playerid][pPayDayHad] >= 2)
{
//PlayerInfo[playerid][pExp]++;
PlayerInfo[playerid][pPayDayHad] = 0;
}
}
new nxtlevel = PlayerInfo[playerid][pLevel]+1;
new expamount = nxtlevel*levelexp;
if(PlayerInfo[playerid][pExp] == expamount)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du kannst dir nun dein nächstes Level erkaufen, /buylevel.");
}
// PlayerUpdate(playerid);
}
return 1;
}
Wäre nett wenn du, oder irgendwer hier mir hilft.
Hallo Leute.
Ich habe ein Problem.
Wenn ein Spieler 60 Minuten voll hat, dann kommt es manchmal vor, dass die Paydayzeit nicht auf 0 zurück gesetzt wird, und die Zeit über 60 geht und der Spieler jede Minute 1 Payday kriegt.
Hier mal der Code
forward PayDayCount(playerid);
public PayDayCount(playerid)
{
PlayerInfo[playerid][pPayDayTime] ++;
PlayerInfo[playerid][pConnectTimeM] ++;
if(PlayerInfo[playerid][pPayDayTime] > 60)
{
PayDay(playerid);
PlayerInfo[playerid][pPayDayTime] = 0;
}
}
//OnPlayerLogin
paydaycount[playerid] = SetTimerEx("PayDayCount", 60000, true, "i", playerid);
Kann jemand helfen?
//Edit
Da war noch ein /pwn ..