ich kann ja nochmal screens dafür anfertigen.
Beiträge von Zunno
-
-
ja muss man

-
Sry, kann passieren

-
public OnPlayerConnect(playerid)
{
new string[60], sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername);
format(string, sizeof(string), "%s ist Online gekommen",sendername);
SendClientMessageToAll(0x00FFFFFF,string);
return 1;
}Hier bitteschön

/Edit: Einrückung verbessert
-
preis = dtcKaufliste[ah][dtc_CarPreis];
Desweiteren musst du gucken, du lässt in der Schleife eine weitere Schleife durchlaufen welche die Daten auf eine Variable packen. (Preis und car)
Diese werden aber immer überschrieben da es nur ein wert speichern kann, und du diese nicht sofort auslesen lässt. somit kommt nur der "Roller" bei raus.
Ich würde dir raten die Funktion nochmal von grund auf zu überdenken^^ -
for(new pv = 0; pv < sizeof(AutohausVehs); pv++)
{
new car;
new preis;
for(new ah = 0; ah < sizeof(dtcKaufliste);ah++)
{
if(car == 0)
{
car = dtcKaufliste[ah][dtc_CarModel];
preis = dtcKaufliste[ah][dtc_CarModel];
}
}
new s[100];
new Text3D: vehicle3Dtext;
format(s, sizeof(s), "Autohaus\nFahrzeug: %s\nPreis: %d",VehicleName[car-400],preis);
vehicle3Dtext = Create3DTextLabel( s, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle( vehicle3Dtext,AutohausVehs[pv] , 0.0, 0.0, 0.0);
}verusch es mal so,
LG, Zunno
-
-
wo definierst du VehicleName?
-
-
-
wenn im Textdraw nur eine Leerstelle steht, siehst du logischer weise auch nix

-
was willst du mit einem VServer wenn du nicht weißt wofür du ihn benutzen willst?
Wenn du nicht weißt was du da drauf laufen lassen willst, dann würde ich mir keinen Vserver anschaffen.
-
so z.B.
ocmd:gate(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid,10,1589, -1638, 14.800000190735)) //LSPD GaragenTor
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid, 2))
{
MoveObject(tor[2],1589+8, -1638, 14.800000190735,2);
SendClientMessage(playerid,Gelb,"Das Tor schließt in 7 Sekunden");
SetTimer("LSPDGaragenGateClose",7000,false);
return 1;
}
return 1;
}
return 1;
} -
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/mv",true) == 0)
{
if(PlayerToPoint(25.0, playerid,3025,-1336.8866,13.3352))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
SetTimer("GateClose", 3000, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
MoveObject(LCNTor,1270.9865722656, -1337.7030029297, 5.112417221069, 2.0);
SendClientMessage(playerid, COLOR_GRAD1,"** Du hast das Tor geöffnet, es schließt sich automatisch wieder!");
}
else SendClientMessage(playerid, COLOR_GRAD1, "** Du bist kein Beamter!");
}
}
if(strcmp(cmdtext, "/motor",true) == 0)
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
new engine,lights,alarm,doors,bonnet,boot,objective;
new vid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(vid != INVALID_VEHICLE_ID)
{
if(engine == VEHICLE_PARAMS_ON)
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
}
else
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
}
}
return 1;
}
return 1;
} -
Versuch es so:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/mv",true) == 0)
{
if(PlayerToPoint(25.0, playerid,3025,-1336.8866,13.3352,235))
{
if(PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pLeader] == 0)
{
SetTimer("GateClose",3000 , 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
MoveObject(LCNTor,1270.9865722656, -1337.7030029297, 5.112417221069, 2.0);
SendClientMessage(playerid, COLOR_GRAD1,"** Du hast das Tor geöffnet, es schließt sich automatisch wieder!");
}
else SendClientMessage(playerid, COLOR_GRAD1, "** Du bist kein Beamter!");
}
}
if(strcmp(cmdtext, "/motor",true) == 0)
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
new engine,lights,alarm,doors,bonnet,boot,objective;
new vid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(vid != INVALID_VEHICLE_ID)
{
if(engine == VEHICLE_PARAMS_ON)
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
}
else
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
}
}
return 1;
}
return 1;
}/Edit: Einrückung verbessert
-
Unter OnGameModeInit() musst du AddPlayerClass einfügen.
AddPlayerClass - Wiki -
hier musst du dann natürlich auch das Playerid rausnehmen:
dini_IntSet(Datei(),"Geld",pInfo[playerid][pmoney]); -
Füg es mal so ein:
ocmd:makeadmin(playerid,params[])
{
if(!IsPlayerAdmin(playerid) && Player[playerid][admin] < 4) return SendClientMessage(playerid, COLOR_RED,"Dafür brauchst du Admin Level 4!");
new pID,alevel;
if(sscanf(params,"ud",pID,alevel)) return SendClientMessage (playerid,COLOR_RED,"USAGE: /makeadmin [playerid] [adminlevel]");
if(!IsPlayerConnected(pID)) return SendClientMessage (playerid,COLOR_RED,"Niemand ist online mit dieser ID!");
new string[128],string2[128],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
Player[pID][admin] = alevel;
GetPlayerName(playerid,aname,sizeof(aname));
GetPlayerName(pID,name,sizeof(name));
format(string,sizeof(string),"Du hast das Admin Level von %s auf %d gesetzt!",name,alevel);
format(string2,sizeof(string2),"Server Besitzer %s hat dein Admin Level auf %d gesetzt!",aname,alevel);
SendClientMessage(playerid,COLOR_GREEN,string);
SendClientMessage(pID,COLOR_GREEN,string2);
return 1;
}/Edit: Dann kannst du dich ins RCON Einloggen und mit /makeadmin dich zum Admin machen

LG, Zunno
-
Öhm ja....
das was bei USAGE: /makeadmin [playerid] [adminlevel] steht bitte mal großräumig kopieren und hier mit den pwn BB-Code einfügen.. -
Der Chat unterstützt nur soviel

Aber die Arrays kann man groß machen wie man sie benötigt.Edit:
Beispielt ein MySQL-Query kann auch schonmal über 500 Zeichen verbrauchen und das funktioniert auch
Wenn man diesen Query aber z.B. per SendClientMessage ausgeben würde, würde er nur 128 Zeichen anzeigen