welche zeile ist 42341?
Beiträge von Tround
-
-
von zeile 59 - 62 machst du zu viele klammern zu..
wenn du es richtig einrückst siehst du den fehler..
if(dialogid == DIALOG_1)
{
if(response)
{
switch(listitem)
{
case 0:
{
if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
{
ShowPlayerDialog(playerid,DIALOG_NUMBERPLATE,DIALOG_STYLE_INPUT,"Nummernschild vergabe","Du kannst deim Fahrzeug nun ein Nummernschild geben\nNutze die Vorlage: YgR-xxxx\nVerwende die x als deine Zahlen.","Auswählen","Abbrechen");
return 1;
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du musst den richtigen Schlüssel ausgewählt haben!");
return 1;
}
}
case 1:
{
new str[128];
SendClientMessage(playerid,COLOR_WHITE,"Ein Polizist wurde Informiert.");
format(str,sizeof(str),"[HQ]: %s[ID:%d] benötigt im LSPD einen Polizisten.",GetName(playerid),playerid);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(SpielerInfo[i][sMember] == 1)
{
SendClientMessage(i,COLOR_BLUE,str);
}
}
}
case 2:
{
new bailprice = GetPlayerWantedLevel(playerid) * 12000;
new string[128];
new giveplayer[MAX_PLAYER_NAME];
GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
if(GetPlayerWantedLevel(playerid) < 1)
{
SendClientMessage(playerid, COLOR_GREY, "Officer 1: Sie haben keine Wanteds!");
return 1;
}
ResetPlayerWeaponStats(playerid);
SpielerInfo[playerid][pJailTime] = GetPlayerWantedLevel(playerid) * 10;
SetPlayerInterior(playerid, 6);
new randomx = random(sizeof(LSPD_Jail));
SetPlayerPos(playerid, LSPD_Jail[randomx][PosX], LSPD_Jail[randomx][PosY], LSPD_Jail[randomx][PosZ]);
SetPlayerFacingAngle(playerid, LSPD_Jail[randomx][xFA]);
SpielerInfo[playerid][pJailed] = 1;
SpielerInfo[playerid][pArrested] += 1;
SetPlayerWantedLevel(playerid, 0);
format(string, sizeof(string), "Officer Hartmut hat %s im LSPD verhaftet!", giveplayer);
OOCNews(COLOR_LIGHTRED, string);
JailPrice[playerid] = bailprice;
format(string, sizeof(string), "Du bist für %d Minuten im Knast. Kaution: $%d", SpielerInfo[playerid][pJailTime], JailPrice[playerid]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
}//hier
}//hier
}//hier????
case 3:
{ -
normalerweise wird nachdem man auf erstellen drückt ein weiterer dialog geöffnet. wird dieser wenigstens angezeigt?
falls nicht schau mal nach ob die dialog ids vielleicht mit bereits bestehenden dialogen übereinstimmen. -
habs auch grad getestet. sieht top aus!
-
Da muss auch kein %s hin!
Ein einfachs "s" reicht aus.
wo siehst du da ein %s
und es kommt ein "i" hin -
frakid ist eine zahl und wird als Integer angegeben "i" . "s" steht für string..
if(sscanf(params,"ui",pID,frakid))return SendClientMessage(playerid,0xFF0000,"FEHLER: /setfrak [id] [frakid]"); -
ich denke mal das liegt an deinem return in der schleife..
for(new i=0; i<sizeof(NewsCar)+1; i++)//+1 damit die schleife auch bei einer zahl über den newscars wert ankommt. damit in der schleife bei i==sizeof(newscar) returnt werden kann.
{
if(i==sizeof(NewsCar))return Fehler(playerid,"Du bist in keinem News Fahrzeug!");
if(GetPlayerVehicleID(playerid)!=NewsCar[i])continue;
new text[128],nr[128];
if(sscanf(params,"s",text)) return SendClientMessage(playerid,Grau,"[Benutze]: /news [Text]");
format(nr,sizeof(nr),"NR %s: %s",GetName(playerid),text);
SendClientMessageToAll(Orange,nr);
return 1;
}
keine garantiekannst aber auch einen stock erstellen dann ist es etwas übersichtlicher wie ich finde
stock IsPlayerInNewsCar(playerid)
{
for(new i=0;i<sizeof(NewsCar);i++)
{
if(GetPlayerVehicleID(playerid)==NewsCar[i])return 1;
}
return 0;
}
if(IsPlayerInNewsCar(playerid)==0)return Fehler(playerid,"Du bist in keinem News Fahrzeug!"); -
wenn du mit "streifen" die neon röhren meinst diese aber nicht leuchten liegt es am wetter!
-
haste dir mal die readme angeschaut? da steht eigtl alles drin
readme -
new Text:Tacho[MAX_PLAYERS];
-
code?
-
kannst auch einen befehl dafür benutzen um dich zu den kords zu porten
ocmd:gehezukord(playerid,params[])
{
new Float:floatvar[3];
if(sscanf(params,"fff",floatvar[0],floatvar[1],floatvar[2]))return SendClientMessage(playerid,BLAU,"Info: {FFFFFF}/gehezukord [x] [y] [z]");
SetPlayerPos(playerid,floatvar[0],floatvar[1],floatvar[2]);
return 1;
} -
hatte damals auch das problem. es lag daran das JunkBuster in der server.cfg falsch geschrieben war. würde mal die server.cfg anschauen und gucken ob die filterscripts richtig geschrieben sind.
groß/kleinschreibung ist wichtig -
zeile dazu währe nützlich...
-
unter OnPlayerStateChange abfragen
if(newstate==PLAYER_STATE_PASSENGER) --> if(GetVehicleModel...das mit dem timer geht so nicht..
SetTimer("busfahrt",1000*10,true);
bedeutet so viel wie jedes mal wen jemand keine fahrkarte hat wird ein neuer timer gestartet. der sich obendrein auch noch immer und immer wieder wiederhohlt.
um einen timer für einen spieler zu erstellen verwende SetTimerEx http://wiki.sa-mp.com/wiki/SetTimerEx
bei interval eine 0/false angeben sonst wird der public vom timer immer und immerwieder aufgerufen
würde aber von einem timer ganz abraten da es einfacher und ressourcenschonender geht -
@YizOP_
du kannst die einschränkung unter ondialogresponse ---> case DIALOG_OBJECTERSTELLEN: ---> if(strval(inputtext)<2000||strval(inputtext)>20000)return... einstellen
aber ich würde davon abraten objekte unter 612 zu erstellen da gamecrashes auftauchen können.@Arendium
das sind keine textdraws .. das ist eine funktion von samp http://wiki.sa-mp.com/wiki/EditObject -
@patiiboy
die einzige seite die ich kenne ist diese hier http://www.k-dst.de/
@Arendium
meinst du die dialoge ? wie gesagt hab ich keine textdraws verwendet.
und meine fs sind zu 100% selfmade. ich denke das würde man auch erkennen wenn man die beiden scripts vergleichen würde. -
http://www.sa-mp.com/download.php
dort sind die neuesten includes dabei unter pawno/includes.. -
haste die neuesten includes von 0.3e?
ZitatOnPlayerEditObject
SetObjectMaterialText
OnPlayerEditObjectThis callback was added in SA-MP 0.3e and will not work in earlier versions!
-
da die fehler ab zeile 58000 sind nehme ich an das du es in deinen gamemode einbauen willst.. dann musste die sachen von ondialogresponse in deinen public verschieben. einen 2ten public mit gleichen namen geht nicht.
das gleiche gilt für OnPlayerKeyStateChange.. und isnummeric kannste löschen da du es anscheinend schon im script hast.