habs jetzt so
Klappt es jetzt oder immer noch nicht?
habs jetzt so
Klappt es jetzt oder immer noch nicht?
Schick mal bitte den Code wie du es gerade hast.
Ich glaube das hilft dir weiter: "strfind"
Kleines Bespiel:
if(strfind("www.xxxxx.de", ".de", true) != -1)
{
SendClientMessage(playerid,-1, ".de wurde gefunden.");
}
Ich hoffe ich konnte dir weiter helfen. (Würde mich über einen Daumen hoch (Signatur) sehr freuen)
Mit freundlichen Grüßen German_ScripterHD
Dann zeig mal wie du sie definierst, wo du sie createst, anzeigst, destroyst/hidest
Code:
Definieren der PlayerTextDraws:
enum GangTextDraw{
PlayerText:Box,
PlayerText:Fraktion1,
PlayerText:Fraktion2,
PlayerText:PunkteFraktion1,
PlayerText:PunkteFraktion2,
PlayerText:Zeit,
PlayerText:GebietName,
PlayerText:Abstandhalter1,
PlayerText:Abstandhalter2
};
new GangTD[MAX_PLAYERS][GangTextDraw];
new PlayerText:SpectateMenu[MAX_PLAYERS][8],
PlayerText:TuningBuy[MAX_PLAYERS][14],
PlayerText:MapName2[MAX_PLAYERS],
//PlayerText:MapName1[MAX_PLAYERS],
PlayerText:Textdraw0,
PlayerText:Textdraw1,
PlayerText:Textdraw2,
PlayerText:Textdraw3,
PlayerText:Textdraw4,
PlayerText:Textdraw5,
PlayerText:Textdraw6,
PlayerText:Textdraw7,
PlayerText:Textdraw8,
PlayerText:Textdraw9,
PlayerText:Textdraw10,
PlayerText:Textdraw11,
PlayerText:Textdraw12,
PlayerText:Textdraw13,
PlayerText:Textdraw14,
PlayerText:Textdraw15,
PlayerText:Textdraw16,
PlayerText:Textdraw17,
PlayerText:Textdraw18,
PlayerText:Textdraw19,
PlayerText:Textdraw20,
PlayerText:Textdraw21,
PlayerText:Textdraw22,
PlayerText:Textdraw23,
PlayerText:Textdraw24,
PlayerText:Textdraw25,
PlayerText:Textdraw26,
PlayerText:Textdraw27,
PlayerText:Textdraw28,
PlayerText:SupAnzeige[MAX_PLAYERS],
PlayerText:SupAnzeige1[MAX_PLAYERS],
PlayerText:fpsanzeige[MAX_PLAYERS],
PlayerText:fpsanzeige1[MAX_PLAYERS],
PlayerText:hpanzeige[MAX_PLAYERS],
PlayerText:ServerLogin0[MAX_PLAYERS],
PlayerText:ServerLogin1[MAX_PLAYERS],
PlayerText:ServerLogin2[MAX_PLAYERS],
PlayerText:ServerLogin3[MAX_PLAYERS],
PlayerText:ServerLogin4[MAX_PLAYERS],
PlayerText:ServerLogin5[MAX_PLAYERS],
PlayerText:ServerLogin7[MAX_PLAYERS],
PlayerText:ServerBoden0[MAX_PLAYERS],
PlayerText:ServerBoden1[MAX_PLAYERS],
PlayerText:ServerBoden2[MAX_PLAYERS],
PlayerText:ServerBoden3[MAX_PLAYERS],
PlayerText:ServerBoden4[MAX_PLAYERS],
PlayerText:AFK_Label[MAX_PLAYERS][8],
PlayerText:UhrzeitText[MAX_PLAYERS],
PlayerText:tachobox[MAX_PLAYERS],
PlayerText:tachobox1[MAX_PLAYERS],
PlayerText:tachofahrzeugname[MAX_PLAYERS],
PlayerText:tachokmh[MAX_PLAYERS],
PlayerText:tachobox2[MAX_PLAYERS],
PlayerText:tachokmstand[MAX_PLAYERS],
PlayerText:tachokraftstoffart[MAX_PLAYERS],
PlayerText:tacholiter[MAX_PLAYERS],
PlayerText:tachozustand[MAX_PLAYERS],
PlayerText:Money_Anzeige[MAX_PLAYERS][6],
PlayerText:Tutorial_Anzeige[MAX_PLAYERS][4];
Alles anzeigen
OnPlayerConnect:
ServerBoden0[playerid] = CreatePlayerTextDraw(playerid,-25.000000, 429.000000, "_");
PlayerTextDrawBackgroundColor(playerid,ServerBoden0[playerid], 255);
PlayerTextDrawFont(playerid,ServerBoden0[playerid], 1);
PlayerTextDrawLetterSize(playerid,ServerBoden0[playerid], 0.500000, 3.000000);
PlayerTextDrawColor(playerid,ServerBoden0[playerid], -1);
PlayerTextDrawSetOutline(playerid,ServerBoden0[playerid], 0);
PlayerTextDrawSetProportional(playerid,ServerBoden0[playerid], 1);
PlayerTextDrawSetShadow(playerid,ServerBoden0[playerid], 1);
PlayerTextDrawUseBox(playerid,ServerBoden0[playerid], 1);
PlayerTextDrawBoxColor(playerid,ServerBoden0[playerid], 83886253);
PlayerTextDrawTextSize(playerid,ServerBoden0[playerid], 815.000000, 0.000000);
ServerBoden1[playerid] = CreatePlayerTextDraw(playerid,0.000000, 428.000000, "Ä");
PlayerTextDrawBackgroundColor(playerid,ServerBoden1[playerid], 255);
PlayerTextDrawFont(playerid,ServerBoden1[playerid], 1);
PlayerTextDrawLetterSize(playerid,ServerBoden1[playerid], 0.500000, -0.000000);
PlayerTextDrawColor(playerid,ServerBoden1[playerid], -1);
PlayerTextDrawSetOutline(playerid,ServerBoden1[playerid], 0);
PlayerTextDrawSetProportional(playerid,ServerBoden1[playerid], 1);
PlayerTextDrawSetShadow(playerid,ServerBoden1[playerid], 1);
PlayerTextDrawUseBox(playerid,ServerBoden1[playerid], 1);
PlayerTextDrawBoxColor(playerid,ServerBoden1[playerid], -8912641);
PlayerTextDrawTextSize(playerid,ServerBoden1[playerid], 820.000000, 1.000000);
//Alle anderen TextDraws werden genau so erstellt.
Alles anzeigen
Also erstellt werden die TextDraws je nach dem, beim Login werden die TexDrwas bei OnPlayerConnect erstellt und nach dem Login wieder druch andere ersetzt. Andere werden nach dem Login angezeigt mache werden beim einsteigen ins Fahrzeug angezeigt und mache werden auch nur via. Befhel angezeigt. PlayerTextDrawHide wird auch wieder je nach dem aufgerufen...
Erstellt werden aber alle bei OnPlayerConnect,
Ich hoffe ihr könnt mir helfen
Edit #1:
Problem besteht weiterhin!
1. Frage bevor du da jetzt wie wild rum bastelst . Was sind es für textdraw's sprich was sollen sie anzeigen - Server oder Spielerbezogene Anzeige.
Es handelt sich dabei um PlayerTexDraws also Spieler bezogene TextDraws.
2. Frage aber eher unrellevanter. Kreuzen sich TextDrawID' definitionen?
Wie meinst du das mit dem kreuzen?
Hallo Brotfische
Ich stehe mal wieder vor einem großem Problem was ich mir selber nicht erklären kann und auch nicht beheben kann. Nun hoffe ich das ihr mir weiter helfen könnt.
Undzwar, der Server startet, Script wird ausgeführt, Spieler 1 connected, Spieler 2 connected und Spieler 3 connected. Bei Spieler 1&2 werden die TextDraws geladen und alle TextDraws sind auch für diese Spieler sichbar, wenn jetzt Spieler 3 connected sind für ihn semtliche TextDraws nicht sichbar, genau wie für 4,5,6,7,8... usw.
Noch eine Information: Wenn ich z.B auch 2 mal connecte, dann wird mir alles angzeigt, wenn ich nach dem 2. "Login" wieder disconnecte und logischer Weiße das 3.mal auf dem Server connecte, sind für mich semtliche TextDraws nicht sichtbar. Ich habe keine Ahnung an was das liegen könnte und habe mich schon zu tote gegooglt aber nichts passendes gefunden nun hoffe ich auf eure Hilfe.
Mit freundlichen Grüßen German_ScripterHD
Neu laden lassen.
D.h. alle Variablen resetten und dann das System laden.
Wenn du ein Beispiel brauchst:
pastebin.com/X0CHRsg8
Vielen Dank
Und jetzt nochmal auf deutsch und in vollen Sätzen damit unterentwickelte Menschen wie ich auch etwas verstehen
Sie werden richtig geladen & gespeichert sowie INGame instant erstellt. Aber man kann den Teleporter erst nach dem Serverneustart .... ??
Was willst du sofort ändern?
Sorry das ich mich vorhin so komisch ausgedrückt habe, war vorhin beim schreiben etwas abgelenkt. Es sollte eigentlich heißen
"Die Teleporter werden richtig geladen und auch richtig Ingame erstellt, doch leider kann man den Teleporter erst nach dem Serverneustart benutzen... wie kann ich das ändern das ich ihn sofort benutzen kann ?"
Aber trotzdem vielen Dank an euch beide
Hallo Curious,
Meine Meinung zu der Map "Klein aber Fein" ich habe an der Map nichts auszusetzten somit bekommst du von mir 10/10 Brotfischen.
Mit freundlichen Grüßen German_ScripterHD
Hallo Brotfische
Heute habe ich mir ein kleines InGame Teleorter System gecodet. Die Teleporter werden richtig geladen und auch richtig Ingame erstellt, doch leider kann man den Teleporter erst nach dem Serverneustart... wie kann ich das ändern das ich ihn sofort ändern kann ? (Ich bin echt am verzweifeln. Ich hoffe einer von euch kann mir helfen )
Codes:
ocmd:saveteleporter(playerid,params[])
{
new Float:x,Float:y,Float:z, virwor, inter;
if(!isAdmin(playerid,4))return SendClientMessage(playerid,C_Error,noaccess);
if(createTeleporter[playerid]!=1)return SendClientMessage(playerid,C_Error,"Erstelle erst einen Teleporter mit /createteleporter.");
if(sscanf(params,"dd",virwor,inter))return SendClientMessage(playerid,COLOR_GRAY,"Verwendung: /saveteleporter [VirtualWorld (Standart: 0)] [Interior] Tipp: /getvw");
if(createTele_X[playerid]==0 && createTele_Y[playerid]==0 && createTele_Z[playerid]==0)return SendClientMessage(playerid,COLOR_GRAY,"Fehler! melde diesen sofort an den Scripter!");
GetPlayerPos(playerid,x,y,z);
new query[256];
format(query, sizeof(query),"INSERT INTO teleporter (ex, ey, ez, ix, iy, iz, virtualworld, interiorid) VALUES ('%f', '%f', '%f','%f', '%f', '%f', '%d', '%d')",createTele_X[playerid], createTele_Y[playerid], createTele_Z[playerid], x, y, z, virwor, inter);
mysql_function_query(dbhandle, query, false, "", "");
AddTeleporter(createTele_X[playerid], createTele_Y[playerid], createTele_Z[playerid], x, y, z, inter, virwor,"Eingang","Ausgang");
createTeleporter[playerid]=0, saveTeleporter[playerid]=0, createTele_X[playerid]=0, createTele_Y[playerid]=0, createTele_Z[playerid]=0;
SendClientMessage(playerid,COLOR_WHITE,"Der Teleporter wurde erstellt.");
return 1;
}
ocmd:createteleporter(playerid,params[])
{
if(!isAdmin(playerid,4))return SendClientMessage(playerid,C_Error,noaccess);
if(createTeleporter[playerid]==1)return SendClientMessage(playerid,C_Error,"Du erstellst bereits schon eine Teleporter!");
createTeleporter[playerid]=1;
GetPlayerPos(playerid,createTele_X[playerid],createTele_Y[playerid],createTele_Z[playerid]);
SendClientMessage(playerid,COLOR_WHITE,"Erstelle nun den zweiten \"Enterpunkt (Interior)\" & bestätige mit \"/saveteleporter\".");
saveTeleporter[playerid]=1;
return 1;
}
stock AddTeleporter(Float:x,Float:y,Float:z,Float:iix,Float:iiy,Float:iiz,inti,v,eL[],exL[])
{
iID ++;
Inte[iID][ex] = x;
Inte[iID][ey] = y;
Inte[iID][ez] = z;
Inte[iID][ix] = iix;
Inte[iID][iy] = iiy;
Inte[iID][iz] = iiz;
Inte[iID][intid] = inti;
Inte[iID][vw] = v;
format(Inte[iID][eLabel],24,"%s",eL);
format(Inte[iID][exLabel],24,"%s",exL);
CreatePickup(iPickup,1,x,y,z,0);
CreatePickup(iPickup,1,iix,iiy,iiz,v);
Create3DTextLabel(Inte[iID][eLabel],LabelColor,x,y,z,15,0,1);
Create3DTextLabel(Inte[iID][exLabel],LabelColor,iix,iiy,iiz,15,0,1);
ExistTeleporter += 1;
return 1;
}
Alles anzeigen
Hallo,
Du kannst z.B einen Dialog erstellen wo du die Scheine reinschreibst und man dann den Schein anklicken kann und durch das anklicken kaufen kann. (Dialog erstellen])
Du kannst aber auch ein Befehl schreiben wo mach dann z.B "/buylicenses waffenschein" eintippen muss.
Hier ein Beispiel:
ocmd:buylicenses(playerid, params[])
{
if(!strcmp(params, "waffenschein", false))
{
//dein code
}
if(!strcmp(params, "angelschein", false))
{
//dein code
}else{
SendClientMessage(playerid, C_Blau, "Verwendung: /buylicenses angelschein | waffenschein");
return 1;
}
return 1;
}
Alles anzeigen
MfG
Also so sollte das Fahrzeug nicht schneller als 400 fahren:
if (IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(newkeys & KEY_FIRE)
{
if(EnableBoast[playerid] == 1)
{
new Float:vx,Float:vy,Float:vz;
if(getPlayerSpeed(playerid) > 400)return 1;
GetVehicleVelocity(GetPlayerVehicleID(playerid),vx,vy,vz);
SetVehicleVelocity(GetPlayerVehicleID(playerid), vx * 1.8, vy *1.8, vz * 1.8);
}
}
}
stock getPlayerSpeed(playerid)
{
new Float:x, Float:y, Float:z, Float:rtn;
if(IsPlayerInAnyVehicle(playerid))
{
GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z);
}
else
{
GetPlayerVelocity(playerid, x, y, z);
}
rtn = floatsqroot(x*x + y*y + z*z);
return floatround(rtn * 100 * 1.61);
}
Alles anzeigen
Funktioniert, was war der Fehler :D?
Du hast das ganze System mit der for-Schleife geschrieben, wenn "FrakAutos" z.B auf "500" eingestellt ist, dann geht er 500 mal durch die Fahrzeug bzw. Attacht das Objekt eben 500 mal an das Fahrzeug.
Hab einfach die for-Schleife entfernt
(Würde mich über einen Like in meiner Signatur freuen )
Versuche es mal so:
ocmd:test(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid), modellid = GetVehicleModel(vehicleid);
if(Attach[playerid] == false) return SendClientMessage(playerid, error, "Du bist in keinem Polizeiauto!");
switch(modellid){
case 411:{
SendClientMessage(playerid, info, "Infernus");
AttachObjectToVehicle(VehInfo[vehicleid][pSirene], GetPlayerVehicleID(playerid), -0.375000,-0.075000,0.749999,0.000000,0.000000,0.000000);//Infernus
}
case 560:{
SendClientMessage(playerid, info, "Sultan");
AttachObjectToVehicle(VehInfo[vehicleid][pSirene], GetPlayerVehicleID(playerid), -0.375000,-0.075000,0.879999,0.000000,0.000000,0.000000);//Sultan
}
case 541:{
SendClientMessage(playerid, info, "Bullet");
AttachObjectToVehicle(VehInfo[vehicleid][pSirene], GetPlayerVehicleID(playerid), -0.375000,-0.075000,0.684000,0.000000,0.000000,0.000000);//Bullet
}
}
return 1;
}
Alles anzeigen
So müsste es klappen
Füge es mal bitte so ein:
print("[OnPlayerConnect] RemoveBuildingForPlayer werden geladen...");
RemoveBuildingForPlayer(playerid, 1676, 1941.6563, -1778.4531, 14.1406, 0.25);
print("[OnPlayerConnect] RemoveBuildingForPlayer - Step 1");
RemoveBuildingForPlayer(playerid, 1676, 1941.6563, -1774.3125, 14.1406, 0.25);
print("[OnPlayerConnect] RemoveBuildingForPlayer - Step 2");
RemoveBuildingForPlayer(playerid, 1676, 1941.6563, -1771.3438, 14.1406, 0.25);
print("[OnPlayerConnect] RemoveBuildingForPlayer - Step 3");
RemoveBuildingForPlayer(playerid, 1676, 1941.6563, -1767.2891, 14.1406, 0.25);
print("[OnPlayerConnect] RemoveBuildingForPlayer wurden geladen...");
Wenn du das eingefügt hat, connectest du bitte auf deinen Server und schickst bitte was im server_log bzw. in der Konsole steht.
MfG
Wo hast du die RemoveBuildingForPlayer eingefügt?
Hallo luiluiboy014,
Hey leute habe ein problem Mit den tanksäule die weden nicht gelöscht die anderen sachen schon nur die nicht weiß einer warum MfG luiluiboy014
Leider kann ich anhand dieser Erklärung dein Problem nicht ganz verstehen.
Bitte lese dir folgenden Thread durch : Probleme richtig erklären.
MfG
Versuche mal bitte den Code, sollte es nicht klappen versuche das ganze mal zu printen.
OnPlayerDisconnect:
stock:
Also ich erstelle die Objekte mit der Funktion CreateObject und somit müssten das Objekt ja in allen Virtuellen Welten sichtbar sein.
Okay, ich schaue mir das gleich nochmal genauer an, aber warum benutzt du nicht die neuste Version des Mysql Plugins?