zeile 40433
public OnPlayerEditAttachedObject(playerid, response, index, e_modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
{
if(GetPVarInt(playerid, "EditingNow") == 1)
{
new i = GetPVarInt(playerid, "EditingSlot");
if(response)
{
dynClothesInfo[playerid][i][cOffsetX] = fOffsetX;
dynClothesInfo[playerid][i][cOffsetY] = fOffsetY;
dynClothesInfo[playerid][i][cOffsetZ] = fOffsetZ;
dynClothesInfo[playerid][i][cRotX] = fRotX;
dynClothesInfo[playerid][i][cRotY] = fRotY;
dynClothesInfo[playerid][i][cRotZ] = fRotZ;
dynClothesInfo[playerid][i][cScaleX] = fScaleX;
dynClothesInfo[playerid][i][cScaleY] = fScaleY;
dynClothesInfo[playerid][i][cScaleZ] = fScaleZ;
}
DeletePVar(playerid, "EditingSlot");
DeletePVar(playerid, "EditingNow");
ReplaceClothing(playerid, i);
}
if(GetPVarInt(playerid, "SelectedItem") == 1 && GetPVarInt(playerid, "EditingNow") == 0)
{
new i = GetPVarInt(playerid, "ItemIndex");
new slot = GetPVarInt(playerid, "FreeSlot");
if(response)
{
OnBuyClothes(playerid, slot, ModelsInfo[i][modelID], ModelsInfo[i][modelBone], fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, fScaleX, fScaleY, fScaleZ);
ACMoney(playerid, -ModelsInfo[i][modelPrice]);
format(clothesmsg, sizeof(clothesmsg), "Du hast dir ein(e) {FFFF00}%s{FFFFFF} f�r {FFFF00}%d${FFFFFF} gekauft.", ModelsInfo[i][modelName], ModelsInfo[i][modelPrice]);
SendClientMessage(playerid, -1, clothesmsg);
dynClothesInfo[playerid][slot][cModelID] = ModelsInfo[i][modelID];
dynClothesInfo[playerid][slot][cBoneID] = ModelsInfo[i][modelBone];
dynClothesInfo[playerid][slot][cOffsetX] = fOffsetX;
dynClothesInfo[playerid][slot][cOffsetY] = fOffsetY;
dynClothesInfo[playerid][slot][cOffsetZ] = fOffsetZ;
dynClothesInfo[playerid][slot][cRotX] = fRotX;
dynClothesInfo[playerid][slot][cRotY] = fRotY;
dynClothesInfo[playerid][slot][cRotZ] = fRotZ;
dynClothesInfo[playerid][slot][cScaleX] = fScaleX;
dynClothesInfo[playerid][slot][cScaleY] = fScaleY;
dynClothesInfo[playerid][slot][cScaleZ] = fScaleZ;
dynClothesInfo[playerid][slot][cOn] = true;
}
else
{
SendClientMessage(playerid, ROT, "Du hast den Kauf diesen Artikels abgebrochen.");
RemovePlayerAttachedObject(playerid, index);
}
DeletePVar(playerid, "SelectedItem");
DeletePVar(playerid, "ItemIndex");
DeletePVar(playerid, "FreeSlot");
}
return 1;
}
Alles anzeigen
ich zeige mal was das macht
zeile 51680 ist switch(status)
zeile 51731 ist auch switch(status)
case D_BUY_CLOTHES:
{
switch(status)
{
case ON_CLOTHES_BUY:
{
if(response)
{
new slot = GetPVarInt(playerid, "FromSlot");
if(listitem != NEXT_PAGE_SLOT)
{
new i = slot + listitem;
new price = ModelsInfo[i][modelPrice];
new freeslot = GetFreeSlot(playerid);
if(GetPlayerMoney(playerid) >= price)
{
if(freeslot != -1)
{
SendClientMessage(playerid, -1, "Bevor du den Gegenstand kaufst, kannst du dir das vorher ansehen und anpassen.");
SendClientMessage(playerid, -1, "Benutze {FFFF00}ESC{FFFFFF} um den Kauf zu stornieren.");
SetPVarInt(playerid, "SelectedItem", 1);
SetPVarInt(playerid, "ItemIndex", i);
SetPVarInt(playerid, "FreeSlot", freeslot);
SetPlayerAttachedObject(playerid, freeslot, ModelsInfo[i][modelID], ModelsInfo[i][modelBone]);
EditAttachedObject(playerid, freeslot);
}
else
{
SendClientMessage(playerid, ROT, "Einkauf fehlgeschlagen, kein leerer Slot zu Verf�gung.");
}
}
else
{
format(clothesmsg, sizeof(clothesmsg), "Du hast nicht gen�gend Geld dabei.", ModelsInfo[i][modelPrice]);
SendClientMessage(playerid, -1, clothesmsg);
}
}
else
{
ShowClothesDialog(playerid, slot + NEXT_PAGE_SLOT);
}
}
else
{
DeletePVar(playerid, "FromSlot");
}
}
}
return 1;
}
case D_CLOTHES:
{
switch(status)
{
case ON_CLOTHES_LIST:
{
if(response)
{
new i = listitem;
if(!dynClothesInfo[playerid][i][cOn])
{
ShowDialog(playerid, D_CLOTHES, DIALOG_STYLE_MSGBOX, "Kleidungen", "- leerer Slot -", "Zur�ck", "", ON_CLOTHES_NONE);
}
else
{
SetPVarInt(playerid, "IndexChose", i);
ClothesEditDialog(playerid, i);
}
}
}
case ON_CLOTHES_NONE:
{
if(response || !response)
{
DisplayClothing(playerid);
}
}
case ON_CLOTHES_CHOSE:
{
if(response)
{
new slot = GetPVarInt(playerid, "IndexChose");
switch(listitem)
{
case 0:
{
EditClothing(playerid, slot);
}
case 1:
{
ShowDialog(playerid, D_CLOTHES, DIALOG_STYLE_LIST, "K�rperbereich ausw�hlen", "R�cken\nKopf\nlinker Oberarm\nrecher Oberarm\nlinke Hand\nrechte Hand\nlinker Oberschenkel\nrechter Oberschenkel\nlinker Fu�\nrechter Fu�\nrechte Wade\nlinke Wade\nlinker Unterarm\nrechter Unterarm\nlinke Schulter\nrechte Schulter\nNacken\nKiefer", "Ausw�hlen", "Zur�ck", ON_CLOTHES_BONE);
}
case 2:
{
PlaceClothing(playerid, slot);
ClothesEditDialog(playerid, slot);
}
}
}
else
{
DisplayClothing(playerid);
}
}
case ON_CLOTHES_BONE:
{
new index = GetPVarInt(playerid, "IndexChose");
if(response)
{
new bone = listitem + 1;
format(clothesmsg, sizeof(clothesmsg), "Du hast das Kleidungsst�ck an den Bereich '%s' positioniert.", GetBoneName(bone));
SendClientMessage(playerid, WEISS, clothesmsg);
dynClothesInfo[playerid][index][cBoneID] = bone;
if(IsPlayerAttachedObjectSlotUsed(playerid, index))
{
ReplaceClothing(playerid, index);
}
ClothesEditDialog(playerid, index);
}
else
{
ClothesEditDialog(playerid, index);
}
}
}
return 1;
}
Alles anzeigen