if(sscanf(params,"s",IP))
Zu
if(sscanf(params,"s[16]",IP))
Ebenso bei den anderen.
if(sscanf(params,"s",IP))
Zu
if(sscanf(params,"s[16]",IP))
Ebenso bei den anderen.
In sscanf, dort wo du zum Beispiel "iifds" und so stehen hast, sort muss bei s die Länge angegeben werden.
"s[32]"
Falls du nicht weißt wo, poste den Code.
Passiert das auch, wenn du den ganzen Code den du oben unter OnPlayerSpawn stehen hast weg machst?
Wenn nein, hast irgendwo das hier aufgerufen? http://wiki.sa-mp.com/wiki/ForceClassSelection
Wenn es nicht mehr passiert nach dem Entfernen, dann liegt es auf jeden Fall an dem Code der hier ist, ansonsten nicht.
Ich schätze das liegt an deiner SpawnEx Funktion, mehr ist ja da nicht. Zeig die Funktion doch mal.
Hast du den Code schon debuggt, ob er sich irgendwo aufhängt?
NixMuss:
new stringx[128],Text3D:Roller3D[8],NewbieRollerVehs[8];
NewbieRollerVehs[0] = AddStaticVehicleEx(462,1285.5205,-1537.9315,13.0822,254.8293,6,0,-1); // Newbie Roller 0
NewbieRollerVehs[1] = AddStaticVehicleEx(462,1285.4490,-1539.1919,13.0910,259.6533,6,0,-1); // Newbie Roller 1
NewbieRollerVehs[2] = AddStaticVehicleEx(462,1286.5742,-1534.9928,13.0933,244.8195,6,0,-1); // Newbie Roller 3
stock RookiRollerLabel(playerid)
{
for(new pv = 0; pv < sizeof(NewbieRollerVehs); pv++)
{
format(stringx,sizeof(stringx),"NO DM");
Roller3D[pv] = Create3DTextLabel(stringx,0x23FF00FF,0.0,0.0,0.0,25.0,0,1);
Attach3DTextLabelToVehicle(Roller3D[pv],NewbieRollerVehs,0.0,0.0,2.0);
}
return 1;
}
Direkt das Problem kann ich dir nicht sagen, da ich es grade nicht selbst testen kann, aber du könntest dir diesen Editor zur Hand nehmen, und es damit machen, das wird wahrscheinlich der einfachste Weg sein:
[ FILTERSCRIPT ] SetObjectMaterialText
Sieht doch schon besser aus. Ich schätze, du hast die als Integer deklariert.
Im enum
pHerkunft,
Zu
pHerkunft[16],
Falls es dann auch nicht geht, poste den Code mit dem du den Wohnort an die Variable übergibst, der Teil wo der Spieler seinen Wohnort eingibt.
Wie gesagt, das musst du beim Wohnort auch so machen, sonst klappt das mit dem Key nicht.
format(var, 32, "Herkunft: %s\n",PlayerInfo[playerid][pHerkunft]);fwrite(hFile, var);
Zu
format(var, 32, "Herkunft=%s\n",PlayerInfo[playerid][pHerkunft]);fwrite(hFile, var);
%s steht für Text.
Wie speicherst du denn key und Level ab? Genau nach dem Prinzip musst du auch den Ort speichern.
Ansonsten poste mal den Code wie du die zwei abspeicherst.
Der Timer ist zwei mal gestartet worden.
new color[1];
Ein Array mit der Größe 1 ist nicht möglich.
new v_col[2];
GetVehicleColor(vehicleid, v_col[0], v_col[1]);
printf("%d / %d", v_col[0], v_col[1]);
TextDrawSetPreviewVehCol(Textdraw20, v_col[0], v_col[1]);
Was wird geprintet? Wenn 0 / 0 rauskommt, dann funktioniert eben die Include nicht gescheit, oder du hast die nicht richtig eingebaut.
TextDrawSetPreviewModel(Textdraw20, vehicleid);
zu:
TextDrawSetPreviewModel(Textdraw20, GetVehicleModel(vehicleid));
Farbe setzt du hiermit:
http://wiki.sa-mp.com/wiki/TextDrawSetPreviewVehCol
SetPlayerWeaponSkill(playerid,22,Spieler[playerid][Pistol]),
http://wiki.sa-mp.com/wiki/SetPlayerSkillLevel
SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, Spieler[playerid][Pistol]);
if(dialogid == DIALOG_TBANZEITINPUT)
{
//DIALOG_TBANZEITINPUT
if(!response) return 1;
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_TBANZEITINPUT,DIALOG_STYLE_INPUT,"Gebe eine Zeit in Minuten an:","Um den Spieler Timebannen zu können, musst du zunächst die Zeit in Minuten angeben! Minimum: 1Minute","Begründen","Abbrechen");
new TBanZeit = strval(inputtext);
printf("Zeit %d", TBanZeit);
if(TBanZeit < 1)
{
SendClientMessage(playerid,0xADC7E7FF,"Minimale Zeit: 1 Minute. ");
return ShowPlayerDialog(playerid,DIALOG_TBANZEITINPUT,DIALOG_STYLE_INPUT,"Gebe eine Zeit in Minuten an:","Um den Spieler Timebannen zu können, musst du zunächst die Zeit in Minuten angeben! Minimum: 1Minute","Begründen","Abbrechen");
}
SetPVarInt(playerid, "TBanZeit", TBanZeit);
ShowPlayerDialog(playerid,DIALOG_TBANGRUNDINPUT,DIALOG_STYLE_INPUT,"Timeban Grund für den Spieler.","Gebe den Timeban Grund ein.","Grund bestätigen","Abbrechen");//SpielerName(clickedid[playerid]));
return 1;
}
if(dialogid == DIALOG_TBANGRUNDINPUT)
{
if(!response) return 1;
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_TBANGRUNDINPUT,DIALOG_STYLE_INPUT,"Timeban Grund für den Spieler.","Gebe den Timeban Grund ein.","Grund bestätigen","Abbrechen");//SpielerName(clickedid[playerid]));
new pIdName[MAX_PLAYER_NAME],pName[MAX_PLAYER_NAME],string[144];
GetPlayerName(clickedid[playerid],pIdName,sizeof(pIdName));
new TBanZeit = GetPVarInt(playerid, "TBanZeit");
printf("Zeit %i Grund %i",TBanZeit,inputtext);
new a_level;
a_level = sInfo[playerid][alevel];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),"[ADMCMD][TIMEBAN]: %s : %s timebannte %s für %d Minuten. Grund: %s",a_rang[a_level],pName,pIdName,TBanZeit,inputtext);
SendClientMessageToAll(0xADC7E7FF,string);
printf("AdmCmd(TIMEBAN): Admin: %s(%i) - Timebanned Player: %s(%i) - Timeban Reason: %s",pName,playerid,pIdName,clickedid[playerid],inputtext);
pBanner[clickedid[playerid]] = pName;
TBan(clickedid[playerid],TBanZeit);
return 1;
}
Nein, bei den Preview Models geht das nicht. Da musst du die Farbe des Hintergrunds durchsichtig machen, wie ich es oben beschrieben habe.
TBanZeit = inputtext[129];
Das macht keinen Sinn. Du weist der TBanZeit den 129'sten Index der Variable inputtext zu, der ist natürlich 0, außer du gibst 130 Zeichen ein.
TBanZeit = strval(inputtext);
http://wiki.sa-mp.com/wiki/TextDrawBackgroundColor
TextDrawBackgroundColor(TextDraw, 0xFFFFFF00);
new Text:Textdraw0[MAX_PLAYERS];
Hatte mich oben verschrieben. Muss so sein. ^
Wenn noch Fehler kommen, poste bitte den CODE gleich dazu.
Du musst es bei allen machen.
TextDrawBackgroundColor(Textdraw0[playerid], 255);
TextDrawFont(Textdraw0[playerid], 1);
//für alle das [playerid] hin machen.
Und setze den Code zu OnPlayerConnect.
Also ich das so nun machen oder wie ?
Ja.
Du könntest es aber auch einfach testen.