wie muss ich es denn dann machen?
Beiträge von Blackshadowscript
-
-
also leider geht das mit den abschliessen leider nicht
-
Ich danke dir Jeffry für deine sehr gute hilfe.
-
Guten Tag.
Ich habe grade gemerkt das die Spieler nicht zurück gesetzt werden.
resetPlayer(playerid)
{
for(new i=0; i<sizeof(sInfo[]); i++)
{
sInfo[playerid][playerInfo:i]=0;
}
return 1;
}savePlayer(playerid);
resetPlayer(playerid);savePlayer(playerid)
{
if(sInfo[playerid][eingeloggt]==0)return 1;
//speichern level,money
new query[300];
format(query,sizeof(query),"UPDATE user SET level ='%i',money='%i',alevel='%i',,fraktion='%i',,rang='%i' WHERE id='%i' ",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],GetPlayerMoney(playerid),GetPlayerScore(playerid),sInfo[playerid][rang],sInfo[playerid][db_id]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}ich weiss einfach nicht wieso es nicht geht
-
Ich will ja eigentlich so machen Jeffry wenn ich am Auto bin das erst dann die Türen abgeschlossen/aufgeschlossen werden können
-
Ich werde nicht ganz schlau raus
-
Guten Tag.
Folgendes Problem:
Mein Befehl für abschliessen der Autotüren geht laut ein fehler nicht und weiss auch nicht wie ich es beheben soll.
Bfehel:
ocmd:abschliessen(playerid,params[])
{
new Float:x,Float:y,Float:z;
if(!IsPlayerInRangeOfPoint(playerid,3,x,y,z)
new vID=GetPlayerVehicleID(playerid),
motor,
licht,
alarm,
tueren,
bonnet,
boot,
objective;
//abschliessen:
GetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
if(tueren==1){
tueren = 0;
}
else
{
tueren = 1;
}
SetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
SendClientMessage(playerid,blau,"Du hast die Türen aufgeschlossen/abgeschlossen");
return 1;
}Fehlermeldung:
samplernen.p(836) : error 001: expected token: ")", but found "new"
samplernen.p(836) : error 003: declaration of a local variable must appear in a compound block
samplernen.p(836) : error 017: undefined symbol "vID"
samplernen.p(836) : fatal error 107: too many error messages on one line -
Meine Art geht auch da man es mit enum machen kann. Es ist zwar nicht so eine optimale variante da man über 1.000 Objekte laden muss und somit der Server läggen würden.
-
davidlg01 ich weiss nicht mit was du deine Befehel machen willst.
Es gibt einmal das Standard vom Pwn her schon mit den Befehle.
Es gibt auch ocmd womit du deine befehle machen kannst.
Beispiel:
ocmd:reparieren(playerid,params[])
{
if(!IsPlayerInAnyVehicle(playerid))
return 1;
new istimpunkt=false;
for(new i=0; i<sizeof(repair); i++)
{
if(!IsPlayerInRangeOfPoint(playerid,2,repair[i][r_x],repair[i][r_y],repair[i][r_z]))
continue;istimpunkt=true;
}if(istimpunkt)
{
new vID= GetPlayerVehicleID(playerid);
SetVehicleHealth(vID,1000);
RepairVehicle(vID);
GivePlayerMoney(playerid,-60);
SendClientMessage(playerid,hellgrün,"Du hast dein Fahrzeug für 60$Repariert!");
}
else
{
SendClientMessage(playerid,hellgrün,"Du bist nicht im Reparier-Punkt.");
}return 1;
}Das war zu deiner ersten Fragen die Antwort.
Hier nun zu deiner 2Frage: Wie man Objekte wo hinsetzet:
Erstell dir ein Enum für die Objekte und die Koordinaten und dann machst du ein Befehl.
Befehl Beispiel:
ocmd:Baustelleerstellen(playerid,params[])
{
new oID,ooID;
return SendClientMessage(playerid,farbe,"INFO:Baustellebauen objektid benutzen");
if(oID1||oID|>6525)return SendClientMessage(playerid,farbe,"Unglültiges Objektid!");
CreateObject(oID,x,y,z,x_r,y_r,z_r);
SendClientMessage(playerid,farbe,"Sie haben eine Baustelle erstellt");
return 1;
}Falls ich mich verschrieben haben sollte so wie falsche Information gegeben haben sollte entschuldige ich mich schon mal.
Ich hoffe Jeffry schaut in verlauf des Wochenendes mal hier rein. -
das connecten mit server hat nie mit script zu tun aber auch egal
-
was hat das connecten mit dem script zu tun garnichts
-
kannst mir mal ip geben bitte
-
Wenn du Server neustartest kannst du dich auch garnicht verbinden
-
kannst mir den schweren weg zeigen?
-
Wenn du eine ältere version besitzt kannst du auf kein 0.3.7 Server verbinden. Du musst einfach dein ganzen gta-ordner auf 0.3.7 updaten dann geht es erst.
-
gibt es nicht ein anderen weg?
-
Es sieht dann jetzt so aus Jeffry
ocmd:Leadererstellen(playerid,params[])
{
if(!isAdmin(playerid,5))return SendClientMessage(playerid,grün,"Du hast keine Berechtigung dazu!");
new pID,fID;
if(sscanf(params,"ui",pID,fID))return
SendClientMessage(playerid,dunkelblau,"INFO: /Leadererstellen [playerid][fraktid]");
if(fID>= sizeof(fInfo))return SendClientMessage(playerid,rot,"Die Fraktion existiert nicht!");
sInfo[pID][fraktion] = fID;
sInfo[pID][rang] = 5;
new string[128];
format(string,sizeof(string),"%s hat Sie zum Leader der Fraktion %s gemacht.",getPlayerName(playerid),fInfo[fID][f_name]);
format(string,sizeof(string),"%s hat Sie zum Leader der Fraktion ernannt. Sie haben nun 5Wochen eine Fraktionssperre!",getPlayerName(playerid));
SendClientMessage(pID,grün,string);
SendClientMessage(pID,grün,"Sollten sie vorher die Fraktion verlassen bekommen sie eine Leaderverwarnung!");
SetPlayerColor(playerid,fInfo[fID][f_color]);
return 1;
} -
Guten Abend.
Ich habe mir heute eine Postkarte aus Las Vegas bekommen und die Tafeln die da sind haben ja so Lauf schriften wie macht man die?
-
Ich habe für die Fraktionsfarben folgendes gemacht:
isPlayerInFrakt(playerid,f_id){
if(sInfo[playerid][fraktion]==f_id)return 1;
return 0;
}public OnPlayerSpawn(playerid)
{
if(!isPlayerInFrakt(playerid,0))
{
new fID;
fID= sInfo[playerid][fraktion];
SetPlayerPos(playerid,fInfo[fID][f_x],fInfo[fID][f_y],fInfo[fID][f_z]);
SetPlayerFacingAngle(playerid,fInfo[fID][f_r]);
SetPlayerInterior(playerid,fInfo[fID][f_inter]);
SetPlayerVirtualWorld(playerid,fInfo[fID][f_world]);
SetPlayerColor(playerid,fInfo[fID][f_color]);
}
return 1;
}Nur das Problem diesmal ist das wenn ich ingame mir selbst Leader einer Fraktion gebe kann ich immer noch mit der Blauen Farbe im Chat schreiben obwohl in fInfo folgendes steht:
new fInfo[][frakteEnum] ={
{"zivi",0.0,0.0,0.0,0.0,0,0,weiß}, //zivi
{"LVPD",2286.9927,2431.6108,10.8203,176.4932,0,0,dunkelblau}, //LVPD
{"SWAT",-2719.8411,-318.3455,7.8438,46.7307,0,0,helblau}, //SWAT
{"FBI",-1606.3145,712.2166,13.8672,14.9407,0,0,duneklhelblau}, //FBI
{"ARMY",245.4032,1859.6956,14.0840,86.8001,0,0,hellgrün}, //ARMY
{"Medic/Feuerwehr",-319.8502,1049.1862,20.3403,351.6078,0,0,rot}, //MEDIC/FEUERWEHR
{"FAHRSCHULE",662.8862,1716.9479,7.1875,37.0085,0,0,orange}, //FAHRSCHULE
{"Aztecas",1531.2836,751.6505,11.0234,265.7675,0,0,türkis}, //Aztecas
{"VAGOS",-2280.8035,2288.0842,4.9590,285.9662,0,0,gelb}, //VAGOS
{"BALLAS",1457.6174,2772.6257,10.8203,263.1655,0,0,pink}, //BALLAS
{"YAKUZA",1956.0493,729.8642,10.8203,106.5192,0,0,grau}// YAKUZA
};ich habe echt kein plan mehr
-
Es geht leider immer noch nicht.
Bekomme immer nur:
SendClientMessage(playerid,orange,"Du hast einen Spieler zum Leader einer Fraktion gemacht!");aber es sollte normal auch:
format(string,sizeof(string),"%s hat Sie zum Leader der Fraktion ernannt. Sie haben nun 5Wochen eine Fraktionssperre! Sollten sie vorher die Fraktionverlassen bekommen sie eine Leaderverwarnung!",getPlayerName(playerid),fInfo[fID][f_name]);
SendClientMessage(pID,grün,string); ausgeben aber passiert nichts