Geht schon musste (playerid) weg machen wenn ichs in den Gm rein baue
Beiträge von SenTiZz
-
-
Hio,
ich hab ein Problem mit meinem Tank, es zieht sich kein Tank mehr ab!
Code:
checkgastimer = SetTimer("CheckGas", RunOutTime, 1);
public CheckGas()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAuto] == 1)
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
new vehicle = GetPlayerVehicleID(i);
new Float: verbrauch = GetPlayerVehicleVerbrauch(i);
new tank = speedcount[i]/130;
if(GetVehicleModel(vehicle) == 481
|| GetVehicleModel(vehicle) == 509
|| GetVehicleModel(vehicle) == 510
|| IsAnEventCar(vehicle)) return 1;
if(IsANPCCar(vehicle)) return 1;
if(spawncar_gas[vehicle] > 1)
{
if(tank < 1)
{
spawncar_gas[vehicle] -= 0.1;
speedcount[i] = 0;
}
if(tank >= 1 && tank <= 20)
{
spawncar_gas[vehicle] -= verbrauch;
speedcount[i] = 0;
}
if(tank > 20 && tank <= 60)
{
spawncar_gas[vehicle] -= verbrauch*2;
speedcount[i] = 0;
}
if(tank > 60)
{
spawncar_gas[vehicle] -= verbrauch*3;
speedcount[i] = 0;
}
}
else
{
NoFuel[vehicle] = 1;
TogglePlayerControllable(i, 0);
PlayerPlaySound(i, 1085, 0.0, 0.0, 0.0);
return 1;
}
}
}
}
}
return 0;
}if(IsPlayerInAnyVehicle(i))
{
new kraftstoff[256], string_ftd[128];
kraftstoff = GetPlayerVehicleType(GetPlayerVehicleID(i));
format(string_ftd, sizeof(string_ftd), "~g~Kraftstoff: ~w~%s", kraftstoff);
TextDrawSetString(ftd[i], string_ftd);new string_t[128];
format(string_t, sizeof(string_t), "~g~Tank: ~w~%.1f/%d", spawncar_gas[GetPlayerVehicleID(i)],spawncar_maxgas[GetPlayerVehicleID(i)]);
TextDrawSetString(fd[i], string_t);TextDrawSetString(kd[i], "~g~KMH");
}Hab glaub damals irgendwas geändert, weiss aber nicht mehr was...
Hoffe es kann einer helfen
LG
Moritz
-
Okey... wohin soll das hin?
habs -
Ja ich kann aber nicht beim Timer playerid eintragen
-
Haste mir nen Vorschlag
-
Wie teilt man denn das Geld durch 2?
-
Machs mit enum, pJob danach Speicher es danach wenn pJob auf 0 ist passiert garnix wenn pJob auf 1 oder 2 ist kommen dann die ganzen Funktionen
z.B
enum Spielerdaten
{
pJob
}
dini_IntSet(Datei,"Job",0); -
Hallo,
ich habe ein großes Problem...
Das Problem ist das wenn ich Connecte den Textdraw zwar anzeiegt aber es ist von unterschiedlichen spielern und nicht von mir selbst...
Wie kann ich das fixxen?
Code:
Function InfoTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new str2[450];
format(str2,sizeof(str2),"~r~[ Info ]: ~g~Alter:~w~ %d ~g~Geld:~w~ %d$ ~g~Bankkonto:~w~ %d$ ~g~Handynummer:~w~ %d ~g~Level:~w~ %d Forum: www.german-freak-reallife.de.tc",PlayerInfo[i][pAge],PlayerInfo[i][pCash],PlayerInfo[i][pAccount],PlayerInfo[i][pPnumber],PlayerInfo[i][pLevel]);
TextDrawSetString(Textdraw2, str2);// Hier sind die Errors
}
}
}
new Text:Textdraw2;
new Text:Textdraw3;Textdraw2 = TextDrawCreate(0.000000,437.000000,"{0087FF}INFO");
Textdraw3 = TextDrawCreate(303.000000,437.000000,"");
TextDrawUseBox(Textdraw2,1);
TextDrawBoxColor(Textdraw2,0x00000066);
TextDrawTextSize(Textdraw2,700.000000,1500.000000);
TextDrawAlignment(Textdraw2,1);
TextDrawAlignment(Textdraw3,2);
TextDrawBackgroundColor(Textdraw2,0x00000066);
TextDrawBackgroundColor(Textdraw3,0x000000ff);
TextDrawFont(Textdraw2,1);
TextDrawLetterSize(Textdraw2,0.299999,1.000000);
TextDrawFont(Textdraw3,2);
TextDrawLetterSize(Textdraw3,0.399999,1.000000);
TextDrawColor(Textdraw2,0x00ff00cc);
TextDrawColor(Textdraw3,0xffffffff);
TextDrawSetOutline(Textdraw2,1);
TextDrawSetOutline(Textdraw3,1);
TextDrawSetProportional(Textdraw2,1);
TextDrawSetProportional(Textdraw3,1);
TextDrawSetShadow(Textdraw2,1);
TextDrawSetShadow(Textdraw3,1);hoffe es kann einer helfen
LG Moritz
-
Habs Danke
//e da spinnt iwas...
Irgendwie aktualliesiert das nicht!
Function InfoTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new str2[256];
format(str2,sizeof(str2),"~g~Geld:~w~ %d$ ~g~Handynummer:~w~ %d ~g~Level:~w~ %d",PlayerInfo[i][pCash],PlayerInfo[i][pPnumber],PlayerInfo[i][pLevel]);
TextDrawSetString(Textdraw2, str2);
}
}
}
SetTimer("InfoTimer",1, 1); -
Hio,
ich wollte mal etwas machen, das wenn man Connectet sich eine Box unten erstellt...Das ist bis jetzt mein Code:
new Text:Textdraw2;
new Text:Textdraw3;Textdraw2 = TextDrawCreate(0.000000,437.000000,"{0087FF}INFO");
Textdraw3 = TextDrawCreate(303.000000,437.000000,"");
TextDrawUseBox(Textdraw2,1);
TextDrawBoxColor(Textdraw2,0x00000066);
TextDrawTextSize(Textdraw2,700.000000,1500.000000);
TextDrawAlignment(Textdraw2,1);
TextDrawAlignment(Textdraw3,2);
TextDrawBackgroundColor(Textdraw2,0x00000066);
TextDrawBackgroundColor(Textdraw3,0x000000ff);
TextDrawFont(Textdraw2,1);
TextDrawLetterSize(Textdraw2,0.299999,1.000000);
TextDrawFont(Textdraw3,2);
TextDrawLetterSize(Textdraw3,0.399999,1.000000);
TextDrawColor(Textdraw2,0x00ff00cc);
TextDrawColor(Textdraw3,0xffffffff);
TextDrawSetOutline(Textdraw2,1);
TextDrawSetOutline(Textdraw3,1);
TextDrawSetProportional(Textdraw2,1);
TextDrawSetProportional(Textdraw3,1);
TextDrawSetShadow(Textdraw2,1);
TextDrawSetShadow(Textdraw3,1);Function InfoTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new str2[256];
format(str2,sizeof(str2),"~g~Geld:~w~ %d$ ~g~Handynummer:~w~ %d ~g~Level:~w~ %d",PlayerInfo[i][pCash],PlayerInfo[i][pPnumber],PlayerInfo[i][pLevel]);
TextDrawSetString(Textdraw2, str2);// Hier sind die Errors
}
}
}Mehr hab ich nicht aber er wird auch nicht angezeigt...
Hoffe es kann einer helfen
Mfg
Moritz
-
immer noch, kann wer helfen
-
Hio,
ich habe seit paar Monaten schon das Problem das wenn ich mich einlogge oder Connecte mein Tacho Textdraw kommt!!
Aber wie geht das wieder weg?
Code:
new Text:box[MAX_PLAYERS],Text:fahrzeug[MAX_PLAYERS],Text:kmh[MAX_PLAYERS];
new Text:hoehe[MAX_PLAYERS],Text:zustand[MAX_PLAYERS];
new SpeedoON[MAX_PLAYERS];
new Float:sVehicle_X[MAX_VEHICLES], Float:sVehicle_Y[MAX_VEHICLES], Float:sVehicle_Z[MAX_VEHICLES];box[i] = TextDrawCreate(157.000000,371.000000,"_");
TextDrawUseBox(box[i],1);
TextDrawBoxColor(box[i],0x00000066);
TextDrawTextSize(box[i],270.000000,500.000000);
TextDrawAlignment(box[i],0);
TextDrawBackgroundColor(box[i],0x00000033);
TextDrawFont(box[i],1);
TextDrawLetterSize(box[i],1.000000,5.000000);
TextDrawColor(box[i],0xffffffff);
TextDrawSetOutline(box[i],1);
TextDrawSetProportional(box[i],1);
TextDrawSetShadow(box[i],1);Function Timer4()
{
new Float:Speedo_X,Float:Speedo_Y,Float:Speedo_Z;
new Float:Speedo_HP;
for(new i=0; i<SLOTS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && !IsANoTachoVehicle(GetPlayerVehicleID(i)))
{
GetPlayerPos(i, Speedo_X, Speedo_Y, Speedo_Z);
GetPlayerVehicleID(i);
GetVehicleHealth(GetPlayerVehicleID(i), Speedo_HP);new str1[256],str2[256],str3[256],str4[256];
if(SpeedoON[i] == 0)
{
TextDrawShowForPlayer(i, box[i]);
TextDrawShowForPlayer(i, fahrzeug[i]); TextDrawShowForPlayer(i, kmh[i]);
TextDrawShowForPlayer(i, hoehe[i]); TextDrawShowForPlayer(i, zustand[i]);
SpeedoON[i] = 1;
}
new Float:speed_x,Float:speed_y,Float:speed_z,Float:final_speed,final_speed_int;
new veh = GetPlayerVehicleID(i);
GetVehicleVelocity(veh, speed_x, speed_y, speed_z);
final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*120.0; // 136.666667 = kmph // 85.4166672= mph
final_speed_int = floatround(final_speed,floatround_round);
new kmh_anzahl = final_speed_int;format(str1,sizeof(str1),"Car: ~b~%s",VehicleName[GetVehicleModel(GetPlayerVehicleID(i))-400]);
TextDrawSetString(fahrzeug[i], str1);if(kmh_anzahl >= 0)
{
format(str2,sizeof(str2),"~b~KM/H: ~w~%d",kmh_anzahl);
TextDrawSetString(kmh[i], str2);
}
new vehicleid = GetPlayerVehicleID(i);
format(str3,sizeof(str3),"~b~Tank: ~w~%d/%d ~b~Liter", Gas[vehicleid],GetGasMax(GetVehicleModel(vehicleid)));
TextDrawSetString(hoehe[i], str3);if(Speedo_HP >= 0)
{
format(str4,sizeof(str4),"~r~Zustand: ~w~%.0f %", Speedo_HP/10);
TextDrawSetString(zustand[i], str4);
}}
SavePlayerPos[i][sX] = Speedo_X, SavePlayerPos[i][sY] = Speedo_Y, SavePlayerPos[i][sZ] = Speedo_Z;
}
for(new i=0; i<SLOTS; i++)
{
if(!IsPlayerInAnyVehicle(i))
{
TextDrawHideForPlayer(i, box[i]);
TextDrawHideForPlayer(i, fahrzeug[i]); TextDrawHideForPlayer(i, kmh[i]);
TextDrawHideForPlayer(i, hoehe[i]); TextDrawHideForPlayer(i, zustand[i]);
TextDrawShowForPlayer(i, Copyright);
SpeedoON[i] = 0;
}
}
}Hoffe es kann einer helfen
MFG
Moritz
-
Fügs einfach ein bei der Premium abfrage oben :
PlayerInfo[i][pExp]++;
Nur einaml einfügen fertig...
-
Ja du erstellst da deine Sachen im einem baustelle false machste deine Createobject sachen rein und danach löschen
-
Function Baustelle2()
{
if(baustelle2 == false)
{
SendClientMessageToAll(COLOR_RED," ______________ Baustelle ______________");
SendClientMessageToAll(COLOR_RED," Warnung: Es ist eine Baustelle am Busbahnhof!");
SendClientMessageToAll(COLOR_RED," Sichern sie den Einsatzort!");
BObject2[0] = CreateObject(978, 1047.9000244141, -2020.8000488281, 13, 0, 0, 83.25);
baustelle2 = true;
}
else
{
SendClientMessageToAll(COLOR_RED," ______________ Baustelle ______________");
SendClientMessageToAll(COLOR_RED," Warnung: Die Baustelle am Busbahnhof wurde abgerissen!");
SendClientMessageToAll(COLOR_RED," Man kann nun wieder die Straße befahren...");
DestroyObject(BObject2[0]);
baustelle2 = false;
}}
Versuchs mal so...
-
Bei mir geht das iwie garnicht...
if(dialogid == DIALOG_BESCHWERDE)
{
if(response == 1)
{
new string[128];
SendClientMessage(playerid,orange,"Dein Beschwerde wurde abgespeichert und wurde an die Administratoren weitergeleitet!");
format(string,sizeof(string),"[REPORT-SYSTEM]: %s hat eine Beschwerde eingesendet: [ %s ]",Name(playerid),inputtext);// Errors
AdminNachricht(rot,string);
SetPVarInt(playerid,"Report",1);
}
if(response == 0)
{
ShowPlayerDialog(playerid,DIALOG_ABBRECHEN,DIALOG_STYLE_MSGBOX,"Report System - Abbrechen","Du verlässt nun das Report System!","Bestätigen","Zurück");
}
}Errors:
C:\Users\Moritz\Desktop\Selfmade Script\gamemodes\Selfmade.pwn(779) : warning 217: loose indentation
C:\Users\Moritz\Desktop\Selfmade Script\gamemodes\Selfmade.pwn(799) : warning 217: loose indentation
C:\Users\Moritz\Desktop\Selfmade Script\gamemodes\Selfmade.pwn(809) : warning 217: loose indentation
C:\Users\Moritz\Desktop\Selfmade Script\gamemodes\Selfmade.pwn(810) : error 012: invalid function call, not a valid address
C:\Users\Moritz\Desktop\Selfmade Script\gamemodes\Selfmade.pwn(810) : warning 215: expression has no effect
C:\Users\Moritz\Desktop\Selfmade Script\gamemodes\Selfmade.pwn(810) : error 001: expected token: ";", but found ")"
C:\Users\Moritz\Desktop\Selfmade Script\gamemodes\Selfmade.pwn(810) : error 029: invalid expression, assumed zero
C:\Users\Moritz\Desktop\Selfmade Script\gamemodes\Selfmade.pwn(810) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
kann mir einer helfen?
LG Moritz
-
-
-
Hio,
ich habe ein Problem,
wenn ich nach ner Minute oder so meinen Server Verlassen oder warte, dann setzt sich alles auf 0!
Liegt das daran?
forward Timer1();
public Timer1()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(SInfo[i][pPayday] == 60)
{
SInfo[i][pReskept] += 1;
SendClientMessage(i,0x0000FFFF," ==================|Kontoauszug|==================");
SendClientMessage(i,0x0000FFFF," Es fallen 200 $ Steuern ab...");
SendClientMessage(i,0x0000FFFF," ==================|Kontoauszug|==================");
SInfo[i][pPayday] = 0;
SpielerSpeichern(i);
SpielerLaden(i);
}
else
{
SInfo[i][pPayday] += 1;
SpielerSpeichern(i);
SpielerLaden(i);
}
if(SInfo[i][pJailed] == 1)
{
if(SInfo[i][zeiteingesperrt] == 0)
{
SInfo[i][zeiteingesperrt] = 0;
SetSpawnInfo(i,0,SInfo[i][pskin],1724.4227,-1607.3707,13.1473,136.8591,0,0,0,0,0,0);
SpielerSpeichern(i);
SpielerLaden(i);
SendClientMessage(i,Rot,"Du bist nun frei! Benehm dich bitte!");
}
else
{
SInfo[i][zeiteingesperrt] -= 1;
SpielerSpeichern(i);
SpielerLaden(i);
}
}
SpielerSpeichern(i);
SpielerLaden(i);
}}
forward SpielerSpeichern(playerid);
public SpielerSpeichern(playerid)
{
GetPlayerName(playerid, Name, sizeof( Name));
format(Datei,sizeof(Datei),"/Spieler/%s.ini",Name);
if(!fexist(Datei)) //fexist = file exists = Datei existiert?
{
dini_Create(Datei);
dini_Set(Datei,"Passwort",SInfo[playerid][Passwort]);
dini_IntSet(Datei,"Geld",40000);
dini_IntSet(Datei,"Skin",23);
dini_IntSet(Datei,"Level",1);
dini_IntSet(Datei,"Adminlevel",0);
dini_IntSet(Datei,"gebannt",0);
dini_IntSet(Datei,"Fraktion",0);
dini_IntSet(Datei,"Rang",0);
dini_IntSet(Datei,"Job",0);
dini_IntSet(Datei,"zeiteingesperrt",0);
dini_IntSet(Datei,"wantedpunkte",0);
dini_IntSet(Datei,"Jailed",0);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte Tippe dein Passwort ein, um dich zu einzuloggen","Einloggen","Abbrechen");
}
else
{
dini_IntSet(Datei,"Geld",SInfo[playerid][pGeld]);
dini_IntSet(Datei,"Skin", GetPlayerSkin(playerid));
dini_IntSet(Datei,"Level",GetPlayerScore(playerid));
dini_IntSet(Datei,"Adminlevel",SInfo[playerid][Adminlevel]);
dini_IntSet(Datei,"gebannt",SInfo[playerid][gebannt]);
dini_IntSet(Datei,"Fraktion",SInfo[playerid][Fraktion]);
dini_IntSet(Datei,"Rang",SInfo[playerid][Rang]);
dini_IntSet(Datei,"Job",SInfo[playerid][Job]);
dini_IntSet(Datei,"zeiteingesperrt",SInfo[playerid][zeiteingesperrt]);
dini_IntSet(Datei,"wantedpunkte",GetPlayerWantedLevel(playerid));
dini_IntSet(Datei,"Jailed",SInfo[playerid][pJailed]);
dini_IntSet(Datei,"Payday",SInfo[playerid][pPayday]);
dini_IntSet(Datei,"Reskept",SInfo[playerid][pReskept]);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SpawnPlayer(playerid);
return 1;
}
forward SpielerLaden(playerid);
public SpielerLaden(playerid)
{
GetPlayerName(playerid, Name, sizeof( Name));
format(Datei,sizeof(Datei),"/Spieler/%s.ini",Name);
SInfo[playerid][pGeld] = dini_Int(Datei,"Geld");
SInfo[playerid][pskin] = dini_Int(Datei, "Skin");
SetPlayerScore(playerid,dini_Int(Datei,"Level"));
SInfo[playerid][Adminlevel] = dini_Int(Datei,"AdminLevel");
SInfo[playerid][gebannt] = dini_Int(Datei,"gebannt");
SInfo[playerid][Fraktion] = dini_Int(Datei,"Fraktion");
SInfo[playerid][Rang] = dini_Int(Datei,"Rang");
SInfo[playerid][zeiteingesperrt] = dini_Int(Datei,"zeiteingesperrt");
SInfo[playerid][wantedpunkte] = dini_Int(Datei,"wantedpunkte");
SInfo[playerid][pJailed] = dini_Int(Datei,"Jailed");
SInfo[playerid][pPayday] = dini_Int(Datei,"Payday");
SInfo[playerid][pReskept] = dini_Int(Datei,"Reskekt");
SetPlayerWantedLevel(playerid,SInfo[playerid][wantedpunkte]);
//SetSpawnInfo( playerid,0,SInfo[playerid][pskin],1721.3622,-1627.8937,20.2129,136.8591,0,0,0,0,0,0); //XYZ Ändern Muss gemacht werde sonst wirst du bei 0.3D Gekickt!
if(SInfo[playerid][gebannt]==1)
{
SendClientMessage(playerid,0xF50000FF,"Du bist doch vom Server gebannt! Mach ein Entbannungsantrag im Forum!");
Kick(playerid);
}
return 1;
}
Hoffe es kann ei9ner helfenMFG
Moritz
-
Eigentlich ganz einfach, mach einen Timer und lass jede minute -1 runter zählen, und immer eine Abfrage rein packen... if(...
Die Abfrage ungefährt so...
public Timer1()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(SInfo[i][pPayday] == 60)
{
SInfo[i][pReskept] += 1;
SendClientMessage(i,0x0000FFFF," ==================|Kontoauszug|==================");
SendClientMessage(i,0x0000FFFF," Es fallen 200 $ Steuern ab...");
SendClientMessage(i,0x0000FFFF," ==================|Kontoauszug|==================");
}
else
{
SInfo[i][pPayday] += 1;
}
////////Arrest-System
if(SInfo[i][pKnast] == 0)
{
SpawnPlayer(i);
SInfo[i][pKnast] = 0;
SpielerSpeichern(i);
SpielerLaden(i);
}
else
{
SInfo[i][pKnast] -= 1;
SpielerSpeichern(i);
}
}}