Beiträge von Erich96
-
-
Guden,
Ich habe mir ein Paar TextDraws zur anzeige des Lebens.. erstellt! Wenn ich diese jetzt unter onPlayerSpawn anzeigen lassen will crashed mein Game (liegt nicht an mir bei anderen crashed es auch!) Nun wollt ich mal wissen ob jemand weiß woran das liegen kann!Einmal onplayerdeath wo sie ausgeblendet werden sollen;
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
////////////////////////LEBEN
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid, pX, pY, pZ);
Leben[playerid] = CreatePickup(1240, 1, pX, pY, pZ ,-1);
////////////////////////KILLERID
GivePlayerMoney(killerid, 1000);
SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
pInfo[killerid][Kills]+=1;
GameTextForPlayer(killerid, "~g~+1000$" , 3000 , 3);
////////////////////////PLAYERID
pInfo[playerid][Tode]+=1;
Defusekit[playerid] = 0;
GivePlayerMoney(playerid, -1000);
GameTextForPlayer(playerid, "~r~-1000$" , 3000 , 3);
TextDrawHideForPlayer(playerid, Heal[playerid]);
TextDrawHideForPlayer(playerid, Punkte);
TextDrawHideForPlayer(playerid, Armour[playerid]);
TextDrawHideForPlayer(playerid, BankGeld[playerid]);
TextDrawHideForPlayer(playerid, Uhr);
if(killerid != playerid)
{
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, killerid);
spectating[playerid] = 1;
SendClientMessage(playerid, COLOR_RED, "Du bist Tot drücke F um den Spectating Modus zu beenden!");
}
if(IsTerrorist(killerid))
{
tpunkte += 1;
return 1;
}
else if(IsCounterTerrorist(killerid))
{
ctpunkte += 1;
return 1;
}
return 1;
}und hier onplayerspawn wo sie wieder eingeblended werden sollen:
public OnPlayerSpawn(playerid)
{
UpdateBank(playerid);
SetCameraBehindPlayer(playerid);
ClearAnimations(playerid);
SetPlayerSkin(playerid, skin[playerid]);
SetPlayerSkillLevel(playerid, 0, 1);
SetPlayerSkillLevel(playerid, 1, 1);
SetPlayerSkillLevel(playerid, 2, 1);
SetPlayerSkillLevel(playerid, 3, 1);
SetPlayerSkillLevel(playerid, 4, 1);
SetPlayerSkillLevel(playerid, 5, 1);
SetPlayerSkillLevel(playerid, 6, 1);
SetPlayerSkillLevel(playerid, 7, 1);
SetPlayerSkillLevel(playerid, 8, 1);
SetPlayerSkillLevel(playerid, 9, 1);
SetPlayerSkillLevel(playerid, 10, 1);TextDrawShowForPlayer(playerid, Uhr);
TextDrawShowForPlayer(playerid, Punkte);
TextDrawShowForPlayer(playerid, BankGeld[playerid]);
TextDrawShowForPlayer(playerid, Heal[playerid]);
TextDrawShowForPlayer(playerid, Armour[playerid]);if(IsTerrorist(playerid))
{
new rand = random(sizeof(TerrorSpawns));
SetPlayerPos(playerid, TerrorSpawns[rand][0], TerrorSpawns[rand][1], TerrorSpawns[rand][2]);
SetPlayerFacingAngle(playerid, TerrorSpawns[rand][3]);
SetPlayerColor(playerid, COLOR_T);
GivePlayerWeapon(playerid, 4, 500); //Messer
GivePlayerWeapon(playerid, 22, 120); //Silenced
return 1;
}
else
{
new rand = random(sizeof(CTSpawns));
SetPlayerPos(playerid, CTSpawns[rand][0], CTSpawns[rand][1], CTSpawns[rand][2]);
SetPlayerFacingAngle(playerid, CTSpawns[rand][3]);
SetPlayerColor(playerid, COLOR_CT);
GivePlayerWeapon(playerid, 4, 500); //Messer
GivePlayerWeapon(playerid, 23, 120); //Silenced
return 1;
}
}Hoffe ihr könnt mir helfen!
//PUSH
-
Hier falls du's brauchst die id von dem Blitzerobjekt ist : 18880
-
Ganz einfach, gehe dahin wo unter onkeystatechange das mit dem Motor gemacht wird, da müsste irgendwas mit SetVehicleParamsEx oder so ähnlich vorkommen! Dadrüber muss eine if Bedingung abgefrag werden, welche ungefair so aussieht if(newkeys == strg) (Ich weiß gerade nicht die richtige bezeichnung für die strg taste also nicht danach suchen wirst du so nicht finden!) Dann ersetze du das "strg" ganz einfach mit KEY_NO und schon sollte es klappen!
mfg Eric
-
Hey Leute,
Habe vor ein Paar Tagen mit meinem Selfmade angefangen! Jetzt habe ich nur ein Problem! Wenn man stirbt bzw. spawnt bekommt man einen crash!hier mal onplayerspawn und onplayerdeath
public OnPlayerSpawn(playerid)
{
ClearAnimations(playerid);
UpdateBank(playerid);
DestroyPickup(Leben[playerid]);
TextDrawShowForPlayer(playerid, Uhr);
TextDrawShowForPlayer(playerid, Punkte);
TextDrawShowForPlayer(playerid, BankGeld[playerid]);
TextDrawShowForPlayer(playerid, Heal[playerid]);
TextDrawShowForPlayer(playerid, Armour[playerid]);
SetPlayerSkin(playerid, skin[playerid]);
/*
SetPlayerSkillLevel(playerid, 0, 1);
SetPlayerSkillLevel(playerid, 1, 1);
SetPlayerSkillLevel(playerid, 2, 1);
SetPlayerSkillLevel(playerid, 3, 1);
SetPlayerSkillLevel(playerid, 4, 1);
SetPlayerSkillLevel(playerid, 5, 1);
SetPlayerSkillLevel(playerid, 6, 1);
SetPlayerSkillLevel(playerid, 7, 1);
SetPlayerSkillLevel(playerid, 8, 1);
SetPlayerSkillLevel(playerid, 9, 1);
SetPlayerSkillLevel(playerid, 10, 1);
*/
if(IsTerrorist(playerid))
{
SetPlayerPos(playerid,TSPAWN);
SetPlayerColor(playerid, COLOR_T);
GivePlayerWeapon(playerid, 4, 500); //Messer
GivePlayerWeapon(playerid, 22, 120); //9mm
return 1;
}
else if(IsCounterTerrorist(playerid))
{
SetPlayerPos(playerid,CTSPAWN);
SetPlayerColor(playerid, COLOR_CT);
GivePlayerWeapon(playerid, 4, 500); //Messer
GivePlayerWeapon(playerid, 23, 120); //9mm Silenced
return 1;
}
return 1;
}public OnPlayerDeath(playerid, killerid, reason)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid, pX, pY, pZ);
Leben[playerid] = CreatePickup(1240, 1, pX, pY, pZ ,-1);
if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
pInfo[killerid][Kills]++;
pInfo[playerid][Tode]++;
Defusekit[playerid] = 0;
SendDeathMessage(killerid, playerid, reason);
GivePlayerMoney(killerid, 1000);
GivePlayerMoney(playerid, -1000);
GameTextForPlayer(playerid, "~r~-1000$" , 3000 , 3);
GameTextForPlayer(killerid, "~g~+1000$" , 3000 , 3);
ResetPlayerWeapons(playerid);
TextDrawHideForPlayer(playerid, Heal[playerid]);
TextDrawHideForPlayer(playerid, Punkte);
TextDrawHideForPlayer(playerid, Armour[playerid]);
TextDrawHideForPlayer(playerid, BankGeld[playerid]);
TextDrawHideForPlayer(playerid, Uhr);
if(IsTerrorist(killerid))
{
tpunkte++;
UpdatePunkte();
return 1;
}
else if(IsCounterTerrorist(killerid))
{
ctpunkte++;
UpdatePunkte();
return 1;
}
return 1;
}Hoffe ihr findet den Fehler!
mfg Eric
//EDIT eingerückt!
//PUSH Findet denn niemand hier irgendein Fehler? Soviele Möglichkeiten gibts ja nich, nur finde ich ihn leider auch net ;D
-
Es gibt eine Funktion, die heißt PlayerCarUpdate oder so. Such die mal und schreib sie noch mit in den Befehl rein, dann sollte es eig gespeichert sein und klappen!
-
Hey habe en Problem mit meinem Team chat! Hier der code
{
if (strcmp("/t", cmdtext, true, 10) == 0 || strcmp("/team", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
new idx, string[128];
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_RED, "FEHLER: (/t)eam [Nachricht]");
return 1;
}
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(IsCounterTerrorist(playerid))
{
format(string, sizeof(string), "{0000FF}[{FFFFFF}TEAM{0000FF}] %s: {FFFFFF}%s",name, result);
SendCTMessage(COLOR_BLUE, string);
return 1;
}
else if(IsTerrorist(playerid))
{
format(string, sizeof(string), "{FF0000}[{FFFFFF}TEAM{FF0000}] %s: {FFFFFF}%s",name, result);
SendTMessage(COLOR_RED, string);
return 1;
}
}
}und hier die stocks
stock SendCTMessage(farbe, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsCounterTerrorist(i))
{
SendClientMessage(i, farbe, string);
}
}
}
}stock SendTMessage(farbe, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsTerrorist(i))
{
SendClientMessage(i, farbe, string);
}
}
}
}Wenn ich jetzt /t mache steht da [TEAM] NAME /t
und nicht [TEAM] NAME NACHRICHT
-
Alles klar, funktioniert!
Vielen Dank!
//CLOSED
-
Ganz genau das will ich! ;D
Meisternuke: Deins klappt leider auch nich so wie ich es wollte es tritt immer der unterste Fall ein!
Und zur frage, Nein das ist das Geld das er auf der Bank hat, habe mich nochmal umentschieden, muss das noch umbenennen!pls help
-
Okay Thx klappt schonmal, bis darauf das da anstatt z.B.
00000800
immernoch 00000000800 steht, was ich ja eig genau vermeiden wollte! Nur ich weiß nich was daran falsch is! Pls help!
-
Wieso geht das net so wie ich mir gedacht habe?
Ich will unter dem Geld das Geld auf der bank anzeigen lassen
und damit da nicht immer nur $54 oder so steht hab ich das gemacht! Jetzt sollte da stehen z.B. $000000054 so wie halt beim normalen Geld! Nur iwie wills nich!public UpdateBank()
{
for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
new string[12];
if(strval(pInfo[playerid][Geld]) >= 1000000)
{
format(string,sizeof(string),"$0%d", pInfo[playerid][Geld]);
TextDrawSetString(BankGeld[playerid], string);
return 1;
}
else if(strval(pInfo[playerid][Geld]) >= 100000)
{
format(string,sizeof(string),"$00%d", pInfo[playerid][Geld]);
TextDrawSetString(BankGeld[playerid], string);
return 1;
}
else if(strval(pInfo[playerid][Geld]) >= 10000)
{
format(string,sizeof(string),"$000%d", pInfo[playerid][Geld]);
TextDrawSetString(BankGeld[playerid], string);
return 1;
}
else if(strval(pInfo[playerid][Geld]) >= 1000)
{
format(string,sizeof(string),"$0000%d", pInfo[playerid][Geld]);
TextDrawSetString(BankGeld[playerid], string);
return 1;
}
else if(strval(pInfo[playerid][Geld]) >= 100)
{
format(string,sizeof(string),"$00000%d", pInfo[playerid][Geld]);
TextDrawSetString(BankGeld[playerid], string);
return 1;
}
else if(strval(pInfo[playerid][Geld]) >= 10)
{
format(string,sizeof(string),"$000000%d", pInfo[playerid][Geld]);
TextDrawSetString(BankGeld[playerid], string);
return 1;
}
else
{
format(string,sizeof(string),"$0000000%d", pInfo[playerid][Geld]);
TextDrawSetString(BankGeld[playerid], string);
return 1;
}
}
return 1;
}//Edit nochmal abgeändert
-
Ihr kennt ja alle den bug im LoH script, dass wenn man in einen Totenkopf läuft das dann da steht du besitzt bereits einen schlüssel ....
Hat jemand einen fix dafür der auch funktioniert? Habe alles durchsucht, nichts hat funktioniert!
mfg Eric
//PUSH
-
@Blackace Das wäre glaube ein verdammt langer code! ;D
CroXx16 Okay danke ich glaube damit kann ich was anfangen!
//CLOSED
-
Guden,
Ich habe eine Frage, und zwar habe ich jetzt schon auf mehreren Servern gesehen das, zum Beispiel beim Login ein Bild erscheint! D.h. der komplette Bildschirm voll mit einem Bild ist! Kann mir jemand sagen wie das geht? Gibt es eine Funktion dafür?
//EDIT Screen hinzugefügt [All Rights to Nova ;D] -
Okay Templer hat mir in icq geholfen! Es funktioniert!
Einfach anstatt newkeys == newkeys & schreiben und schon geht es!
//CLOSED
-
Und wie?
-
Das weiß ich leider nicht, aber auf anderen Servern klappts ja auch! Also irgendwie muss es ja gehen! ;D
-
if(newkeys == KEY_FIRE && oldkeys == KEY_AIM && PlayerInfo[playerid][pJailed] == 1 || newkeys == KEY_FIRE && PlayerInfo[playerid][pJailed] == 1)
{
new dmstring[128];
KnastDM[playerid] += 1;
format(dmstring, sizeof(dmstring), "Knast-DM ist verboten! Hör sofort damit auf! [%d/5]", KnastDM[playerid]);
SendClientMessage(playerid, COLOR_RED, dmstring);
}
if(KnastDM[playerid] > 4)
{
new kickstring[128];
new dmname[MAX_PLAYER_NAME];
GetPlayerName(playerid, dmname, sizeof(dmname));
format(kickstring, sizeof(kickstring), "Server: %s wurde wegen Knast-DM von Server gekickt!", dmname);
SendClientMessageToAll(COLOR_LIGHTRED, kickstring);
KnastDM[playerid] = 0;
Kick(playerid);
}Hey Leute, hab hier etwas erstellt das den Spieler kickt wenn er 5 mal schlägt! Nur klappt es irgendwie nicht wenn man rechtsklick drückt! Habe es schon mit Key_Aim versucht, es klappt aber einfach nicht! Wär nett wenn mir jemand helfen könnte!
-
Uuups stimmt vergessen das zu ändern! Danke mein Fehler
//CLOSED
-
Moin,
Ich habe ein neues PayDay System erstellt habe nur ein Problem! Wenn man /payday eingibt bekommt jeder der online ist einen PayDay hier mal der command!if(strcmp(cmd, "/payday", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(abletopayday[playerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "Es ist noch nicht Zahltag!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED,"Benutze: /payday [Lösung]");
return 1;
}
new loesung = strval(tmp);
new richtigeloesung = paydayzahl1[playerid] + paydayzahl2[playerid];
if(loesung != richtigeloesung)
{
SendClientMessage(playerid, COLOR_RED, "Deine Lösung war nicht korrekt! Versuch es nochmal!");
return 1;
}
SendClientMessage(playerid, COLOR_WHITE, "Dein Ergebnis war richtig! Du erhälts deinen Zahltag!");
PayDay(playerid);
}
return 1;
}und hier die public payday
public PayDay(playerid)
{
new string[128];
new account,interest;
new rent = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(M_Bot[i][PAFK] == 0)
{
if(MoneyMessage[i]==1)
{
SendClientMessage(i, COLOR_LIGHTRED, "Du konntest deine Schulden nicht Bezahlen.");
GameTextForPlayer(i, "~r~Busted!", 2000, 1);
SetPlayerInterior(i, 6);
SetPlayerPos(i, 264.6288,77.5742,1001.0391);
PlayerInfo[i][pJailed] = 1;
ResetPlayerWeapons(i);
ResetPlayerMoney(i);
WantedPoints[i] = 0;
PlayerInfo[i][pJailTime] = 240;
format(string, sizeof(string), "Du bist eingesperrt für %d sekunden. Kaution: Keine", PlayerInfo[i][pJailTime]);
SendClientMessage(i, COLOR_LIGHTBLUE, string);
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(i, playername2, sizeof(playername2));
account = PlayerInfo[i][pAccount];
new key = PlayerInfo[i][pPhousekey];
if(key != 255)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoney(i))
{
PlayerInfo[i][pPhousekey] = 255;
SendClientMessage(i, COLOR_WHITE, "Du wurdest aus deiner Wohnung geschmissen, weil du die Miete nichtmehr bezahlen konntest!");
rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
}
new tmpintrate;
if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = intrate+4; }
else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
}
else
{
if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = 3; }
else { tmpintrate = 1; }
}
//if(PlayerInfo[i][pPayDay] >= 3)
{
Tax += TaxValue;//Should work for every player online
PlayerInfo[i][pAccount] -= TaxValue;
if(PlayerInfo[i][pDonateRank] > 0)
{
new bonus = PlayerInfo[i][pPayCheck] / 2;
PlayerInfo[i][pPayCheck] += bonus;
}
new checks = PlayerInfo[i][pPayCheck];
new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
//new oil = (PlayerInfo[i][pPhousekey]*100);
ConsumingMoney[i] = 1;
GivePlayerMoney(i, checks);
if(PlayerInfo[i][pAccount] > 0)
{
PlayerInfo[i][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
if(PlayerInfo[i][pPhousekey] != 255)
{
//PlayerInfo[i][pAccount] -= oil;
//SBizzInfo[3][sbTill] += oil;
}
else
{
//oil = 0;
}
if(PlayerInfo[i][pMember] == 0 && PlayerInfo[i][pLeader] == 0)
{
checks += 500;
}
interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
PlayerInfo[i][pAccount] = account+interest;
SendClientMessage(i, COLOR_GOLD, "|================| KONTO AUSZUG |================|");
format(string, sizeof(string), " Gehalt: $%d Miete: -$%d Steuern: -$%d", checks, rent, TaxValue);
SendClientMessage(i, COLOR_GRAD1, string);
if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
{
format(string, sizeof(string), " Strom Kosten [incl.: Heitzkosten,Wasser: -$%d", ebill);
SendClientMessage(i, COLOR_GRAD1, string);
}
if(PlayerInfo[i][pHandyVer] == 1)
{
SendClientMessage(i,COLOR_GRAD2," Handyvertragskosten: -$100");
GivePlayerMoney(i, -100);
}
format(string, sizeof(string), " Zinsen: $%d [0.%d prozent]", interest,tmpintrate);
SendClientMessage(i, COLOR_GRAD2, string);
SendClientMessage(i, COLOR_GOLD, "|=================||============||=================|");
format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[i][pAccount]);
SendClientMessage(i, COLOR_GRAD5, string);
format(string, sizeof(string), "~b~Pay~w~Day~b~!~w~!~b~!");
GameTextForPlayer(i, string, 5000, 1);
rent = 0;
abletopayday[i] = 0;
PlayerInfo[i][pTimeToPayDay] = 3600000;
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pConnectTime] += 1;
SaveAccounts(i);
if(PlayerInfo[i][pDonateRank] > 0)
{
PlayerInfo[i][pPayDayHad] += 1;
if(PlayerInfo[i][pPayDayHad] >= 5)
{
PlayerInfo[i][pExp]++;
PlayerInfo[i][pPayDayHad] = 0;
}
}
}
//else
{
//SendClientMessage(i, COLOR_LIGHTRED, "* Du hast nicht lange Genug gespielt!");
}
}
else
{
SendClientMessage(i, COLOR_LIGHTRED, "* Du hast kannst keinen PayDay bekommen solange du AFK bist!");
}
}
}
Checkprop();
return 1;
}hier die forwards!
forward PayDay(playerid);Woran liegt das?