muss du die respektpunkte dann nicht abziehen anstatt gutzuschreiben?
wenn man sich ein level kauf bekommt man +4 punkte. sollte das nicht -4 sein?
Beiträge von Tround
-
-
OnPlayerClickPlayerTextDraw noch posten
-
[ FILTERSCRIPT ] Löschbares Feuer v0.4
-
onplayerupdate ist so ziemlich das schlimmste was man machen kann! punkt.
-
-
mann könnte es auch so machen dann musste nicht immernoch den sitzplatz eingeben:
PutPlayerInVehicle(pID,GetPlayerVehicleID(playerid),leerersitz(GetPlayerVehicleID(playerid)));//das in den /grab befehl einbauen
stock leerersitz(fahrzeug)
{
new sitze[4];
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInVehicle(i,fahrzeug))
{
if(GetPlayerVehicleSeat(i)==0)sitze[0]=1;
if(GetPlayerVehicleSeat(i)==1)sitze[1]=1;
if(GetPlayerVehicleSeat(i)==2)sitze[2]=1;
if(GetPlayerVehicleSeat(i)==3)sitze[3]=1;
}
}
}
for(new a;a<sizeof(sitze);a++)
{
if(sitze[a]==0)return a;
}
return 0;
} -
man kann doch die gleiche variable einfach für alle autos benutzen da diese nur für einen bruchteil einer sekunde benutzt wird kann man sie direkt wieder verwenden beim nächsten auto.
ist auf jeden fall resourcenschonender und funktioniert 100%
ocmd:licht(playerid,params[])
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
if(lights!=1)
{
SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,1,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid,ORANGE,"Du hast das Licht angeschaltet!");
}
else
{
SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,0,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid,ORANGE,"Du hast das Licht ausgeschaltet!");
}
return 1;
} -
das würde nicht gehen
klar würde es gehen..
-
haja stimmt
musst halt für alle machen nicht nur lspd. -
-
probiers mal hiermit :
http://wiki.sa-mp.com/wiki/Strmid
new lspd[MAX_PLAYER_NAME+1];
strmid(lspd,dini_Get("fraktionen.txt","LSPD"),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);wenns eine bessere möglichkeit gibt bitte verbessert mich
-
ich würde dir empfehlen für den spielernamen und fraktionsnamen stocks zu erstellen da du diese abfrage vermutlich mehrmals benutzten wirst.
ocmd:makeleader(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
new pID,fID,stringboy[128];
if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/makeleader [playerid] [fraktionsid]");
SetPVarInt(pID,"Fraktion",fID);
format(stringboy,sizeof(stringboy),"%s hat dich zum Leader der Fraktion: %s gemacht!",SpielerName(playerid),frakname(fID));
SendClientMessage(pID,BLAU,stringboy);
format(stringboy,sizeof(stringboy),"Du hast %s zum Leader der Fraktion: %s gemacht!",SpielerName(pID),frakname(fID));
SendClientMessage(playerid,BLAU,stringboy);
return 1;
}stock SpielerName(playerid)
{
new maxname[MAX_PLAYER_NAME];
GetPlayerName(playerid,maxname,sizeof(maxname));
return maxname;
}stock frakname(frak)
{
new fname[25];
switch(frak)
{
case 0:{fname="Zivilist";}
case 1:{fname="LSPD";}
case 2:{fname="Mafia";}
case 3:{fname="Arzt";}
}
return fname;
} -
mit dini_Get
-
mit global mein ich ausserhalb deines /stats befehls ganz oben im script z.B.
-
new string[700]; new string2[500]; new string3[500]; new string4[100];
es gibt ein zeichenlimit für jeden stock/befehl oder what ever. wenn du zu viele zeichen hast wird dir dieser "warning" angezeigt. bedeutet so viel wie das die letzten zeichen die über dem limit liegen einfach ignoriert werden und nicht verwendet werden.daher kommt auch der fehler "unknown command". wenn du wirklich alle diese zeichen brauchst empfehle ich dir diese global zu definieren denn da gibt es meines wissen kein zeichenlimit.
-
da du in der schleife ein return machst wird ab 0 nicht weitergemacht da es 0 nicht gibt.
probiers mal so:
if(fexist(SDatei))
{
}habs bei mir so getestet und klappt :
#define MAX_CARS 20enum autoenum
{
modelid,
Float:fcx,
Float:fcy,
Float:fcz,
Float:fca,
Frakid,
fcc1,
fcc2,
open,
Opark
}
new FCInfo[MAX_CARS][autoenum];public OnFilterScriptInit()
{
LFC();
}stock LFC()
{
for(new i=0;i<MAX_CARS;i++)
{
new SDatei[64];
format(SDatei,50,"fcars/%d.txt",i);
if(dini_Exists(SDatei))
{
FCInfo[i][modelid] = dini_Int(SDatei,"Model");
FCInfo[i][fcx] = dini_Float(SDatei,"X");
FCInfo[i][fcy] = dini_Float(SDatei,"Y");
FCInfo[i][fcz] = dini_Float(SDatei,"Z");
FCInfo[i][fca] = dini_Float(SDatei,"A");
FCInfo[i][Frakid] = dini_Int(SDatei,"Fraktion");
FCInfo[i][fcc1] = dini_Int(SDatei,"Farbe1");
FCInfo[i][fcc2] = dini_Int(SDatei,"Farbe2");
FCInfo[i][open] = dini_Int(SDatei,"Open");
FCInfo[i][Opark] = dini_Int(SDatei,"Opark");
CreateVehicle(FCInfo[i][modelid],FCInfo[i][fcx],FCInfo[i][fcy],FCInfo[i][fcz],FCInfo[i][fca],FCInfo[i][fcc1],FCInfo[i][fcc2],-1);
}
}
return 1;
} -
tjoa wenn du für jeden spieler einen eigenen textdraw willst musste auch so definieren.
new Text:AdminTX[MAX_PLAYERS]; -
[video]
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.
lololo -
hast du addplayerclass oder setplayerpos verwendet? falls keins von beiden kann der bug auftreten da er nicht weiss wohin mit dir
-
joa so :
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_CTRL_BACK)
{
if(!IsPlayerInAnyVehicle(playerid))
{
TOROFFNEN(playerid);
}
}
if(newkeys & KEY_CROUCH)
{
if(IsPlayerInAnyVehicle(playerid))
{
TOROFFNEN(playerid);
}
}
return 1;
}
stock TOROFFNEN(playerid)
{
if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7 || IsACop(playerid) || IsPlayerInFrac(playerid, 22))
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, 1285.7044677734, -2056.2905273438, 60.493286132813))
{
if(TorP == false)
{
MoveObject(PTor, 1285.7044677734, -2056.2905273438, 54.938991546631, 3.0);
SendClientMessage(playerid, COLOR_GREEN, "Tor geöffnet");
TorP = true;
}
else if(TorP == true)
{
MoveObject(PTor, 1285.7044677734, -2056.2905273438, 60.493286132813, 3.0);
SendClientMessage(playerid, COLOR_RED, "Tor geschlossen");
TorP = false;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du bist zu weit vom Tor entfernt!");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied der Regierung!");
}
return 1;
}