auch ganz sicher richtig eingestellt mit der größe wo mann hinklicken kann? also nicht das das feld über alle 3 geht
//edit teste es malö in dem du eifnach noch ne message mit 1 2 oder 3 je anch slot nochmal nach schickst...
auch ganz sicher richtig eingestellt mit der größe wo mann hinklicken kann? also nicht das das feld über alle 3 geht
//edit teste es malö in dem du eifnach noch ne message mit 1 2 oder 3 je anch slot nochmal nach schickst...
Ich schätze eher das ist von Host
Aber Danke dir Trzprivat server mal getesttet? auf*
auf privat server mal getesttet?
mhhm irgend nen tiemr drinne oder irgend ein befehl...
kann dir da leider dann auch nicht helfen
wann genau crasht der server?
Hey XD und so?
if (strcmp(cmd, "/fill", true) == 0)
{
new veh = GetPlayerVehicleID(playerid);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
for(new i = 0; i < sizeof(TankstellenInfo); i ++)
{
if(IsPlayerInRangeOfPoint(playerid,10.0, TankstellenInfo[i][tsEntranceX], TankstellenInfo[i][tsEntranceY], TankstellenInfo[i][tsEntranceZ]))
{
if(!IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,COLOR_YELLOW, "Du bist in Keinem Fahrzeug:");
return 1;
}
if(IsANoTachoVehicle(veh))
{
SendClientMessage(playerid,COLOR_YELLOW," Ein Fahrrad hat doch keinen Tank.");
return 1;
}
if(IsAtGasStation(playerid))
{
if(PlayerInfo[playerid][pPtankkey] == 0 || GetPlayerMoney(playerid) >= TankstellenInfo[i][tsEntranceCost])
{
if(PlayerInfo[playerid][pPtankkey] != 0)
{
if(TankstellenInfo[i][tsLocked] == 1)
{
SendClientMessage(playerid,COLOR_RED, "Die Tanke hat geschlossen");
return 1;
}
if(TankstellenInfo[i][tsProducts] == 5000)
{
SendClientMessage(playerid,COLOR_RED, "Die Tankstelle hat kein Benzin mehr");
return 1;
}
if(Refueling[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "Du bist gerade am tanken...");
return 1;
}
Refueling[playerid] = 1;
FreezePlayer(playerid);
SendClientMessage(playerid,COLOR_WHITE," Dein Fahrzeug wird betankt, Bitte warten....");
SetTimerEx("Fillup",RefuelWait,0, "ii", playerid, i);
}
}
else
{
GameTextForPlayer(playerid, "~r~Du hast nicht genug Geld", 5000, 1);
}
}
}
}
}
}
else
{
if(IsPlayerInRangeOfPoint(playerid,90.0, 78.8584, -291.3175, 1.5781))
{
new tmpcar = GetPlayerVehicleID(playerid);
new compcost2 = 50;
if(PlayerInfo[playerid][pJob] == 22)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(IsATruck2(tmpcar))
{
if(!IsTrailerAttachedToVehicle(vehicleid))
{
SendClientMessage(playerid, COLOR_RED, "Du hast keinen anhänger dran");
return 1;
}
new typ=GetPlayerHaul(tmpcar);
if(PlayerHaul2[typ][pLoad2] < PlayerHaul2[typ][pCapasity2])
{
new amount;
amount = strval(tmp);
if(amount < 1 || amount > 1500)
{
SendClientMessage(playerid, COLOR_GREY, " Die Menge muss zwischen 1 und 1500 sein !");
return 1;
}
new check= PlayerHaul2[typ][pLoad2] + amount;
if(check > PlayerHaul2[typ][pCapasity2])
{
format(string, sizeof(string), " Du hast das Limit mit %d Benzin erreicht, Benzin: %d.",PlayerHaul2[typ][pCapasity2],PlayerHaul2[typ][pLoad2]);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
new cost = amount*compcost2;
if(GetPlayerMoney(playerid) >= cost)
{
PlayerHaul2[typ][pLoad2] += amount;
format(string, sizeof(string), "Benzin: %d/%d.", PlayerHaul2[typ][pLoad2],PlayerHaul2[typ][pCapasity2]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Du hast %d Benzin für $%d gekauft.", amount,cost);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
GivePlayerMoney(playerid,-cost);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
return 1;
}
else
{
format(string, sizeof(string), "Du kannst nicht %d Benzin für $%d anfordern!", amount,cost);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
return 1;
}
}
else
{
format(string, sizeof(string), "Benzin: %d/%d.", PlayerHaul2[typ][pLoad2],PlayerHaul2[typ][pCapasity2]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
return 1;
}
}
else
{
SendClientMessage(playerid, TEAM_GROVE_COLOR, "Dieses Fahrzeug kann keine Benzin ausliefern.");
return 1;
}
}
}
for(new i = 0; i < sizeof(TankstellenInfo); i ++)
{
if(IsPlayerInRangeOfPoint(playerid,10.0, TankstellenInfo[i][tsEntranceX], TankstellenInfo[i][tsEntranceY], TankstellenInfo[i][tsEntranceZ]))
{
if(!IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,COLOR_YELLOW, "Du bist in Keinem Fahrzeug:");
return 1;
}
if(IsANoTachoVehicle(veh))
{
SendClientMessage(playerid,COLOR_YELLOW," Ein Fahrrad hat doch keinen Tank.");
return 1;
}
if(IsAtGasStation(playerid))
{
if(PlayerInfo[playerid][pPtankkey] == 0 || GetPlayerMoney(playerid) >= TankstellenInfo[i][tsEntranceCost])
{
if(PlayerInfo[playerid][pPtankkey] != 0)
{
//genaute liter anzahl halt
}
}
else
{
GameTextForPlayer(playerid, "~r~Du hast nicht genug Geld", 5000, 1);
}
}
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_YELLOW,"Du bist an keiner Tankstelle!");
}
}
1. bei den befehlen einfach mal nur ne Sendclientmessage reinmachen und nen return wenn dann immer nochn fehler kommt ist das sehr interresant
Hey ...
versuch das mal so?
if (strcmp(cmd, "/fill", true) == 0)
{
new veh = GetPlayerVehicleID(playerid);
tmp = strtok(cmdtext, idx);
if(IsPlayerInRangeOfPoint(playerid,90.0, 78.8584, -291.3175, 1.5781))
{
new tmpcar = GetPlayerVehicleID(playerid);
new compcost2 = 50;
if(PlayerInfo[playerid][pJob] != 22)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(IsATruck2(tmpcar))
{
if(!IsTrailerAttachedToVehicle(vehicleid))
{
SendClientMessage(playerid, COLOR_RED, "Du hast keinen anhänger dran");
return 1;
}
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "FEHLER: /fill [Menge]");
return 1;
}
new typ=GetPlayerHaul(tmpcar);
if(PlayerHaul2[typ][pLoad2] < PlayerHaul2[typ][pCapasity2])
{
new amount;
amount = strval(tmp);
if(amount < 1 || amount > 1500)
{
SendClientMessage(playerid, COLOR_GREY, " Die Menge muss zwischen 1 und 1500 sein !");
return 1;
}
new check= PlayerHaul2[typ][pLoad2] + amount;
if(check > PlayerHaul2[typ][pCapasity2])
{
format(string, sizeof(string), " Du hast das Limit mit %d Benzin erreicht, Benzin: %d.",PlayerHaul2[typ][pCapasity2],PlayerHaul2[typ][pLoad2]);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
new cost = amount*compcost2;
if(GetPlayerMoney(playerid) >= cost)
{
PlayerHaul2[typ][pLoad2] += amount;
format(string, sizeof(string), "Benzin: %d/%d.", PlayerHaul2[typ][pLoad2],PlayerHaul2[typ][pCapasity2]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Du hast %d Benzin für $%d gekauft.", amount,cost);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
GivePlayerMoney(playerid,-cost);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
return 1;
}
else
{
format(string, sizeof(string), "Du kannst nicht %d Benzin für $%d anfordern!", amount,cost);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
return 1;
}
}
else
{
format(string, sizeof(string), "Benzin: %d/%d.", PlayerHaul2[typ][pLoad2],PlayerHaul2[typ][pCapasity2]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
return 1;
}
}
else
{
SendClientMessage(playerid, TEAM_GROVE_COLOR, "Dieses Fahrzeug kann keine Benzin ausliefern.");
return 1;
}
}
}
for(new i = 0; i < sizeof(TankstellenInfo); i ++)
{
if(IsPlayerInRangeOfPoint(playerid,10.0, TankstellenInfo[i][tsEntranceX], TankstellenInfo[i][tsEntranceY], TankstellenInfo[i][tsEntranceZ]))
{
if(!strlen(tmp))
{
if(!IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,COLOR_YELLOW, "Du bist in Keinem Fahrzeug:");
return 1;
}
if(IsANoTachoVehicle(veh))
{
SendClientMessage(playerid,COLOR_YELLOW," Ein Fahrrad hat doch keinen Tank.");
return 1;
}
if(IsAtGasStation(playerid))
{
if(PlayerInfo[playerid][pPtankkey] == 0 || GetPlayerMoney(playerid) >= TankstellenInfo[i][tsEntranceCost])
{
if(PlayerInfo[playerid][pPtankkey] != 0)
{
if(TankstellenInfo[i][tsLocked] == 1)
{
SendClientMessage(playerid,COLOR_RED, "Die Tanke hat geschlossen");
return 1;
}
if(TankstellenInfo[i][tsProducts] == 5000)
{
SendClientMessage(playerid,COLOR_RED, "Die Tankstelle hat kein Benzin mehr");
return 1;
}
if(Refueling[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "Du bist gerade am tanken...");
return 1;
}
Refueling[playerid] = 1;
FreezePlayer(playerid);
SendClientMessage(playerid,COLOR_WHITE," Dein Fahrzeug wird betankt, Bitte warten....");
SetTimerEx("Fillup",RefuelWait,0, "ii", playerid, i);
}
}
else
{
GameTextForPlayer(playerid, "~r~Du hast nicht genug Geld", 5000, 1);
}
}
}
if(strval(tmp)>0)//keine ahnugn oder strlen halt
{
//lieter dann tanken lassen
}
}
}
else
{
SendClientMessage(playerid, COLOR_YELLOW,"Du bist an keiner Tankstelle!");
}
}
dann sollte das schonmal mit dem truck menge gehen also als trucker oder?
//edit sollte nun auch mit /fill Liter gehen
wie wäre es mit mehreren auswahl möglihkeiten?
/fill voll/Liter/Auffuellen
und dies?
stock CreateICName(playerid)
{
if(label[playerid])
{
Delete3DTextLabel(label[playerid]);
}
new nametag[50];
format(nametag, sizeof(nametag), "%s ((ID: %i))",CharInfo[SpielerInfo[playerid][achar]][charname], playerid);
label[playerid] = Create3DTextLabel(nametag, Hellgrau, 30.0, 40.0, 50.0, 15.0, 0);
Attach3DTextLabelToPlayer(label[playerid], playerid, 0.0, 0.0, 0.2);
SendClientMessage(playerid,-1,"Charackter name wurde über dein Kopf gesetzt");
return 1;
}
Kriegt jeder die nachricht dann?
siehst du irgend ein Label con nen anderen bzw. bist du in der virtualen world 0?
Hey 1. wilslt du das immer wenn man /label amcht von allen leuten auf den Server das neu getzt wird?
und evt mach das mal so hier...
stock CreateICName(playerid)
{
if(label[playerid])
{
Delete3DTextLabel(label[playerid]);
}
new nametag[50];
format(nametag, sizeof(nametag), "%s ((ID: %i))",CharInfo[SpielerInfo[playerid][achar]][charname], playerid);
label[playerid] = Create3DTextLabel(nametag, Hellgrau, 30.0, 40.0, 50.0, 15.0, 0);
Attach3DTextLabelToPlayer(label[playerid], playerid, 0.0, 0.0, 0.2);
return 1;
}
You must preload the animation library for the player the actor will be applying the animation for, and not for the actor. Otherwise, the animation won't be applied to the actor until the function is executed again
lässt du die animationen preloaden?
Hey @invictuss
evt. die video reihe hier?
na so
/jobs
dann gibste ihn nen Dialog List
und lässt ihn das dann auswählen
wenn du ein paar denk anstupser brauchst schau in meiner Signaatur da sind hilfreiche videos von mir
@Ferip.
close bitte mal das dann hier also als erledigt markiert danke ;D
Heyho dude
der fehler ist 1 pID musst du setzen nur ein new bedeutet sie ist 0
also immer pID=0
das musst du dann so machen
pID=strval(inputtext)
case DIALOG_FRAKTIONSLEADER:
{
if(response)
{
new pID=strval(inputtext);
if(!isNumeric(inputtext))return SendCLientMessage(playerid,-1,"Gebe bitte zahlen an");
SetPVarInt(playerid,"UserID",pID);
if(Spieler[playerid][pAdmin] < 5)return SendClientMessage(playerid, COLOR_GREY, ERROR_ADMIN);
if(IsPlayerNPC(pID))return 1;
if(pID < 0)return SendClientMessage(playerid, COLOR_GREY, "Ungültige ID");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY, ERROR_OFFLINE);
if(Spieler[pID][pTutorial] > 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist noch im Tutorial.");
ShowPlayerDialog(playerid, DIALOG_FRAKTIONSLEADER1, DIALOG_STYLE_INPUT, "Fraktionsleader ernennen","{33AA33}Fraktionsliste\n"Frak1"\n"Frak2"\n"Frak3"\n"Frak4"\n"Frak5"\n"Frak6"\n"Frak7"\n"Frak8"\n"Frak9"\n{33AA33}Gebe nun die FraktionsID an:","Ändern","Abbruch");
}
}
case DIALOG_FRAKTIONSLEADER1:
{
if(response)
{
if(!isNumeric(inputtext))return SendCLientMessage(playerid,-1,"Gebe bitte zahlen an");
new pID=GetPVarInt(playerid,"UserID"), frakid=strval(inputtext), string[128];
if(frakid == 0)
{
format(string, sizeof(string), "Du hast die Leaderrechte von %s für die Fraktion %s entnommen.", GetName(pID), GetPlayerFraktionName(pID));
SendClientMessage(playerid, COLOR_GREY, string);
format(string, sizeof(string), "%s hat dir die Leadderechte für die Fraktion %s entnommen.", GetName(playerid), GetPlayerFraktionName(pID));
SendClientMessage(pID, COLOR_GREY, string);
Spieler[pID][pFraktion] = 0;
Spieler[pID][pRank] = 0;
SpawnPlayerEx(pID);
SavePlayer(pID);
Spieler[pID][pSkin] = 0;
return 1;
}
if(frakid < 1 || frakid > MAX_FRACS-1)return SendClientMessage(playerid, COLOR_GREY, "Diese Fraktions-ID ist nicht verfügbar.");
Spieler[pID][pFraktion] = frakid;
Spieler[pID][pRank] = RANG_LEADER;
if(Spieler[pID][pGeschlecht] == 1)
{
switch(frakid)
{
case 1: Spieler[pID][pFrakSkin] = 163;
case 2: Spieler[pID][pFrakSkin] = 46;
case 3: Spieler[pID][pFrakSkin] = 70;
case 4: Spieler[pID][pFrakSkin] = 270;
case 5: Spieler[pID][pFrakSkin] = 294;
case 6: Spieler[pID][pFrakSkin] = 8;
case 7: Spieler[pID][pFrakSkin] = 60;
case 8: Spieler[pID][pFrakSkin] = 104;
case 9: Spieler[pID][pFrakSkin] = 186;
}
}
else if(Spieler[pID][pGeschlecht] == 2)
{
switch(frakid)
{
case 1: Spieler[pID][pFrakSkin] = 163;
case 2: Spieler[pID][pFrakSkin] = 12;
case 3: Spieler[pID][pFrakSkin] = 211;
case 4: Spieler[pID][pFrakSkin] = 65;
case 5: Spieler[pID][pFrakSkin] = 191;
case 6: Spieler[pID][pFrakSkin] = 233;
case 7: Spieler[pID][pFrakSkin] = 56;
case 8: Spieler[pID][pFrakSkin] = 13;
case 9: Spieler[pID][pFrakSkin] = 224;
}
}
format(string, sizeof(string), "Du hast %s Leaderrechte für die Fraktion %s gegeben.", GetName(pID), GetPlayerFraktionName(pID));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "%s hat dich zum Leader der Fraktion %s ernannt.", GetName(playerid), GetPlayerFraktionName(pID));
SendClientMessage(pID, COLOR_LIGHTBLUE, string);
SpawnPlayerEx(pID);
SavePlayer(pID);
return 1;
}
}
stock isNumeric(string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if ((string[i] > '9' || string[i] < '0')) return 0;
}
return 1;
}
in welcher reinfolge also erst
du bist eingelog
und dann
du wirst zum tutorial weiter geleitet?
SendClientMessage(playerid, -1, "Du wirst zum Tutorial weitergeleitet.....");
wann kommt die nachricht?
und das tutorial wird dir trotzdem beim einlogen gezeigt ja?
wann spawnt denn der spieler?
new string[250];
format(string,sizeof(string),"ID: %d | Level: %d | Money: %d | Kills: %d | Deaths: %d | Tutorial: %d",PlayerInfo[playerid][p_ID],PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pKills],PlayerInfo[playerid][pDeaths],PlayerInfo[playerid][pTutorial]);
SendCLinetMessage(playerid,string,1);
unter irgend ein befehl ocmd oder...